当前位置:首页 > CMS教程 > 其它CMS > 列表

YII Framework框架教程之使用YIIC快速创建YII应用详解

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-14 20:23:01 浏览: 评论:0 

这篇文章主要介绍了YII Framework框架教程之使用YIIC快速创建YII应用的方法,详细分析说明了YII Framework框架使用YIIC命令行创建应用的相关技巧与注意事项,需要的朋友可以参考下。

本文实例讲述了YII Framework框架使用YIIC快速创建YII应用的方法,分享给大家供大家参考,具体如下:

yii提供了强大的命令行工具来快速的创建相关组件和应用。

cd进入yii/framework框架的根目录。

执行

  1. # php yiic 
  2. Yii command runner (based on Yii v1.1.8) 
  3. Usage: yiic <command-name> [parameters...] 
  4.  
  5. The following commands are available: 
  6.  - message 
  7.  - migrate 
  8.  - shell 
  9.  - webapp 
  10.  
  11. To see individual command help, use the following: 
  12.   yiic help <command-name> 

可以看到

yiic的基本命令参数规则

yiic <command-name> [parameters...]

command-name对应的有

- message

- migrate

- shell

- webapp

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

yiic help <command-name>

例如:

php yiic shell

1.php yiic webapp

执行 php yiic help webapp

  1. /*  
  2. USAGE  
  3.  yiic webapp <app-path>  
  4. DESCRIPTION  
  5.  This command generates an Yii Web Application at the specified location.  
  6. PARAMETERS  
  7.  * app-path: required, the directory where the new application will be created.  
  8.   If the directory does not exist, it will be created. After the application  
  9.   is created, please make sure the directory can be accessed by Web users.  
  10. */ 

在指定的位置创建一个基于yii的完整结构的webapp,app-path是webapp的存放目录,如果目录不存在会被创建。

例如:

  1. /yii/framework# php yiic webapp ../../testwebap 
  2.  Create a Web application under '/home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap'? [Yes|No] Yes 
  3.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap 
  4.   generate index-test.php 
  5.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes 
  6.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic 
  7.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic/views 
  8.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic/views/layouts 
  9.   generate themes/classic/views/.htaccess 
  10.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic/views/site 
  11.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/themes/classic/views/system 
  12.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/css 
  13.   generate css/ie.css 
  14.   generate css/bg.gif 
  15.   generate css/screen.css 
  16.   generate css/form.css 
  17.   generate css/print.css 
  18.   generate css/main.css 
  19.   generate index.php 
  20.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/assets 
  21.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected 
  22.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/models 
  23.   generate protected/models/LoginForm.php 
  24.   generate protected/models/ContactForm.php 
  25.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/components 
  26.   generate protected/components/UserIdentity.php 
  27.   generate protected/components/Controller.php 
  28.   generate protected/yiic.bat 
  29.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/controllers 
  30.   generate protected/controllers/SiteController.php 
  31.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/migrations 
  32.   generate protected/yiic 
  33.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/data 
  34.   generate protected/data/testdrive.db 
  35.   generate protected/data/schema.mysql.sql 
  36.   generate protected/data/schema.sqlite.sql 
  37.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/config 
  38.   generate protected/config/test.php 
  39.   generate protected/config/console.php 
  40.   generate protected/config/main.php 
  41.   generate protected/.htaccess 
  42.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views 
  43.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/layouts 
  44.   generate protected/views/layouts/column1.php 
  45.   generate protected/views/layouts/column2.php 
  46.   generate protected/views/layouts/main.php 
  47.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site 
  48.   generate protected/views/site/contact.php 
  49.   generate protected/views/site/login.php 
  50.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/pages 
  51.   generate protected/views/site/pages/about.php 
  52.   generate protected/views/site/index.php 
  53.   generate protected/views/site/error.php 
  54.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/messages 
  55.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests 
  56.   generate protected/tests/bootstrap.php 
  57.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/fixtures 
  58.   generate protected/tests/phpunit.xml 
  59.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/report 
  60.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/unit 
  61.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/functional 
  62.   generate protected/tests/functional/SiteTest.php 
  63.   generate protected/tests/WebTestCase.php 
  64.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/runtime 
  65.   generate protected/yiic.php 
  66.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/extensions 
  67.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/commands 
  68.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/commands/shell 
  69.    mkdir /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/images 
  70. Your application has been created successfully under /yii_dev/testwebap. 

生成的目录结构如下

  1. testwebap 
  2. │   ├── assets 
  3. │   ├── css 
  4. │   ├── images 
  5. │   ├── index.php 
  6. │   ├── index-test.php 
  7. │   ├── protected 
  8. │   └── themes 

