yii2實戰(zhàn)教程之新手入門指南-簡單博客管理系統(tǒng),yii2新手入門_PHP教程
Jul 12, 2016 am 08:50 AMyii2實戰(zhàn)教程之新手入門指南-簡單博客管理系統(tǒng),yii2新手入門
1、簡介
快速入門指南會對Yii2框架做一個基本介紹,包括數(shù)據(jù)庫遷移、gii操作、AR模型、路由、驗證、視圖等等。如果你是個Yii2新手甚至之前對PHP框架也很陌生,那么這里將會成為你的良好起點。如果你已經(jīng)使用并且掌握了Yii2框架基礎(chǔ),可以期待Yii2高級篇教程(后面我會更新)。
為了演示Yii2特性的基本使用,我將會帶領(lǐng)大家構(gòu)建一個簡單的博客管理系統(tǒng)。
本教程完整的代碼后期會公開于github上。
2、安裝
我們前面寫過關(guān)于Yii2完整版的安裝教程,你可以點擊進行參考,這里只做步驟,不再做必要的講解。
composer <span>global</span> <span>require</span> "fxp/composer-asset-plugin:~1.1.1"<span> composer create</span>-project yiisoft/yii2-app-advanced advanced 2.0.8<span> cd advanced php init<br /></span>
#之后構(gòu)建本地環(huán)境,我們配置advanced.dev指向frontend/web目錄
3、準備好數(shù)據(jù)庫
在開發(fā)和維護一個數(shù)據(jù)庫驅(qū)動的應(yīng)用程序時,數(shù)據(jù)庫的結(jié)構(gòu)會隨代碼的改變而改變。例如,在開發(fā)應(yīng)用程序的過程中,會增加一張新表且必須得加進來; 在應(yīng)用程序被部署到生產(chǎn)環(huán)境后,需要建立一個索引來提高查詢的性能等等。 因為一個數(shù)據(jù)庫結(jié)構(gòu)發(fā)生改變的時候源代碼也經(jīng)常會需要做出改變,Yii 提供了一個 數(shù)據(jù)庫遷移 功能,該功能可以記錄數(shù)據(jù)庫的變化, 以便使數(shù)據(jù)庫和源代碼一起受版本控制。
在本例中,我們使用yii migrate
命令生成博客 blog 對應(yīng)的數(shù)據(jù)表遷移:
yii migrate/create create_blog_table
該命令生成的遷移文件位于 advanced\console\migrations 目錄,可能你已經(jīng)注意到了,yii migrate 命令已經(jīng)在遷移文件中為我們添加了主鍵ID和表名,接下來我們要編輯該文件修改表名以及添加更多的列到數(shù)據(jù)表blog:
<?<span>php </span><span>use</span><span> yii\db\Migration; </span><span>/*</span><span>* * Handles the creation for table `blog_table`. </span><span>*/</span> <span>class</span> m160525_153315_create_blog_table <span>extends</span><span> Migration { </span><span>/*</span><span>* * @inheritdoc </span><span>*/</span> <span>public</span> <span>function</span><span> up() { </span><span>$this</span>->createTable('blog',<span> [ </span>'id' => <span>$this</span>->primaryKey(), 'title' => <span>$this</span>-><span>string</span>(100)->notNull()->defaultValue(''), 'content' => <span>$this</span>->text(), 'create_time' => <span>$this</span>->datetime(),<span> ]); } </span><span>/*</span><span>* * @inheritdoc </span><span>*/</span> <span>public</span> <span>function</span><span> down() { </span><span>$this</span>->dropTable('blog'<span>); } }</span>
運行遷移之前,我們先把數(shù)據(jù)庫配置一番,打開common\config\main-local.php文件,我們看到components下面的db配置,參考如下配置就好
'components' =><span> [ </span>'db' =><span> [ </span>'class' => 'yii\db\Connection', <span>//</span><span> 修改host 和dbname 之前需要手動創(chuàng)建了dbname才可以</span> 'dsn' => 'mysql:host=localhost;dbname=advanced', <span>//</span><span>登錄數(shù)據(jù)庫的賬號</span> 'username' => 'root', <span>//</span><span>登錄數(shù)據(jù)庫的密碼</span> 'password' => '', 'charset' => 'utf8',<span> ]</span>, <span>//</span><span> other code</span> ],
數(shù)據(jù)庫配置好了之后,運行執(zhí)行如下命令運行migrate
./yii migrate
期間會讓我們確認,yes后回車即可,該命令會為我們創(chuàng)建遷移文件(console\migrations目錄)中定義的所有數(shù)據(jù)表,執(zhí)行完該命令打開數(shù)據(jù)庫會發(fā)現(xiàn),我們的blog表已經(jīng)創(chuàng)建了,其中包含了在遷移中定義的列。
4、使用gii生成AR模型和CRUD
gii是yii2中的一個模塊,是一種高度可定制和可擴展的代碼生成工具。使用它可以大幅提高我們的開發(fā)效率,后面我會也會講解如何用gii定制我們需要的模版以及程序代碼。如果你在安裝的過程中,像我們一樣選擇的是開發(fā)環(huán)境,gii默認是開啟的。也就是說我們無需再進行配置便可以使用。你也可以打開文件 advanced\frontend\config\main-local.php查看配置代碼。
<span>if</span> (!<span>YII_ENV_TEST) { </span><span>//</span><span> other code</span> <span>$config</span>['bootstrap'][] = 'gii'<span>; </span><span>$config</span>['modules']['gii'] =<span> [ </span>'class' => 'yii\gii\Module',<span> ]; }</span>
接著通過地址 http://advanced.dev/index.php?r=gii 訪問gii模塊(在一開始我們配置了advanced.dev指向了frontend/web目錄),借助其特性幫助我們生成此次操作所必需的一系列代碼。
4.1生成AR模型類
模型是MVC設(shè)計模式中的一部分,使用模型不僅能讓我們存取數(shù)據(jù)變得相對簡單和方便,更多地協(xié)助我們處理復雜的業(yè)務(wù)和邏輯。關(guān)于更多的有關(guān)模型的描述,可以參考相關(guān)手冊或文檔,有任何問題你也可以下方留言。
我們回過頭來點擊gii頁面上的Model Generator start,像下面這樣生成AR模型類。
4.2生成CRUD代碼
所謂的CRUD無非就是Create Read Update Delete,也就是創(chuàng)建、讀取、更新和刪除。包含了常見Web開發(fā)的基本操作。如果你剛剛用gii生成了Model,此時點擊左側(cè)菜單CRUD Generator像下面這樣生成crud再好不過了。
關(guān)于更多gii的操作你可以參考yii2 gii的詳細操作步驟。
目前為止,我們借助gii生成了model,curd一系列操作。
有好提示:實際開發(fā)中,后臺管理理應(yīng)利用gii協(xié)助開發(fā),可快速提高開發(fā)效果。
按照以上操作,我們會在如下相關(guān)目錄生成9個文件
common\models\Blog.<span>php common\models\BlogSearch</span>.<span>php frontend\controllers\BlogController</span>.<span>php frontend\views\blog\_form</span>.<span>php frontend\views\blog\_search</span>.<span>php frontend\views\blog\create</span>.<span>php frontend\views\blog\index</span>.<span>php frontend\views\blog\update</span>.<span>php frontend\views\blog\view</span>.php
接著可以通過路由訪問http://advanced.dev/index.php?r=blog看到blog具體頁面信息。
5、添加博客
5.1添加前準備
[考慮目前國內(nèi)網(wǎng)站大部分采集文章十分頻繁,更有甚者不注明原文出處,原作者更希望看客們查看原文,以防有任何問題不能更新所有文章,避免誤導!]
繼續(xù)閱讀

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dewu APP est actuellement un logiciel d'achat de marque très populaire, mais la plupart des utilisateurs ne savent pas comment utiliser les fonctions de Dewu APP. Le guide didacticiel d'utilisation le plus détaillé est compilé ci-dessous. Ensuite, l'éditeur présente Dewuduo aux utilisateurs. tutoriels. Les utilisateurs intéressés peuvent venir y jeter un oeil ! Tutoriel sur l'utilisation de Dewu [2024-03-20] Comment utiliser l'achat à tempérament Dewu [2024-03-20] Comment obtenir des coupons Dewu [2024-03-20] Comment trouver le service client manuel Dewu [2024-03- 20] Comment vérifier le code de ramassage de Dewu [2024-03-20] Où trouver l'achat de Dewu [2024-03-20] Comment ouvrir Dewu VIP [2024-03-20] Comment demander le retour ou l'échange de Dewu

Configuration de VSCode en chinois?: un guide complet Dans le développement de logiciels, Visual Studio Code (VSCode en abrégé) est un environnement de développement intégré couramment utilisé. Pour les développeurs qui utilisent le chinois, la configuration de VSCode sur l'interface chinoise peut améliorer l'efficacité du travail. Cet article vous fournira un guide complet, détaillant comment définir VSCode sur une interface chinoise et fournissant des exemples de code spécifiques. étape 1?: Téléchargez et installez le pack de langue. Après avoir ouvert VSCode, cliquez sur la gauche.

Après la pluie en été, vous pouvez souvent voir une scène météorologique spéciale magnifique et magique : l'arc-en-ciel. C’est aussi une scène rare que l’on peut rencontrer en photographie, et elle est très photogénique. Il y a plusieurs conditions pour qu’un arc-en-ciel apparaisse : premièrement, il y a suffisamment de gouttelettes d’eau dans l’air, et deuxièmement, le soleil brille sous un angle plus faible. Par conséquent, il est plus facile de voir un arc-en-ciel l’après-midi, après que la pluie s’est dissipée. Cependant, la formation d'un arc-en-ciel est grandement affectée par les conditions météorologiques, la lumière et d'autres conditions, de sorte qu'il ne dure généralement que peu de temps, et la meilleure durée d'observation et de prise de vue est encore plus courte. Alors, lorsque vous rencontrez un arc-en-ciel, comment pouvez-vous l'enregistrer correctement et prendre des photos de qualité?? 1. Recherchez les arcs-en-ciel En plus des conditions mentionnées ci-dessus, les arcs-en-ciel apparaissent généralement dans la direction de la lumière du soleil, c'est-à-dire que si le soleil brille d'ouest en est, les arcs-en-ciel sont plus susceptibles d'appara?tre à l'est.

PhotoshopCS est l'abréviation de Photoshop Creative Suite. C'est un logiciel produit par Adobe et est largement utilisé dans la conception graphique et le traitement d'images. En tant que novice apprenant PS, laissez-moi vous expliquer aujourd'hui ce qu'est le logiciel photoshopcs5 et comment l'utiliser. 1. Qu'est-ce que Photoshop CS5 ? Adobe Photoshop CS5 Extended est idéal pour les professionnels des domaines du cinéma, de la vidéo et du multimédia, les graphistes et web designers qui utilisent la 3D et l'animation, ainsi que les professionnels des domaines de l'ingénierie et des sciences. Rendu une image 3D et fusionnez-la dans une image composite 2D. Modifiez facilement des vidéos

Pratique PHP : Exemple de code pour implémenter rapidement la séquence de Fibonacci La séquence de Fibonacci est une séquence très intéressante et courante en mathématiques. Elle est définie comme suit : le premier et le deuxième nombres sont 0 et 1, et à partir du troisième, en commen?ant par les nombres, chaque nombre. est la somme des deux nombres précédents. Les premiers nombres de la séquence de Fibonacci sont 0,1,1,2,3,5,8,13,21,... et ainsi de suite. En PHP, nous pouvons générer la séquence de Fibonacci par récursion et itération. Ci-dessous, nous montrerons ces deux

Lorsque nous utilisons un ordinateur pour saisir l’anglais, nous rencontrons parfois la différence entre les lettres anglaises pleine largeur et les lettres anglaises demi-chasse. Les lettres anglaises pleine chasse font référence aux caractères saisis en appuyant sur la touche Maj et la combinaison de touches de lettres anglaises lorsque la méthode de saisie est le mode chinois. Elles occupent une largeur de caractère pleine chasse. Les lettres anglaises demi-largeur font référence aux caractères saisis directement lorsque la méthode de saisie est le mode anglais et occupent une demi-largeur de caractère. Dans certains cas, nous devrons peut-être convertir des lettres anglaises pleine chasse en lettres demi-chasse. Voici un tutoriel simple?: Tout d’abord, ouvrez un éditeur de texte ou n’importe quel autre.

Tutoriel PHP?: Comment convertir un type Int en cha?ne En PHP, la conversion de données entières en cha?ne est une opération courante. Ce didacticiel expliquera comment utiliser les fonctions intégrées de PHP pour convertir le type int en cha?ne, tout en fournissant des exemples de code spécifiques. Utiliser cast : En PHP, vous pouvez utiliser cast pour convertir des données entières en cha?ne. Cette méthode est très simple. Il vous suffit d'ajouter (string) avant les données entières pour les convertir en cha?ne. Vous trouverez ci-dessous un exemple de code simple

1. Ouvrez d’abord WeChat. 2. Cliquez sur [+] dans le coin supérieur droit. 3. Cliquez sur le code QR pour collecter le paiement. 4. Cliquez sur les trois petits points dans le coin supérieur droit. 5. Cliquez pour fermer le rappel vocal de l'arrivée du paiement.
