У меня есть много моделей в моем приложении. Каждая модель имеет определенную разметку, которая используется в бесчисленных местах. Например, моя User
модели имеет атрибут profile_link
, который определяется следующим образом:Laravel способ писать повторно используемые фрагменты представления
class User extends Model {
/*
* Returns the anchor tag to the users profile.
*/
public function getProfileLinkAttribute() {
// This particular markup is simple. In the actual code, the HTML
// is more complex, containing user's profile image etc.
return '<a href="' . url($this->id) . '">' . $this->name . '</a>';
}
}
Есть много таких аксессоров для многих моделей, которые возвращают подобные фрагменты кода. Проблема с этим подходом заключается в том, что он заставляет меня писать HTML-разметку внутри модели. Есть ли стандартный способ приблизиться к этому?
Вы можете исследовать 'presenters', это позволит вам иметь' BasePresenter '. Другим вариантом также являются html-макросы. – user2094178