Вопросы по теме 'magic-methods'
Волшебный метод PHP 5.3 __invoke
Эта тема расширяется на Когда делать/следует Я использую __construct(), __get(), __set() и __call() в PHP? , которые говорят о магических методах __construct , __get и __set .
Начиная с PHP 5.3 появился новый магический метод под названием...
26755 просмотров
schedule
01.04.2022
Практическое применение магических методов PHP — __get, __set и __call
Обычно я старался держаться подальше от магических методов PHP, потому что они, похоже, запутывают открытый интерфейс объекта. Тем не менее, они, кажется, используются все больше и больше, по крайней мере, в коде, который я читал, поэтому я должен...
4244 просмотров
schedule
08.04.2023
PHPDoc и __callStatic
tl;dr
Как правильно аннотировать (в PHPDoc) функции, реализованные через __callStatic ? Что еще более важно: есть ли способ заставить NetBeans и PHPStorm понять, что это статические методы?
Мотивация
Если вам нужна более широкая картина,...
6514 просмотров
schedule
24.01.2023
Лучшая практика: магические методы PHP __set и __get [дубликаты]
Возможный дубликат: Являются ли магические методы лучшей практикой в PHP?
Это простые примеры, но представьте, что в вашем классе больше двух свойств.
Что было бы лучшей практикой?
а) Использование __get и __set
class MyClass...
122652 просмотров
schedule
31.05.2023
Использование PDO::FETCH_CLASS с магическими методами
У меня есть класс, который использует магические методы для хранения свойств. Вот упрощенный пример:
class Foo {
protected $props;
public function __construct(array $props = array()) {
$this->props = $props;
}
public...
6680 просмотров
schedule
06.12.2022
Как создать магические методы в Objective C
Я пытаюсь разработать набор магических методов findByX в общем классе Model , который в конечном итоге будет выполнять запросы к Core Data с использованием объектов NSPredicate :
(id)findByName;
(id)findByCreated;
...
Следуя...
454 просмотров
schedule
01.07.2022
Вызвать __get() для защищенных свойств с оператором -›?
Моя команда использует методы ленивой загрузки для загрузки подобъектов из нашей базы данных. Для этого мы используем волшебный метод __get() и делаем вызов базы данных. Все наши свойства защищены, поэтому метод __get вызывается извне объекта, но...
856 просмотров
schedule
17.01.2023
Запутанный вызов класса и метода в OpenCart
У меня есть класс контроллера фреймворка (OpenCart) (например: catalog/controller/product/product.php), код выглядит так:
class ControllerProductProduct extends Controller {
public function index() {
//some code...
1749 просмотров
schedule
01.07.2023
__isset не возвращает правильный результат
Я пытаюсь связать объекты вместе, используя волшебные функции php.
У меня есть абстрактный класс page, и каждая страница моего веб-сайта расширяет этот класс. В этом конструкторе абстрактного класса я пытаюсь получить пользовательский объект...
81 просмотров
schedule
05.01.2023
PHP - Защищенное свойство недоступно из того же класса библиотеки Zend 1, поэтому используется магия __set() и возникают ошибки
Приложение, которое я создаю, запускается локально, но на промежуточном сервере появляются флаги:
Zend_Form_Exception: Invalid attribute "_name"; must not contain a leading underscore
Проблема связана со строкой 500 файла...
237 просмотров
schedule
06.02.2023
Словарь Python plus-equal поведение
Я пытаюсь понять точный механизм обновления словаря Python с помощью d[key] += diff . У меня есть несколько вспомогательных классов для отслеживания вызовов магических методов:
class sdict(dict):
def __setitem__(self, *args, **kargs):...
9300 просмотров
schedule
08.05.2022
Почему явные вызовы магических методов медленнее, чем засахаренный синтаксис?
Я возился с небольшим пользовательским объектом данных, который должен быть хэшируемым, сопоставимым и быстрым, когда я столкнулся со странным набором результатов синхронизации. Некоторые сравнения (и метод хеширования) для этого объекта просто...
420 просмотров
schedule
06.12.2023
Как лучше всего справиться с ненайденными случаями магических методов PHP?
Иногда вы используете магические методы PHP, чтобы разрешить доступ только к некоторым определенным свойствам/методам, и не хотите раскрывать использование магических методов для этого в случаях ошибок.
Примеры:
__get или __set , которые...
51 просмотров
schedule
30.06.2023
Почему добавление метода __new__ в мой класс вызывает исключение TypeError: object.__new__ не принимает аргументов?
У меня есть класс, который принимает некоторые аргументы конструктора, например:
class Works:
def __init__(self, x):
pass
Этот класс отлично работает; Я могу позвонить Works(5) без проблем.
Однако добавление метода __new__...
61 просмотров
schedule
29.10.2022
__instancecheck__ - перезапись не дает результата - что я делаю не так?
Я пытаюсь сделать так, чтобы мой класс отображался как другой объект, чтобы обойти ленивую проверку типов в пакете, который я использую. В частности, я пытаюсь сделать так, чтобы мой объект отображался как экземпляр другого объекта (в моем случае...
1040 просмотров
schedule
07.09.2022
Как отличить свойство, устанавливаемое с помощью ___setattr__ внутри класса и вне класса?
Есть ли способ в __setattr__() различать атрибут, установленный внутри класса или дочернего/наследующего класса, и атрибут, установленный вне текущего или дочернего класса?
Я хочу изменить то, как установка атрибутов работает «извне», в моем...
81 просмотров
schedule
08.01.2023
Сопрограммы в магических методах?
скажем, у меня есть волшебный метод в Python 3.6, например:
def __str__(self):
return 'a {self.color} car'.format(self=self)
Теперь я хочу добавить в него сопрограмму, что-то вроде:
async def __str__(self):
await...
526 просмотров
schedule
16.06.2023
Python, как печатать полный стек, включая используемые магические методы (дандер-методы)?
Я пытаюсь отладить встроенный класс Python. Моя отладка привела меня в область магических методов (методов Дандера).
Я пытаюсь выяснить, какие методы dunder вызываются, если таковые имеются. Обычно я бы сделал что-то вроде этого:
import sys...
200 просмотров
schedule
03.07.2022
python: изменить элементы магических методов, влияющих на операторы [дубликаты]
Я пытаюсь просто для тренировки создать объект python, который может содержать число с произвольными десятичными знаками. Все работает нормально, но у меня проблемы с взаимодействием объекта с математическими операторами. Вот как вы можете...
70 просмотров
schedule
24.10.2023