成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

YII2快速學習筆記

kbyyd24 / 3529人閱讀

摘要:高性能始終是的首要目標之一。版是上代的老版本,現(xiàn)在處于維護狀態(tài)。版是一個完全重寫的版本,采用了最新的技術和協(xié)議,包括依賴包管理器代碼規(guī)范命名空間特質等等。所以,我們學習版本。啟用本鏡像服務系統(tǒng)全局配置即將配置信息添加到的全局配置文件中。

工作中需要用到YII框架,于是乎,系統(tǒng)的學習下這套框架,詳細教程請看考該站完整系列:YII2教程

一、YII簡介 1、什么是YII

Yii 是一個高性能,基于組件的 PHP 框架,用于快速開發(fā)現(xiàn)代 Web 應用程序。

2、YII優(yōu)點

和其他 PHP 框架類似,Yii 實現(xiàn)了 MVC(Model-View-Controller)設計模式并基于該模式組織代碼。

Yii 的代碼簡潔優(yōu)雅,這是 Yii 的編程哲學。它永遠不會為了要迎合某個設計模式而對代碼進行過度的設計。

Yii 是一個全??蚣埽峁┝舜罅烤媒浛简?,開箱即用的特性,例如:對關系型和 NoSQL 數(shù)據(jù)庫都提供了查詢生成器(QueryBuilders)和 ActiveRecord;RESTful API 的開發(fā)支持;多層緩存支持,等等。

Yii 非常易于擴展。你可以自定義或替換幾乎任何一處核心代碼。你還會受益于它堅實可靠的擴展架構,使用、再開發(fā)或再發(fā)布擴展。

高性能始終是 Yii 的首要目標之一。

3.Yii 版本

Yii 當前有兩個主要版本:1.1 和 2.0。 1.1 版是上代的老版本,現(xiàn)在處于維護狀態(tài)。2.0 版是一個完全重寫的版本,采用了最新的技術和協(xié)議,包括依賴包管理器(Composer)、PHP 代碼規(guī)范(PSR)、命名空間、Traits(特質)等等。 2.0 版代表了最新一代框架,是未來幾年中我們的主要開發(fā)版本。所以,我們學習2.0版本。

二、安裝YII2 1.使用composer安裝

什么是Composer? 由于墻的原因,會下載很慢,所以,這里我們使用Composer中國鏡像。

啟用本鏡像服務,系統(tǒng)全局配置: 即將配置信息添加到 Composer 的全局配置文件 config.json 中。

composer config -g repo.packagist composer https://packagist.phpcomposer.com
2.第二步
php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"

如果你的Composer是全局安裝的,那么就不需要輸入php composer.phar,只需要用composer命令即可。

composer global require "fxp/composer-asset-plugin:~1.1.1"

安裝這個玩意兒,不然你會發(fā)現(xiàn)新增加好的項目中沒有vendor目錄

3.下載yii
php composer.phar create-project --prefer-dist yiisoft/yii2-app-advanced advanced

全局安裝方法:

composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced

前最好有github賬號,需要授權拉取的,不然。。。。

坑爹啊,還需要Github授權-_-!!!

輸入這個鏈接,在瀏覽器中打開,需要登錄到自己的Github賬戶:

https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+kaiyideMacBook-Pro.local+2016-12-31+0302


獲取到Token授權之后,復制粘貼到這里:

Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+kaiyideMacBook-Pro.local+2016-12-31+0311
to retrieve a token. It will be stored in "/Users/kaiyiwang/.composer/auth.json" for future use by Composer.
Token (hidden):(注意這里是從Github獲取到的授權Token)
Token stored successfully.
Reading bower.json of bower-asset/jquery.inputmask (3.2.5)
4.下載好YII后,初始化操作

如果你是類linux系統(tǒng),切換到advanced目錄執(zhí)行php init命令進行初始化,如果你是windows系統(tǒng),請雙擊advanced目錄下的init.bat文件

php init
5.服務器配置 5.1 更改hosts文件內容
127.0.0.1 www.demo.com
127.0.0.1 admin.demo.com
5.2 更改apache服務器設置

(更改完成后需要重啟Apache服務器)

