目錄
yii2实战教程之新手入门指南-简单博客管理系统,yii2新手入门
1、简介
2、安装
3、准备好数据库
4、使用gii生成AR模型和CRUD
4.1生成AR模型类
4.2生成CRUD代码
5、添加博客
5.1添加前准备
首頁 php教程 php手册 yii2实战教程之新手入门指南-简单博客管理系统,yii2新手入门

yii2实战教程之新手入门指南-简单博客管理系统,yii2新手入门

Jun 17, 2016 am 08:51 AM
yii2 部落格 實戰 指南 教學 新手入門 簡單 管理系統

yii2实战教程之新手入门指南-简单博客管理系统,yii2新手入门

1、简介

快速入门指南会对Yii2框架做一个基本介绍,包括数据库迁移、gii操作、AR模型、路由、验证、视图等等。如果你是个Yii2新手甚至之前对PHP框架也很陌生,那么这里将会成为你的良好起点。如果你已经使用并且掌握了Yii2框架基础,可以期待Yii2高级篇教程(后面我会更新)。

为了演示Yii2特性的基本使用,我将会带领大家构建一个简单的博客管理系统。

本教程完整的代码后期会公开于github上。

2、安装

我们前面写过关于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>
登入後複製
#之后构建本地环境,我们配置advanced.dev指向frontend/web目录
登入後複製

3、准备好数据库

在开发和维护一个数据库驱动的应用程序时,数据库的结构会随代码的改变而改变。例如,在开发应用程序的过程中,会增加一张新表且必须得加进来; 在应用程序被部署到生产环境后,需要建立一个索引来提高查询的性能等等。 因为一个数据库结构发生改变的时候源代码也经常会需要做出改变,Yii 提供了一个 数据库迁移 功能,该功能可以记录数据库的变化, 以便使数据库和源代码一起受版本控制。

在本例中,我们使用yii migrate命令生成博客 blog 对应的数据表迁移:

yii migrate/create create_blog_table
登入後複製

该命令生成的迁移文件位于 advanced\console\migrations 目录,可能你已经注意到了,yii migrate 命令已经在迁移文件中为我们添加了主键ID和表名,接下来我们要编辑该文件修改表名以及添加更多的列到数据表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>
登入後複製

运行迁移之前,我们先把数据库配置一番,打开common\config\main-local.php文件,我们看到components下面的db配置,参考如下配置就好

'components' =><span> [
    </span>'db' =><span> [
        </span>'class' => 'yii\db\Connection',
        <span>//</span><span> 修改host 和dbname 之前需要手动创建了dbname才可以</span>
        'dsn' => 'mysql:host=localhost;dbname=advanced',
        <span>//</span><span>登录数据库的账号</span>
        'username' => 'root',
        <span>//</span><span>登录数据库的密码</span>
        'password' => '',
        'charset' => 'utf8',<span>
    ]</span>,
    <span>//</span><span> other code</span>
],
登入後複製

数据库配置好了之后,运行执行如下命令运行migrate

./yii migrate
登入後複製

期间会让我们确认,yes后回车即可,该命令会为我们创建迁移文件(console\migrations目录)中定义的所有数据表,执行完该命令打开数据库会发现,我们的blog表已经创建了,其中包含了在迁移中定义的列。

4、使用gii生成AR模型和CRUD

gii是yii2中的一个模块,是一种高度可定制和可扩展的代码生成工具。使用它可以大幅提高我们的开发效率,后面我会也会讲解如何用gii定制我们需要的模版以及程序代码。如果你在安装的过程中,像我们一样选择的是开发环境,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设计模式中的一部分,使用模型不仅能让我们存取数据变得相对简单和方便,更多地协助我们处理复杂的业务和逻辑。关于更多的有关模型的描述,可以参考相关手册或文档,有任何问题你也可以下方留言。

我们回过头来点击gii页面上的Model Generator start,像下面这样生成AR模型类。

4.2生成CRUD代码

所谓的CRUD无非就是Create Read Update Delete,也就是创建、读取、更新和删除。包含了常见Web开发的基本操作。如果你刚刚用gii生成了Model,此时点击左侧菜单CRUD Generator像下面这样生成crud再好不过了。

关于更多gii的操作你可以参考yii2 gii的详细操作步骤。

目前为止,我们借助gii生成了model,curd一系列操作。

有好提示:实际开发中,后台管理理应利用gii协助开发,可快速提高开发效果。

按照以上操作,我们会在如下相关目录生成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添加前准备

[考虑目前国内网站大部分采集文章十分频繁,更有甚者不注明原文出处,原作者更希望看客们查看原文,以防有任何问题不能更新所有文章,避免误导!]

继续阅读

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

得物使用教程 得物使用教程 Mar 21, 2024 pm 01:40 PM

得物使用教程

VSCode 設定中文:完全指南 VSCode 設定中文:完全指南 Mar 25, 2024 am 11:18 AM

VSCode 設定中文:完全指南

微信關收款聲音的步驟教程 微信關收款聲音的步驟教程 Mar 26, 2024 am 08:30 AM

微信關收款聲音的步驟教程

photoshopcs5是什麼軟體? -photoshopcs5使用教學課程 photoshopcs5是什麼軟體? -photoshopcs5使用教學課程 Mar 19, 2024 am 09:04 AM

photoshopcs5是什麼軟體? -photoshopcs5使用教學課程

專家教你!華為手機截長圖的正確方法 專家教你!華為手機截長圖的正確方法 Mar 22, 2024 pm 12:21 PM

專家教你!華為手機截長圖的正確方法

夏天,一定要試試拍攝彩虹 夏天,一定要試試拍攝彩虹 Jul 21, 2024 pm 05:16 PM

夏天,一定要試試拍攝彩虹

PHP實戰:快速實作斐波那契數列的程式碼範例 PHP實戰:快速實作斐波那契數列的程式碼範例 Mar 20, 2024 pm 02:24 PM

PHP實戰:快速實作斐波那契數列的程式碼範例

PHP教學:如何將int型別轉換為字串 PHP教學:如何將int型別轉換為字串 Mar 27, 2024 pm 06:03 PM

PHP教學:如何將int型別轉換為字串

See all articles