Автор оригинала: David Wong.
В этой статье в основном рассматривается MVC в Yii2. Конечно, основная идея та же, что и у Yii1.1, но сегодня я хочу посмотреть, чем MVC в Yii2 отличается от Yii1.1, или напрямую, в чем заключается улучшение Yii2, чтобы власти осмелились атаковать лучшую цель PHP-фреймворка!
Больше никаких глупостей. Давайте взглянем на три части MVC:
Модель:
Модели в Yii наследуются от yii\база\Модель L, который обычно используется для хранения данных и установки некоторых определенных правил ()) для этих данных. Каждый класс модели на самом деле часто связан с несколькими основными классами (например, Активная запись ) В сочетании, в Yii2, Активная запись Я также удивлен улучшениями. В будущем я собираюсь написать статью о Yii2. Активная запись 。
В каждой модели атрибуты и метка атрибутов На самом деле, это похоже на Yii 1.1, но что меня особенно радует, так это то, что в Yii2, помимо функций rules (), есть сценарии() Функция для улучшения проверки модели Yii2. правила() Функции конкретно действуют как каждая из моделей атрибуты Проверка фильтрации и сценарии() Какой из них может быть объявлен в соответствии с потребностями различных сценариев атрибуты Что здесь означает безопасность; давайте рассмотрим следующие примеры:
В этом примере поле пароля Он назначен только для сценариев регистрации в модели, поэтому речь идет о пароле Аутентификация работает только в сценарии регистрации, что лично я считаю потрясающим обновлением модели Yii2, потому что создание этого механизма позволяет нам разрабатывать некоторые из них одновременно. атрибуты Проверка и распространение формы обеспечивают более гибкий контроль, что значительно улучшает наш дизайн и разработку приложений для удобства использования форм и сценариев.
Распределение нескольких атрибутов также немного изменилось, как мы делали в Yii 1.1:
if (isset($_POST['userModel']))
{
$model->attributes = $_POST['userModel'];
}
В Yii2 вам просто нужно:
$model->load($_POST);
Ключевым моментом здесь является то, что функция load () автоматически проверяет $model->имя формы(). Индекс $_POST определенный
Просмотры
Есть также незначительные изменения в представлениях Yii2, наиболее очевидным из которых является функция render () , теперь она будет возвращать значение вместо выходного значения, такого как Yii 1.1, например:
public function actionIndex()
{
$models = Posts::find()->all();
echo $this->render('index', array('models' => $models));
}
Видишь? визуализация Контент теперь можно использовать напрямую echo Приходите и выводите, что бы ни случилось (более подробно будет объяснено в разделе Контроллера ниже). Еще один момент заключается в том, что Yii2 также имеет официальные расширения для поддержки некоторых распространенных движков шаблонов, таких как: smarty , twig И так далее. Благословенны вы, кому нравятся эти шаблонизаторы.
Еще одна вещь, которую стоит отметить в отношении представлений, заключается в том, что $эта Переменная, в Yii 1.1, $это Можно сказать, что он является посредником, связывающим контроллер и представления; в Yii2 $это означает yii\web\View Компоненты, что позволяет нам устанавливать некоторые полезные атрибуты представлений в представлении, такие как: заголовок страницы, мета и т. Д., И даже сценарий JS регистрации в порядке. Есть ли очень интуитивное ощущение, например, написание собственного html, какое название я хочу, это круто?
Контроллеры
Во-первых, взгляните непосредственно на код:
render('index');
}
public function actionTest()
{
// Print "test" string only in browser, cool
return 'test';
}
}Вы видели это здесь? использовать yii\веб\Контроллер Да, Yii2 полностью начал использовать пространства имен PHP. Когда я был в Yii1.1, я всегда слышал, что Yii2 будет использовать более продвинутые функции PHP для полной перезаписи. Конечно же, комплимент. И теперь в контроллере каждый вывод возвращается, как и выше. тест на действие() Итак, теперь вы можете полностью вернуться к строке. Есть ли какие-нибудь следы Ларавеля? Тем не менее, вам достаточно распознать эти новые функции в контроллере Yii2, потому что некоторые из более простых вещей такие же, как у Yii1.1, так что совсем не бойтесь (Я имею в виду, если вы когда-либо работали с Yii1.1).
Напишите в конце
Как вы можете видеть в этой статье, почти все изменения в компонентах MVC в Yii2 делают Yii2 более полезным. Я считаю, что это даст разработчикам лучший опыт разработки. В конце концов, Yii2 видит след элегантности! Итак, вы все еще беспокоитесь о том, с какого фреймворка PHP вам следует начать. Пожалуйста, не стесняйтесь. Yii2-отличный выбор. Сумасшедший здесь: http://www.yiiframework.com/
[Оригинал с] http://www.jellybool.com/post/yii2 -mvc-компоненты
Оригинал: “https://developpaper.com/new-mvc-characteristics-of-yii2/”