У меня есть следующий код:
class Page extends APage{
/**
* @findby selector
*/
protected $property
public function getPropertyCount(){
count($this->property);
}
}class APage{
protected function initPropertyByAnnotation(){
}
}
Я использую селен с php, в селен вы выбираете элемент с селектором.
Я хочу, чтобы родительский класс обнаружил обращение к свойству childs, чтобы я мог обработать фактический выбор.
Я думал, что это возможно с помощью магического метода __get, но оказывается, что он срабатывает только тогда, когда свойство не определено.
Есть ли способ обнаружить вызов каким-либо образом без использования вспомогательного метода, такого как getProperty?
Вы можете использовать __get()
функция, изменяющая область вашей собственности на частный.
Как сказано в документации:
__get () используется для чтения данных из недоступных свойств.
public function __get($field) {
if ($field == 'property') { //the name of your property
//do something that you want
}
}
Других решений пока нет …