140просмотров
20 февраля 2025 г.
📷 ФотоScore: 154
Joomla-разработчикам: обращение к методам модели в HtmlView напрямую Когда-то, давным-давно в одной далёкой галактике кто-то решил, что что было бы неплохой идеей ввести косвенный доступ к методам модели (MVC) для получения данных, добавив метод AbstractView::get(). Этот метод извлекает модель и затем запускает get<Parameter>(). Простыми словами, когда мы во View (файл HtmlView нашего компонента) видим конструкцию &#036;this->item = &#036;this->get('Item') это означает обращение к методу getItem() модели для текущего View. Но такой подход исключает любую возможность подсказки типов, аргументов и т. д. и делает все излишне сложным. Поэтому разработчики ядра Joomla объявили этот метод устаревшим с этим PR 44162. Новый способ выглядит так: // Файл HtmlView компонента public function display(&#036;tpl = null) { &#036;model = &#036;this->getModel(); &#036;this->items = &#036;model->getItems(); parent::display(&#036;tpl); } Старый подход (то есть метод get() во View) будет удалён в Joomla 7. Памятуя о релизном цикле Joomla, это означает, что: 1️⃣ осенью 2025г выйдет Joomla 6. 2️⃣ 2 года она будет основной веткой. Joomla 5 будет в режиме поддержки 3️⃣ через 2 года, в 2027 выйдет Joomla 7, в которой будет удалён этот метод. 4️⃣ но Joomla 6 будет ещё 2 года в режиме тех.поддержки и в ней (до 2029 года) этот метод останется. Таким образом у разработчиков есть от 2,5 до 4,5 лет (на момент написания этого поста) на то, чтобы сделать этот рефакторинг. 👩‍💻👩‍💻 [5.3] Deprecate AbstractView::get() #44162 @webtolkru #joomla #разработка #php #webdev
140
просмотров
1610
символов
Нет
эмодзи
Да
медиа

Другие посты @jpathru

Все посты канала →
Joomla-разработчикам: обращение к методам модели в HtmlView — @jpathru | PostSniper