更改apache下conf/extra/httpd-vhosts.conf

      
      DocumentRoot "位置advancedfrontendweb"     
      ServerName www.demo.com     
      ServerAlias www.demo.com  
    
  
       
      DocumentRoot "位置advancedackendweb"     
      ServerName admin.demo.com     
      ServerAlias admin.demo.com  
  

配置完成后打開瀏覽器,輸入配置的本地域名:www.yii.dev訪問,成功了^_^

如果跳轉到apache服務器,還需要將apache

httpd-conf中Include conf/extra/httpd-vhosts.conf

前面的#注釋去掉,重啟apache服務器即可

安裝小結:
1、通過官網或Composer下載Yii
2、解壓后拷貝advanced目錄放到web可訪問目錄,文件名advanced,不做改動

3、如果你是類linux系統(tǒng),切換到advanced目錄執(zhí)行php init命令進行初始化,如果你是windows系統(tǒng),請雙擊advanced目錄下的init.bat文件

4、接下來會讓我們選擇開發(fā)環(huán)境 0開發(fā)環(huán)境 1生產環(huán)境 這里我們選擇0 開發(fā)環(huán)境,輸入后回車,會讓我們輸入yes或者no進行確認,這里我們輸入yes確認即可

5、ok了之后,你仍然需要做得是切換到根目錄下,執(zhí)行命令composer install

6、驗證下是否安裝成功了,這個時候你可以在瀏覽器地址欄輸入http://localhost/advanced/fro...看效果了,界面上顯示一個大大的Congratulations即代表安裝成功!

更多詳情請參考該博文:yii2入門-安裝 Yii2

三、第一個程序-Hello,world

先來看幾個重要的文件夾:

// 1.視圖文件夾:
frontendviews

// 2.控制器
frontendcontrollers

// 3.Model層
frontendmodel

再來看一段程序TestController.php

namespace frontendcontrollers; 
use yiiwebController; 
class TestController extends Controller 
{ 
    public function actionIndex () 
    { 
       return $this->render("index");
    } 
    public function actionCreate () { 
    } 
} 

創(chuàng)建模板:frontend/views/test/index.php



Hello World!

Yii2語法規(guī)定:聲明的控制器必須帶上Controller后綴,同時操作必須帶上前綴action!

yii2中操作名(action)遵循駝峰式命名,也就是說如果你是多個單詞,請保證你的命名規(guī)則是actionCreateArticle而不是actionCreatearticle!當然,這只是一種規(guī)范,你不這樣做也沒人攔你。需要提醒注意的是多個單詞駝峰式命名,訪問操作的時候,多個單詞需要像create-article這樣用連接符連接而不是createArticle哦

訪問第一個測試文件前的配置:

首先我們先配置下域名yii.dev指向frontendweb目錄,我們后文所指的該域名均指向這里。

在frontendcontrollers目錄下新建TestController.php文件,內容參考上面我們創(chuàng)建Test控制器的代碼。

地址欄輸入http://www.yii.dev/index.php?...訪問看看結果

如果需要傳遞參數(shù),則是這樣:
http://www.yii.dev/index.php?...

public  function actionIndex($name)
    {
        return $this->render("index", [
            "name" => $name,
        ]);

    }

修改模板:

Hello !

使用遷移命令migration出現(xiàn)了這樣的問題:

?  advanced yii migrate/create create_blog_table
zsh: command not found: yii
?  advanced

什么原因呢???

原來Mac下的遷移命令是php yii

?  advanced php yii migrate/create create_blog_table
Yii Migration Tool (based on Yii v2.0.10)

禍不單行,使用gii Module Gnenrator又出現(xiàn)了這樣了問題,郁悶啊。。。

找了許多答案,終于找到了兩個靠譜的解決方案:

快速解決方法;把Yii根目錄下的/common/config/mail-local.php 文件中的localhost改成127.0.0.1
根本問題解決方法;windows不會出現(xiàn)這種問題,mac容易出現(xiàn)這種問題,是因為mac里面本來就有一個PHP了,如果還用XAMPP的話,這個時候就有兩個PHP,但如果不經過配置,命令行方式的PHP默認執(zhí)行的是系統(tǒng)自帶的,所以要修改默認執(zhí)行的PHP
修改方法: 找到Yii根目錄下的/yii文件打開,
第一行#!/usr/bin/env php 改成 #!/usr/bin/env /Applications/XAMPP/xamppfiles/bin/php
然后重啟服務器再試試:)

