Intereting Posts

Преимущества PHP для цепочки?

Все еще на обучающих колесах PHP-OOP этот вопрос может принадлежать на failblog.org . знак равно

Каковы преимущества цепочки методов в PHP?

Я не уверен, что это важно, но я буду ставить статический метод. например

$foo = Bar::get('sysop')->set('admin')->render(); 

Из того, что я прочитал, любой метод, который возвращает $this разрешен к прикованному. Я только что узнал, что это новое в PHP5. Кажется, что могут быть быстрые выгоды, если мне не нужно создавать новый объект (его статически ставить) и просто выбрать несколько методов, которые мне нужны из класса?

У меня есть это право?

Не существует существенных преимуществ при использовании любого подхода, особенно на производственном сервере с байтом кеш-кода.

Цепочка метода – это всего лишь более короткий способ писать вещи. Сравните с более длинной версией:

 $foo = Bar::get('sysop'); $foo -> set('admin'); $foo -> render(); 

Однако у него есть некоторые причуды: типичная среда IDE (например, Eclipse) может автоматически заполнить ваш код в более длинной версии (пока известен тип $foo ), но вам нужно документировать возвращаемый тип всех методов для работайте в короткой версии.

Он все еще создает объект; он просто не привязан к переменной. В принципе, вы просто вызываете методы анонимного объекта.

Я думаю, что любая экономия цикла будет незначительной, но я думаю, что неназначенные объекты будут освобождены сразу после этой строки кода, поэтому у вас может быть некоторая экономия памяти (вы могли бы сделать то же самое, установив назначенные объекты в null когда вы закончите с их).

Основная причина, по которой люди используют цепочку методов для удобства; вы делаете много в одной строке кода. Лично я считаю, что это беспорядочно и неподвластно.

если мне не нужно создавать экземпляр нового объекта (его статически ставить) и просто выбрать несколько методов, которые мне нужны из класса?

Неправильно! Чтобы вернуть $this , класс должен быть создан.