本文实例讲述了YII framework框架使用YIIC快速创建YII应用的方法。分享给大家供大家参考,具体如下:
yii提供了强大的命令行工具来快速的创建相关组件和应用。
cd进入yii/framework框架的根目录。
执行
# php yiic Yii command runner (based on Yii v1.1.8) Usage: yiic[parameters...] The following commands are available: - message - migrate - shell - webapp To see individual command help, use the following: yiic help
可以看到
yiic的基本命令参数规则
yiic
command-name对应的有
- message
- migrate
- shell
- webapp
如果要查看具体的命令的功能可以用
yiic help
例如:
php yiic shell
1.php yiic webapp
执行 php yiic help webapp
在指定的位置创建一个基于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命令的相关用法
主要用于webapp的国际化。
例如将上面生产的testwebap的
http://www.localyii.com/testwebap/index.php?r=site/login
登录页面的Username和Password 翻译成中文
上面说需要配置文件。yii为我们提供了配置文件的模板。
framework/messages/config.php
复制frameworkmessagesconfig.php 文件到 protectedmessages下
具体内容修改如下:
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程序设计有所帮助。



