この記事では、YIIC を使用して YII アプリケーションを迅速に作成する YII フレームワーク フレームワークの方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
yii は、関連するコンポーネントやアプリケーションを迅速に作成するための強力なコマンドライン ツールを提供します。 スパン>
cd で yii/framework フレームワークのルート ディレクトリに移動します。実行
リーリー
見れるyiicの基本的なコマンドパラメータルール
yiic [パラメータ...];
コマンド名はに対応します
- メッセージ
- 移行
- シェル
- ウェブアプリ
を使用できます
yiic help
例:リーリー
1.php yiic ウェブアプリ
php yiic help webappを実行
リーリー
例:
リーリー
アプリケーションが /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 <config-file> 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 開発フレームワークの概要」、「Yii を始めるための基本チュートリアル」 Smartyテンプレート』、『PHP日時の使い方まとめ』、『phpオブジェクト指向プログラミング入門チュートリアル』、『php文字列(ストリング)の使い方まとめ』、『php+mysqlデータベース操作入門チュートリアル』、『php共通データベース操作』スキルまとめ』
この記事が皆さんの Yii フレームワークに基づく PHP プログラムの設計に役立つことを願っています。