這里我們使用第一種簡單的方法,改下配置文件,/common/config/mail-local.php,將localhost改為127.0.0.1.

 [
        "db" => [
            "class" => "yiidbConnection",
            // "dsn" => "mysql:host=localhost;dbname=yii",
            "dsn" => "mysql:host=127.0.0.1;dbname=yii",
            "username" => "root",
            "password" => "518666",
            "charset" => "utf8",
        ],
        "mailer" => [
            "class" => "yiiswiftmailerMailer",
            "viewPath" => "@common/mail",
            // send all mails to a file by default. You have to set
            // "useFileTransport" to false and configure a transport
            // for the mailer to send real emails.
            "useFileTransport" => true,
        ],
    ],
];

OK,再次訪問,問題解決:

migration遷移文件步驟

1.使用php yii migrate命令生成博客 blog 對應的數(shù)據(jù)表遷移:

// 1.使用php yii migrate命令生成博客 blog 對應的數(shù)據(jù)表遷移:
php yii migrate/create create_blog_table

2.生成的遷移文件中添加字段

// 2. advancedconsolemigrations 目錄,可能你已經注意到了,yii migrate 命令已經在遷移文件中為我們添加了主鍵ID和表名,接下來我們要編輯該文件修改表名以及添加更多的列到數(shù)據(jù)表blog:
  $this->createTable("blog", [
            "id" => $this->primaryKey(),
            "title" => $this->string(100)->notNull()->defaultValue(""),
            "content" => $this->text(),
            "create_time" => $this->datetime(),
        ]);
        

3.遷移文件生成表字段

./yii migrate

參考文章:
yii2實戰(zhàn)式教程

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/22250.html

相關文章

  • 一個程序員對架構的認識

    摘要:架構的含義小石最近加入了一家生鮮電商公司。所以可以認為所謂的框架就是確定了一些業(yè)內規(guī)范,從某種程度上對大家形成約束或者形成都能理解的規(guī)定。沒有完美的架構只有合適的架構。 最近訂閱了一些架構方面的資料,閱讀后獲益匪淺,想著整理一些自己的體會與思考,形成架構方面的讀書筆記,一來與大家交流,二來通過文字的形式檢查自己到底收獲多少! 我們系統(tǒng)是MVC架構的 淘寶的架構好屌 最近在學習MySQL...

    darcrand 評論0 收藏0
  • SegmentFault 社區(qū)訪談 | mcfog:自由進出 Coding && A

    摘要:上次的訪談,介紹了下可愛的依云醬,回憶傳送門。這里簡單地介紹下龍女仆,全名小林家的龍女仆,為什么介紹這部劇呢因為設計獅顏值同學也安利了這部。劇情簡介在獨身又勞累的小林劃重點一名程序員身邊突然出現(xiàn)的穿著女仆服裝的美少女托爾。 showImg(https://segmentfault.com/img/bVR6p5?w=900&h=385); 上次的訪談,介紹了下可愛的依云醬,回憶傳送門。不...

    neroneroffy 評論0 收藏0
  • SegmentFault 社區(qū)訪談 | mcfog:自由進出 Coding && A

    摘要:上次的訪談,介紹了下可愛的依云醬,回憶傳送門。這里簡單地介紹下龍女仆,全名小林家的龍女仆,為什么介紹這部劇呢因為設計獅顏值同學也安利了這部。劇情簡介在獨身又勞累的小林劃重點一名程序員身邊突然出現(xiàn)的穿著女仆服裝的美少女托爾。 showImg(https://segmentfault.com/img/bVR6p5?w=900&h=385); 上次的訪談,介紹了下可愛的依云醬,回憶傳送門。不...

    lx1036 評論0 收藏0
  • yii2實戰(zhàn)教程之第一個Yii程序

    摘要:出于實戰(zhàn)基礎加之自語言的書籍出版以來,幾乎所有的編程書籍都講述了一個的例子作為開始。操作,其實就是一個是動作的意思,也可以描述為我們前面說的響應地址。 作者:白狼 出處:http://www.manks.top/document/yii_first_application.html 本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究...

    Near_Li 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<