Описание тега magic-methods

Магические методы неявно вызываются языком программирования при использовании некоторого события или языковой конструкции.
4 ответа

Как напечатать __repr__ в файле Python3? (не в оболочке)

Я знаю, что в Python Shell, когда вы печатаете >>> object это показывает object.__repr__ метод, и если вы печатаете >>> print(object) это показывает object.__str__ метод. Но мой вопрос, есть ли короткий способ напечатать __repr__ в…
11 ноя '16 в 21:58
1 ответ

Не удается найти определение функции класса Event Observer в Magento

Для любого, кто видел / использовал Magento, скажите, пожалуйста, где я могу найти следующие 3 определения функции класса Event Observer действия сохранения продукта каталога:- setBundleOptionsData() setBundleSelectionsData() setCanSaveBundleSelecti…
24 июн '10 в 11:20
1 ответ

PHP: цепочка '__invoke's'$this'вызывает ошибку синтаксического анализа

Я использую PHP 5.5.9 и получаю ошибку разбора, которую я не знаю, как ее решить. Вот чрезвычайно надуманный пример техники, которую я пытаюсь использовать: <?php class NumberDisplayer { var $numbers = []; function __invoke($n) { array_push($this…
27 мар '14 в 05:33
1 ответ

Почему functools.lru_cache не кэширует __call__ при работе с обычными методами

Я пытался сделать functools.lru_cache конкретный экземпляр, как описано в этом ответе, но их решение не удается при использовании на __call__ метод. class test: def __init__(self): self.method = lru_cache()(self.method) self.__call__ = lru_cache()(s…
22 ноя '18 в 02:38
2 ответа

Как документировать магические (_call и _callStatic) методы для IDE

После многих счастливых лет написания кода в notepad++ и возвышенном, мне посоветовали попробовать PHP IDE. Я пробую phpStorm, и это кажется хорошим. Завершение кода и документация - отличная возможность, но у меня не получается, когда используются …
2 ответа

__get не вызывается, если __set не вызывается, однако код работает?

Вот мой код: <?php class SampleClass { public function __get($name){ echo "get called"; echo $name; } public function __set($name, $value) { echo "set called"; } } ?> И мой индексный файл: $object = new SampleClass(); $object->color = "blac…
28 янв '13 в 21:28
3 ответа

Как сделать список объектов? Экземпляр не имеет атрибута __getitem__

Я новичок в Python и в ООП в целом. У меня ошибка "...instance has no attribute '__getitem__'"и я понимаю, что созданный мной объект не является списком. Как я могу сделать, чтобы быть объектом списка. Вот файл класса: #!/usr/bin/python -tt import m…
19 июл '12 в 14:46
3 ответа

Как сделать так, чтобы существующие функции в модуле math и numpy поддерживали определяемые пользователем объекты?

Я определил класс, который я хотел бы основные операции, такие как +, -и даже более сложные математические операции, такие как sin поддерживать. То есть мне нужно определить некоторые новые правила для этих основных операторов и математических функц…
12 фев '17 в 01:35
2 ответа

Получение питонов __set__ работает

Я просто хотел использовать шаблон дескриптора, но, похоже, он работал не так хорошо. Вот краткий пример (без реального использования, просто чтобы показать): class Num(object): def__init__(self, val=0): self.val = val def __get__(self, instance, ow…
20 ноя '14 в 00:05
1 ответ

How to make Python 2's __getitem__ work on a class?

How do I make item access ie. __getitem__available on a class object in Python 2.x? Я пробовал: class B: @classmethod def __getitem__(cls, key): raise IndexError тестовое задание: B[0] # TypeError: 'classobj' object has no attribute '__getitem__' pr…
2 ответа

Какова реальная цель магического метода __set_state в PHP?

Я изучаю магические методы, читаю каждый сайт, беру каждый пример, но для меня ничего не имеет смысла. Примеры как это: class A { public $var1; public $var2; public static function __set_state($an_array) // As of PHP 5.1.0 { $obj = new A; $obj->v…
27 сен '17 в 07:32
2 ответа

PHP: связь между __isset() и __get()

Недавно у меня было короткое обсуждение с другим разработчиком об отношениях между PHP __isset() а также __get() магические методы. Это было вызвано тем классом, который у нас есть, который лениво загружает другие объекты через __get() метод (отложе…
05 мар '12 в 14:03
3 ответа

Codeigniter не позволит мне назвать модель из модели, это правда

Так что я часами пытался заставить это работать, но не смог! У меня есть базовая модель, которая загружает другие модели. Эти другие модели во время своей функции построения ссылаются на некоторые переменные из базовой модели. Например: Модель польз…
05 май '13 в 20:17
3 ответа

Как вызвать методы класса, которые не существуют в php?

Я просто хочу создать функцию так же, как getFieldname() это в пурпурном. Например: В мадженто getId() - возвращает значение ID поле getName() - возвращает значение Name поле Как я могу создать такую ​​функцию? Пожалуйста, помогите мне в этом случае…
0 ответов

Вызывать метод каждый раз, когда другие методы вызываются?

Я использую __call() чтобы сделать это, но это нарушает видимость метода, я должен объявить методы, которые будут иметь автоматические вызовы с protected или же private видимость. Например: <?php class test { public function __call($method,$argum…
07 ноя '18 в 06:11
2 ответа

Использование магического метода __set() с двумерными массивами

Если у меня есть следующий класс реестра: Class registry { private $_vars; public function __construct() { $this->_vars = array(); } public function __set($key, $val) { $this->_vars[$key] = $val; } public function __get($key) { if (isset($this…
1 ответ

Как заставить PHP Magic __set работать как естественная переменная?

По сути, я хочу создать класс с именем Variables, который использует сеансы для хранения всего, что в нем, что позволяет мне быстро получать и хранить данные, которые необходимо использовать по всему сайту, без непосредственной работы с сеансами. Пр…
15 май '10 в 05:01
3 ответа

Методы PHP __get __set

class Dog { protected $bark = 'woof!'; public function __get($key) { if (isset($this->$key)) { return $this->$key; } } public function __set($key, $val) { if (isset($this->$key)) { $this->$key = $val; } } } Какой смысл использовать эти ф…
19 июл '11 в 02:18
1 ответ

Проверить, является ли что-то атрибутом или декоратором в python

Я хочу обернуть модельный класс унаследованной кодовой базы. Класс модели имеет словарь с метаинформацией и свойствами, которые обращаются к этому словарю, а также к атрибутам. Я хочу унифицировать доступ к метаинформации, свойствам и атрибутам с по…
23 апр '13 в 12:57
0 ответов

Волшебный метод Python, когда переменная используется в качестве словарного ключа

Какой магический метод Python используется для получения значения, когда переменная используется в качестве словарного ключа. dictionary[variable] словарь - случайный словарь, переменная - что-то вроде int (мой собственный класс) Когда я использую п…
23 окт '18 в 21:34