Da es bei Yii1.1 so viele Unzufriedenheiten gab und ich sah, wie Yii2 Tag für Tag reifte, stellte ich eine Prototypenphase eines kleinen Projekts zusammen und versuchte, Yii2 zu verwenden.
Ich habe gerade einige Erfahrungen aufgeschrieben. Aus der Perspektive eines Yii1-Facharbeiters, der Yii2 betrachtet, werde ich sie kurz beschreiben. (Zu diesem Artikel können in Zukunft jederzeit Ergänzungen hinzugefügt werden)
- Die Standardvorlage verwendet Bootstrap, was sehr schön ist.
- Die Konfigurationsdateien der Basisversion und der erweiterten Version sind unterschiedlich. In der Basisversion gibt es web.php, letzteres jedoch nicht.
- So stellen Sie die Anzeige auf Chinesisch ein: Fügen Sie in config/web.php eine Zeile „Language“=>„zh-CN“ hinzu. Dann wurde Home zu Homepage und Powered by Yii Framework wurde zu Technical Support Yii Framework.
- Verwenden Sie gii, um das Modell zu generieren. Ich habe „Tabellenpräfix verwenden“ aktiviert. Die Funktion „tableName()“ des generierten Modells gibt {{%menu}} zurück. Wenn diese Option nicht aktiviert ist, wird der vollständige Name des Tabellennamens zurückgegeben, z. B. ssn_menu
- Viele Funktionen wurden zu models/user.php hinzugefügt, was viel praktischer ist.
- Verwenden Sie in Modellen und Controllern überall [ ... ] anstelle von array(...), was viel schöner und erfrischender ist.
- Die entsprechende URL von LibCrudController lautet ?r=lib-crud
- Versuchen Sie zunächst, den Benutzer-Anmeldeteil anzupassen. . http://www.yiichina.com/tutorial/332
- Beginnen Sie mit CRUD (ab 20:20)
- User::find()->all() anstelle von User::model()->findAll()
- Um auf den Benutzer in _form.php zu verweisen, müssen Sie zunächst die Verwendung von appmodelsUser;
deklarieren
- Um ArrayHelper in der Ansichtsdatei zu referenzieren, müssen Sie zunächst die Verwendung von yiihelpersArrayHelper;
deklarieren
- In Yii v1.1 waren für das Dateneingabeelement drei Zeilen erforderlich, hier ist jedoch nur eine Zeile erforderlich:
= $form->field($model, 'name1')->textInput(['maxlength' => true]) ?>
- Die von gii generierte CRUD-Schnittstelle ist viel eleganter und schöner, und die Eingabeaufforderungsinformationen sind automatisch auf Chinesisch (dies sollte GridView zu verdanken sein)
- User::findOne($user_id); ist nicht dasselbe wie das unten. Dies gibt einen Datensatz zurück. Ich weiß nicht, was das Folgende ist.
$user=User::find()->where(['id' => $id]);
- My.css hinzufügen: Fügen Sie zuerst my.css in web/css und dann in asset/AppAsset.php hinzu
public $css = [
'css/site.css',
'css/my.css',
];
- JS-Datei einfügen: $this->registerJsFile("js/start.js"); Wenn Sie sich auf jquery verlassen, funktioniert dies offensichtlich nicht und es wird angezeigt, dass $ nicht gefunden werden kann.
- https://segmentfault.com/a/1190000003742452 Hier ist es sehr klar. Mehrere Optionen. Der Plan zur Änderung von asset/AppAsset.php wurde angepasst. Einer der wichtigsten Punkte ist (siehe Fettschrift): AppAsset::addScript($this,'@web/js/start.js');
- Es gibt eine coole Debug-Symbolleistenschaltfläche unten rechts auf der Seite. Wenn Sie darauf klicken, wird eine horizontale Statusleiste angezeigt.
- index.php?r=site/index in der Adressleiste wird zu index.php?r=site/index
-
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn