YII Framework架構教程之使用YIIC快速建立YII應用詳解,yiicyii_PHP教程

來源:互聯網
上載者:User

YII Framework架構教程之使用YIIC快速建立YII應用詳解,yiicyii


本文執行個體講述了YII Framework架構使用YIIC快速建立YII應用的方法。分享給大家供大家參考,具體如下:

yii提供了強大的命令列工具來快速的建立相關組件和應用。

cd進入yii/framework架構的根目錄。

執行

# php yiicYii command runner (based on Yii v1.1.8)Usage: yiic  [parameters...]The following commands are available: - message - migrate - shell - webappTo see individual command help, use the following:  yiic help 

可以看到

yiic的基本命令參數規則

yiic [parameters...]

command-name對應的有
- message
- migrate
- shell
- webapp

如果要查看具體的命令的功能可以用

yiic help

例如:

php yiic shell

1.php yiic webapp

執行 php yiic help webapp

/* USAGE  yiic webapp  DESCRIPTION  This command generates an Yii Web Application at the specified location. PARAMETERS  * app-path: required, the directory where the new application will be created.   If the directory does not exist, it will be created. After the application   is created, please make sure the directory can be accessed by Web users. */ 

在指定的位置建立一個基於yii的完整結構的webapp。app-path是webapp的存放目錄。如果目錄不存在會被建立。

例如:

/yii/framework# php yiic webapp ../../testwebap Create a Web application under '/home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap'? [Yes|No] Yes   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap  generate index-test.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic/views   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic/views/layouts  generate themes/classic/views/.htaccess   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic/views/site   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic/views/system   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/css  generate css/ie.css  generate css/bg.gif  generate css/screen.css  generate css/form.css  generate css/print.css  generate css/main.css  generate index.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/assets   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/models  generate protected/models/LoginForm.php  generate protected/models/ContactForm.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/components  generate protected/components/UserIdentity.php  generate protected/components/Controller.php  generate protected/yiic.bat   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/controllers  generate protected/controllers/SiteController.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/migrations  generate protected/yiic   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/data  generate protected/data/testdrive.db  generate protected/data/schema.mysql.sql  generate protected/data/schema.sqlite.sql   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/config  generate protected/config/test.php  generate protected/config/console.php  generate protected/config/main.php  generate protected/.htaccess   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/layouts  generate protected/views/layouts/column1.php  generate protected/views/layouts/column2.php  generate protected/views/layouts/main.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site  generate protected/views/site/contact.php  generate protected/views/site/login.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/pages  generate protected/views/site/pages/about.php  generate protected/views/site/index.php  generate protected/views/site/error.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/messages   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests  generate protected/tests/bootstrap.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/fixtures  generate protected/tests/phpunit.xml   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/report   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/unit   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/functional  generate protected/tests/functional/SiteTest.php  generate protected/tests/WebTestCase.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/runtime  generate protected/yiic.php   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/extensions   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/commands   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/commands/shell   mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/images

Your application has been created successfully under /yii_dev/testwebap.

產生的目錄結構如下

testwebap
│ ├── assets
│ ├── css
│ ├── images
│ ├── index.php
│ ├── index-test.php
│ ├── protected
│ └── themes
詳細目錄結構如下
├── assets
├── css
│ ├── bg.gif
│ ├── form.css
│ ├── ie.css
│ ├── main.css
│ ├── print.css
│ └── screen.css
├── images
├── index.php
├── index-test.php
├── protected
│ ├── commands
│ │ └── shell
│ ├── components
│ │ ├── Controller.php
│ │ └── UserIdentity.php
│ ├── config
│ │ ├── console.php
│ │ ├── main.php
│ │ └── test.php
│ ├── controllers
│ │ └── SiteController.php
│ ├── data
│ │ ├── schema.mysql.sql
│ │ ├── schema.sqlite.sql
│ │ └── testdrive.db
│ ├── extensions
│ ├── messages
│ ├── migrations
│ ├── models
│ │ ├── ContactForm.php
│ │ └── LoginForm.php
│ ├── runtime
│ ├── tests
│ │ ├── bootstrap.php
│ │ ├── fixtures
│ │ ├── functional
│ │ │ └── SiteTest.php
│ │ ├── phpunit.xml
│ │ ├── report
│ │ ├── unit
│ │ └── WebTestCase.php
│ ├── views
│ │ ├── layouts
│ │ │ ├── column1.php
│ │ │ ├── column2.php
│ │ │ └── main.php
│ │ └── site
│ │ ├── contact.php
│ │ ├── error.php
│ │ ├── index.php
│ │ ├── login.php
│ │ └── pages
│ │ └── about.php
│ ├── yiic
│ ├── yiic.bat
│ └── yiic.php
└── themes
└── classic
└── views
├── layouts
├── site
└── system

通過瀏覽器查看一下

http://www.localyii.com/testwebap/

具體功能後面講。這裡直接講命令的使用。

2.php yiic messag

php yiic help message列印message命令的相關用法

/* USAGE  yiic message  DESCRIPTION  This command searches for messages to be translated in the specified  source files and compiles them into PHP arrays as message source. PARAMETERS  * config-file: required, the path of the configuration file. You can find   an example in framework/messages/config.php.   The file can be placed anywhere and must be a valid PHP script which   returns an array of name-value pairs. Each name-value pair represents   a configuration option.   The following options are available:   - sourcePath: string, root directory of all source files.   - messagePath: string, root directory containing message translations.   - languages: array, list of language codes that the extracted messages    should be translated to. For example, array('zh_cn','en_au').   - fileTypes: array, a list of file extensions (e.g. 'php', 'xml').    Only the files whose extension name can be found in this list    will be processed. If empty, all files will be processed.   - exclude: array, a list of directory and file exclusions. Each    exclusion can be either a name or a path. If a file or directory name    or path matches the exclusion, it will not be copied. For example,    an exclusion of '.svn' will exclude all files and directories whose    name is '.svn'. And an exclusion of '/a/b' will exclude file or    directory 'sourcePath/a/b'.   - translator: the name of the function for translating messages.    Defaults to 'Yii::t'. This is used as a mark to find messages to be    translated.   - overwrite: if message file must be overwritten with the merged messages. */ 

主要用於webapp的國際化。

例如將上面生產的testwebap的
http://www.localyii.com/testwebap/index.php?r=site/login

登入頁面的Username和Password 翻譯成中文

上面說需要設定檔。yii為我們提供了設定檔的模板。

framework/messages/config.php

複製framework\messages\config.php 檔案到 protected\messages\下

具體內容修改如下:

dirname(__FILE__).DIRECTORY_SEPARATOR.'..',   'messagePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'messages',   'languages'=>array('zh_cn'),   'fileTypes'=>array('php'),   'overwrite'=>true,   'exclude'=>array(     '.svn',     'yiilite.php',     'yiit.php',     '/i18n/data',     '/messages',     '/vendors',     '/web/js',   ), ); 

/www/yii_dev/testwebap/protected/views/site/login.php

修改如下

labelEx($model,Yii::t('login_message','username')); ?>textField($model,'username'); ?>error($model,'username'); ?>labelEx($model,Yii::t('login_message','password')); ?>passwordField($model,'password'); ?>error($model,'password'); ?>

執行如下命令

testwebap/protected/messages/www/yii_dev/yii/framework# php yiic message "../../testwebap/protected/messages/config.php"Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/components/Controller.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/components/UserIdentity.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/config/console.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/config/main.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/config/test.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/controllers/SiteController.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/models/ContactForm.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/models/LoginForm.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/WebTestCase.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/bootstrap.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/functional/SiteTest.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/layouts/column1.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/layouts/column2.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/layouts/main.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/contact.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/error.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/index.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/login.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/pages/about.php...Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/yiic.php...Saving messages to /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/messages/../messages/zh_cn/login_message.php...saved.

目錄下產生如下檔案

/www/yii_dev/testwebap/protected/messages/zh_cn/login_message.php

return array ('password' => '','username' => '',);

改為

return array ('password' => '密碼','username' => '使用者名稱',);

修改

如下設定檔

/www/yii_dev/testwebap/protected/config/main.php

添加如下

// application-level parameters that can be accessed// using Yii::app()->params['paramName']'params'=>array(// this is used in contact page'adminEmail'=>'webmaster@example.com',),'language'=>'zh_cn','sourceLanguage'=>'en_us',);

訪問一一下

http://www.localyii.com/testwebap/index.php?r=site/login

可以看到翻譯成中文了。

可以有亂碼的問題,注意編碼問題。檔案,瀏覽器要設定統一

更多關於Yii相關內容感興趣的讀者可查看本站專題:《Yii架構入門及常用技巧總結》、《php優秀開發架構總結》、《smarty模板入門基礎教程》、《php日期與時間用法總結》、《php物件導向程式設計入門教程》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》

希望本文所述對大家基於Yii架構的PHP程式設計有所協助。

您可能感興趣的文章:

  • PHP YII架構開發小技巧之模型(models)中rules自訂驗證規則
  • Nginx配置PHP的Yii與CakePHP架構的rewrite規則樣本
  • 使用Composer安裝Yii架構的方法
  • Yii使用migrate命令執行sql語句的方法
  • YII Framework架構使用YIIC快速建立YII應用之migrate用法執行個體詳解
  • YII Framework架構教程之國際化實現方法
  • YII Framework架構教程之緩衝用法詳解
  • YII Framework架構教程之安全方案詳解
  • YII Framework架構教程之日誌用法詳解
  • YII Framework教程之異常處理詳解
  • Yii rules常用規則樣本

http://www.bkjia.com/PHPjc/1110078.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1110078.htmlTechArticleYII Framework架構教程之使用YIIC快速建立YII應用詳解,yiicyii 本文執行個體講述了YII Framework架構使用YIIC快速建立YII應用的方法。分享給大家供大家...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.