Пантелеев
Всем привет, я новичок делаю фреймворк(делаю для себя, чтобы понять как все работает), не могу понять такую вещь, есть проект на yii и я там обнаружил modules: admin, user, sites то есть admin предназначен для работы с админкой там хранится директории Controllers, models и.т.д и еще есть frontend часть там так же все разделено, то есть у каждого модуля свой layout, Внимание вопрос как метод render понимает какой layout запускать, куда пихать вьюху ?
вроде в контроллере указан же дефолтный лайаут
Пантелеев
lass PostController extends Controller
{
/**
* @var string the default layout for the views. Defaults to '//layouts/column2', meaning
* using two-column layout. See 'protected/views/layouts/column2.php'.
*/
public $layout='//layouts/column2';
demo user
в модуле
Пантелеев
но эт в любом случае не по теме чата)
demo user
public function beforeControllerAction($controller, $action)
{
if(parent::beforeControllerAction($controller, $action))
{
if(!$controller->layout) {
$controller->layout = 'layouts';
}
return true;
} else {
return false;
}
}
Sergey
Всем привет, я новичок делаю фреймворк(делаю для себя, чтобы понять как все работает), не могу понять такую вещь, есть проект на yii и я там обнаружил modules: admin, user, sites то есть admin предназначен для работы с админкой там хранится директории Controllers, models и.т.д и еще есть frontend часть там так же все разделено, то есть у каждого модуля свой layout, Внимание вопрос как метод render понимает какой layout запускать, куда пихать вьюху ?
я рекомендую тебе не воспринимать наркоманию в Yii как "так надо".
Sergey
там скорее "как получилось"
Sergey
лучше никогда так не делать, пусть шаблон сам решает от кого он наследуется.
Sergey
например - так сделано в twig
Sergey
и тогда никаких дурных идей вроде "а давайте контекст шаблонов будет неявно задаваться просто так потому что мы так решили и больше двух уровней наследования просто так мы давать делать не будем"
Ivan
👍 ненавижу сранную магию, {% extend 'base_layout' %} рулит)
Sergey
явное всегда лучше неявного
Sergey
это нужно повторять как мантру
Sergey
(но ооочень редко неявное лучше)
Kirill
о да, роутинг в yii тоже "замечательно" сделан.
типа "а давйте все url будут в виде controller/action, а если надо по-другому иди напиши свой urlManager"
по крайней мере так было когда я последний раз пытался сделать что-то на yii
Sergey
ну тип того
Sergey
хотя честно признаюсь в 2008-ом выглядело ничаго так
Sergey
для простеньких проектов годилось
Sergey
я ж на yii до 2011-ого писал по сути
Kirill
Sergey
а потом мне показали симфони, я неделю даже сопративлялся - видимо измеения в мозгу уже начались... но вовремя остановился
Kirill
ну это в yii2 так. год назад где-то смотрел
Sergey
в yii1 тож так было
Sergey
хочешь чего-то сложнее CRUD - будь готов переопределять миллион методов потому что из вариантов расширения только гребаное наследование
Sergey
и почему людям так легко впарить трэш...
Пантелеев
Что работал на битриксе все обсирали
Пантелеев
Перешёл на yii тоже самое)
Sergey
пока ты пишешь на php тебя будут обсирать)
Sergey
а потом ты перейдешь на nodejs и тебя будут называть хипстером
Sergey
перейдешь на java - тоже что-нибудь обидное скажут
Sergey
жизнь не справедлива
Пантелеев
Ну ларку например не срут особо)
Пантелеев
Или питон к примеру
Sergey
на ларку то не срут?)
Sergey
не ну как.... ларка последних веток норм
Sergey
но помниться 4-ая версия была таким трэшом
Sergey
а питон он питон
Sergey
он идеален...
Anonymous
да ваще что срать на php? во как 7 в скорости преуспел, а 8 еще в два раза быстрее будет
Sergey
дело не в скорости
Sergey
const User = use('App/Model/User')
class UsersController {
* index (request, response) {
const users = yield User.all()
yield response.sendView('users', { users: users.toJSON() })
}
}
Sergey
вот например
Sergei
Sergey
вот я сверху привел код
Sergey
он работает
Sergey
и нет колбэков
Sergey
и это js
Sergey
https://adonisjs.com/
Sergey
вот сейчас ковыряю - вполне себе милая игрушка
Пантелеев
Пантелеев
`
|`
Пантелеев
Бля))
Sergey
pipe оператор?
Sergey
или что?
Пантелеев
Три косых кавычки
Пантелеев
Для кода
Sergey
а я не использовал?
Пантелеев
code
Пантелеев
А видимо с телефона не помогает
Sergey
ну короч колбэк хэл в nodejs - это уже неправда
Sergey
это скорее по незнанию люди еще так делают
Sergei
Await/async - оно уже production quality?
Sergey
в 2012-ом уже без промисов косо смотрели)
Sergey
в node 7.0 пока за флаом --harmony, неделю до релиза неуспели допилить
Sergey
но в целом вполне себе стабильно работает. Но пока хватает генераторов и корутин
Sergey
единственное что для node пока нет ничего в духе doctrine
Sergey
но если работать под mongodb то может оно и не надо особо
Ale
🐴
Если у меня есть несколько классов, у которых одинаковый тоько конструктор и несколько внутренних членов, которые в этот конструктор передаются как зависимости, стоит ли их делать наследниками общего предка?
Sergei
гм
Sergei
а интерфейс/поведение?
Sergei
ожидается ли у них сколь-нибудь одинаковое поведение?
🐴
Т.е. в предке будет только конструктор и пара протектед членов
🐴
интерфейс ваще разный
🐴
смысл примерно похожий
🐴
но интерфейс выделить нельзя
Sergei
как-то не особо ясно, что мы получим хорошего, если отнаследуемся
🐴
но вот десяток строк кода будет одинаковый