Я играю с PHP5 и цепочкой методов, следуя нескольким примерам StackOverflow. Я хотел бы настроить общий метод show (), способный печатать только требуемое свойство, см. Пример: <?php class testarea{ public function set_a(){ $this->property_a = 'this is a'.PHP_EOL; return $this; } public function set_b(){ $this->property_b = 'this is b'.PHP_EOL; return $this; } public function show(){ echo […]
Все еще на обучающих колесах PHP-OOP этот вопрос может принадлежать на failblog.org . знак равно Каковы преимущества цепочки методов в PHP? Я не уверен, что это важно, но я буду ставить статический метод. например $foo = Bar::get('sysop')->set('admin')->render(); Из того, что я прочитал, любой метод, который возвращает $this разрешен к прикованному. Я только что узнал, что […]
Я использую PHP 5, и я слышал о новом признаке в объектно-ориентированном подходе, называемом «цепочка методов». Что это такое? Как его реализовать?
Я хотел бы знать, есть ли способ связать методы на вновь созданном объекте в PHP? Что-то вроде: class Foo { public function xyz() { … return $this; } } $my_foo = new Foo()->xyz(); Кто-нибудь знает, как это достичь?
Можно ли объединить статические методы вместе, используя статический класс? Скажем, я хотел сделать что-то вроде этого: $value = TestClass::toValue(5)::add(3)::subtract(2)::add(8)::result(); , , , и, очевидно, я бы хотел, чтобы $ value было присвоено число 14. Возможно ли это? Обновление : оно не работает (вы не можете вернуть «я» – это не экземпляр!), Но именно здесь мои […]
У меня вопрос о ООП в PHP5. Я видел все больше и больше кода, написанных так: $object->function()->first(array('str','str','str'))->second(array(1,2,3,4,5)); Но я не знаю, как создать этот метод. Надеюсь, кто-то может мне помочь здесь: 0) большое спасибо.
У меня есть следующий код, <?php class Templater { static $params = array(); public static function assign($name, $value) { self::$params[] = array($name => $value); } public static function draw() { self::$params; } } $test = Templater::assign('key', 'value'); $test = Templater::draw(); print_r($test); Как я могу изменить этот скрипт, чтобы использовать его? $test = Templater::assign('key', 'value')->assign('key2', 'value2')->draw(); […]