Описание тега 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, и это кажется хорошим. Завершение кода и документация - отличная возможность, но у меня не получается, когда используются …
26 мар '13 в 09:54
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…
29 апр '14 в 16:09
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 поле Как я могу создать такую функцию? Пожалуйста, помогите мне в этом случае…
26 фев '15 в 04:50
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…
13 апр '10 в 18:02
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