详细目录结构如下

  1. ├── assets 
  2. ├── css 
  3. │   ├── bg.gif 
  4. │   ├── form.css 
  5. │   ├── ie.css 
  6. │   ├── main.css 
  7. │   ├── print.css 
  8. │   └── screen.css 
  9. ├── images 
  10. ├── index.php 
  11. ├── index-test.php 
  12. ├── protected 
  13. │   ├── commands 
  14. │   │   └── shell 
  15. │   ├── components 
  16. │   │   ├── Controller.php 
  17. │   │   └── UserIdentity.php 
  18. │   ├── config 
  19. │   │   ├── console.php 
  20. │   │   ├── main.php 
  21. │   │   └── test.php 
  22. │   ├── controllers 
  23. │   │   └── SiteController.php 
  24. │   ├── data 
  25. │   │   ├── schema.mysql.sql 
  26. │   │   ├── schema.sqlite.sql 
  27. │   │   └── testdrive.db 
  28. │   ├── extensions 
  29. │   ├── messages 
  30. │   ├── migrations 
  31. │   ├── models 
  32. │   │   ├── ContactForm.php 
  33. │   │   └── LoginForm.php 
  34. │   ├── runtime 
  35. │   ├── tests 
  36. │   │   ├── bootstrap.php 
  37. │   │   ├── fixtures 
  38. │   │   ├── functional 
  39. │   │   │   └── SiteTest.php 
  40. │   │   ├── phpunit.xml 
  41. │   │   ├── report 
  42. │   │   ├── unit 
  43. │   │   └── WebTestCase.php 
  44. │   ├── views 
  45. │   │   ├── layouts 
  46. │   │   │   ├── column1.php 
  47. │   │   │   ├── column2.php 
  48. │   │   │   └── main.php 
  49. │   │   └── site 
  50. │   │       ├── contact.php 
  51. │   │       ├── error.php 
  52. │   │       ├── index.php 
  53. │   │       ├── login.php 
  54. │   │       └── pages 
  55. │   │           └── about.php 
  56. │   ├── yiic 
  57. │   ├── yiic.bat 
  58. │   └── yiic.php 
  59. └── themes 
  60.     └── classic 
  61.         └── views 
  62.             ├── layouts 
  63.             ├── site 
  64.             └── system 

通过浏览器查看一下

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

具体功能后面讲,这里直接讲命令的使用。

2.php yiic messag

php yiic help message打印message命令的相关用法

  1. /*  
  2. USAGE  
  3.  yiic message <config-file>  
  4. DESCRIPTION  
  5.  This command searches for messages to be translated in the specified  
  6.  source files and compiles them into PHP arrays as message source.  
  7. PARAMETERS  
  8.  * config-file: required, the path of the configuration file. You can find  
  9.   an example in framework/messages/config.php.  
  10.   The file can be placed anywhere and must be a valid PHP script which  
  11.   returns an array of name-value pairs. Each name-value pair represents  
  12.   a configuration option.  
  13.   The following options are available:  
  14.   - sourcePath: string, root directory of all source files.  
  15.   - messagePath: string, root directory containing message translations.  
  16.   - languages: array, list of language codes that the extracted messages  
  17.    should be translated to. For example, array('zh_cn','en_au').  
  18.   - fileTypes: array, a list of file extensions (e.g. 'php', 'xml').  
  19.    Only the files whose extension name can be found in this list  
  20.    will be processed. If empty, all files will be processed.  
  21.   - exclude: array, a list of directory and file exclusions. Each  
  22.    exclusion can be either a name or a path. If a file or directory name  
  23.    or path matches the exclusion, it will not be copied. For example,  
  24.    an exclusion of '.svn' will exclude all files and directories whose  
  25.    name is '.svn'. And an exclusion of '/a/b' will exclude file or  
  26.    directory 'sourcePath/a/b'.  
  27.   - translator: the name of the function for translating messages.  
  28.    Defaults to 'Yii::t'. This is used as a mark to find messages to be  
  29.    translated.  
  30.   - overwrite: if message file must be overwritten with the merged messages.  
  31. */ 

主要用于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\下

具体内容修改如下:

  1. dirname(__FILE__).DIRECTORY_SEPARATOR.'..',  
  2.   'messagePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'messages',  
  3.   'languages'=>array('zh_cn'),  
  4.   'fileTypes'=>array('php'),  
  5.   'overwrite'=>true,  
  6.   'exclude'=>array(  
  7.     '.svn',  
  8.     'yiilite.php',  
  9.     'yiit.php',  
  10.     '/i18n/data',  
  11.     '/messages',  
  12.     '/vendors',  
  13.     '/web/js',  
  14.   ),  
  15. );  

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

修改如下

  1. labelEx($model,Yii::t('login_message','username')); ?> 
  2. textField($model,'username'); ?> 
  3. error($model,'username'); ?> 
  4. labelEx($model,Yii::t('login_message','password')); ?> 
  5. passwordField($model,'password'); ?> 
  6. error($model,'password'); ?> 

执行如下命令

  1. testwebap/protected/messages 
  2. /www/yii_dev/yii/framework# php yiic message "../../testwebap/protected/messages/config.php" 
  3. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/components/Controller.php... 
  4. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/components/UserIdentity.php... 
  5. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/config/console.php... 
  6. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/config/main.php... 
  7. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/config/test.php... 
  8. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/controllers/SiteController.php... 
  9. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/models/ContactForm.php... 
  10. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/models/LoginForm.php... 
  11. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/WebTestCase.php... 
  12. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/bootstrap.php... 
  13. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/tests/functional/SiteTest.php... 
  14. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/layouts/column1.php... 
  15. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/layouts/column2.php... 
  16. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/layouts/main.php... 
  17. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/contact.php... 
  18. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/error.php... 
  19. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/index.php... 
  20. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/login.php... 
  21. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/views/site/pages/about.php... 
  22. Extracting messages from /home/coder/adata/liuyuqiang/wamp/www/yii_dev/testwebap/protected/yiic.php... 
  23. 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

  1. return array ( 
  2. 'password' => ''
  3. 'username' => ''
  4. ); 

改为:

  1. return array ( 
  2. 'password' => '密码'
  3. 'username' => '用户名'
  4. ); 

修改

如下配置文件

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

添加如下

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

访问一一下

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

可以看到翻译成中文了。

可以有乱码的问题,注意编码问题,文件,浏览器要设置统一

Tags: Framework YIIC

分享到: