В дополнение ко всем существующим ответам, вот пример:
class Assets{
protected
$queue = array();
public function add($script){
$this->queue[] = $script;
}
public function __toString(){
$output = '';
foreach($this->queue as $script){
$output .= '<script src="'.$script.'"></script>';
}
return $output;
}
}
$scripts = new Assets();
Это простой класс, который помогает вам управлять JavaScript. Вы должны зарегистрировать новые сценарии, позвонив по номеру $scripts->add('...')
.
Затем, чтобы обработать очередь и распечатать все зарегистрированные сценарии, просто наберите print $scripts;
.
Очевидно, что этот класс бессмыслен в этой форме, но если вы реализуете зависимость от активов, управление версиями, проверки на наличие дублирующихся включений и т. Д., Он начинает иметь смысл ( пример ).
Основная идея заключается в том, что основная цель этого объекта - создать строку (HTML), поэтому использование __toString в этом случае удобно ...