Я бы еще добавил __set __get что бы избавиться от compact() и писать сразу $view->name = '<artoodetoo>'; $view->list = [1, 2, 3, 4, 5]; $view->render('hello');
Дело вкуса. Мне такой подход не нравится. На мой взгляд ничего кроме лишних букв не добавляется. Кроме того, придется как-то избегать пересечения этих имен с реальными переменными объекта $view. Добавлено немного спустя: Могу предложить магию иного рода. Избавляемся от необходимости делать $view = new Dirk() в каждом экшене каждого контроллера. Вместо этого создадим вреппер-метод в родительском контроллере: Код (PHP): class BaseController { protected function render($name) { $view = new Dirk(параметры); // единственное место где инстанциируется вьюха $view->render($name, get_object_vars($this)); // просто используем поля самого контроллера! } } и в конкретном контроллере Код (PHP): class UserController extends BaseController { public function getIndex() { $this->name = '<artoodetoo>'; $this->list = [1,2,3,4,5]; $this->render('hello'); } public function getItem($id) { ... $this->render('item'); } }
Внезапно обнаружил, что в новом пятом ларавеле тег {{ }} стал по умолчанию эскейпить строку. Теперь в blade три варианта эхо: {{{ }}} эскейп. тег есть, но в доке упоминание о нём пропало. {{ }} скорее всего эскейп (если специально не переопределено) и {!! !!} точно без эскейпа вот так вот взяли и забили на обратную совместимость. зачем?! пользователи PHPStorm должны возмутиться, т.к. новый синтаксис не поддерживается в IDE.
Ну мажорные версии могут без проблем поломать bc, на то и мажорные. А дело это правильное - эскейпинг по умолчанию, ибо это, считай, самое главное преимущество перед чистым PHP.
Категорически не согласен. Написал много текста, потом передумал. Мне почти пофигу, пусть автор Laravel дрочит как хочет. Мне в каких-то моментах придется идти своим путем, но с эхо-тегами я повторю как в пятой лярве.
Какой день хочу попробовать, но не могу найти подходящую причину: в том что пилю сейчас уже есть блейд и пока ничего другого нет даже в планах. Тут нужен небольшой проект, на который нет смысла тянуть фреймворк. У них есть свойство разрастаться и за возможность мигрировать без лишних заморочек шаблоны на ларку тебе просто адский плюс )) Посему ещё пожелание в целях сохранения совместимости: добавить как опцию переключалку на экранирование 4 версии. з.ы. увидел, что настраивается в конфиге. мб его тоже в ридми добавить? )