YII Framework框架教程之使用YIIC快速创建YII应用详解_php实例
本文实例讲述了YII Framework框架使用YIIC快速创建YII应用的方法。分享给大家供大家参考,具体如下:
yii提供了强大的命令行工具来快速的创建相关组件和应用。
cd进入yii/framework框架的根目录。
执行
# php yiic Yii command runner (based on Yii v1.1.8) Usage: yiic <command-name> [parameters...] The following commands are available: - message - migrate - shell - webapp To see individual command help, use the following: yiic help <command-name>
可以看到
yiic的基本命令参数规则
yiic
command-name对应的有
- message
- migrate
- shell
- webapp
如果要查看具体的命令的功能可以用
yiic help
例如:
php yiic shell
1.php yiic webapp
执行 php yiic help webapp
/* USAGE yiic webapp <app-path> 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 <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优秀开发框架总结》、《smarty模板入门基础教程》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

.NET Framework 4 est requis par les développeurs et les utilisateurs finaux pour exécuter les dernières versions des applications sous Windows. Cependant, lors du téléchargement et de l'installation de .NET Framework 4, de nombreux utilisateurs se sont plaints de l'arrêt du programme d'installation à mi-chemin, affichant le message d'erreur suivant : « .NET Framework 4 n'a pas été installé car le téléchargement a échoué avec le code d'erreur 0x800c0006 ». Si vous le rencontrez également lors de l'installation de .NETFramework4 sur votre appareil, vous êtes au bon endroit

Chaque fois que votre PC Windows 11 ou Windows 10 rencontre un problème de mise à niveau ou de mise à jour, vous verrez généralement un code d'erreur indiquant la raison réelle de l'échec. Cependant, une confusion peut parfois survenir lorsqu'une mise à niveau ou une mise à jour échoue sans qu'un code d'erreur ne s'affiche. Grâce à des codes d'erreur pratiques, vous savez exactement où se situe le problème afin que vous puissiez essayer de le résoudre. Mais comme aucun code d’erreur n’apparaît, il devient difficile d’identifier le problème et de le résoudre. Cela prendra beaucoup de temps pour simplement découvrir la raison de l'erreur. Dans ce cas, vous pouvez essayer d'utiliser un outil dédié appelé SetupDiag fourni par Microsoft qui vous aide à identifier facilement la véritable raison de l'erreur.
![SCNotification a cessé de fonctionner [5 étapes pour y remédier]](https://img.php.cn/upload/article/000/887/227/168433050522031.png?x-oss-process=image/resize,m_fill,h_207,w_330)
En tant qu'utilisateur Windows, vous rencontrerez probablement une erreur SCNotification a cessé de fonctionner à chaque démarrage de votre ordinateur. SCNotification.exe est un fichier de notification système Microsoft qui plante à chaque démarrage de votre PC en raison d'erreurs d'autorisation et de pannes de réseau. Cette erreur est également connue sous son nom d’événement problématique. Vous ne verrez donc peut-être pas cela comme un arrêt de SCNotification, mais comme un bug clr20r3. Dans cet article, nous explorerons toutes les étapes à suivre pour réparer SCNotification a cessé de fonctionner afin qu'il ne vous dérange plus. Qu'est-ce que SCNotification.e

Les utilisateurs de Microsoft Windows qui ont installé Microsoft.NET version 4.5.2, 4.6 ou 4.6.1 doivent installer une version plus récente de Microsoft Framework s'ils souhaitent que Microsoft prenne en charge le framework via de futures mises à jour de produit. Selon Microsoft, les trois frameworks cesseront de prendre en charge le 26 avril 2022. Une fois la date de support terminée, le produit ne recevra plus de « correctifs de sécurité ni de support technique ». La plupart des appareils domestiques sont tenus à jour grâce aux mises à jour Windows. Ces appareils disposent déjà de versions plus récentes de frameworks, telles que .NET Framework 4.8. Les appareils qui ne se mettent pas à jour automatiquement peuvent

Cela fait une semaine que nous parlions du nouveau bug du mode sans échec affectant les utilisateurs ayant installé KB5012643 pour Windows 11. Ce problème embêtant n'apparaissait pas sur la liste des problèmes connus publiée par Microsoft le jour du lancement, prenant ainsi tout le monde par surprise. Eh bien, juste au moment où vous pensiez que les choses ne pourraient pas empirer, Microsoft lâche une autre bombe pour les utilisateurs qui ont installé cette mise à jour cumulative. Windows 11 Build 22000.652 pose davantage de problèmes. La société de technologie avertit donc les utilisateurs de Windows 11 qu'ils pourraient rencontrer des problèmes lors du lancement et de l'utilisation de certaines applications .NET Framework 3.5. Cela vous semble familier ? Mais s'il te plaît, ne sois pas surpris

Avec le développement continu de la technologie du cloud computing, la sauvegarde des données est devenue quelque chose que chaque entreprise doit faire. Dans ce contexte, il est particulièrement important de développer un système de sauvegarde cloud hautement disponible. Le framework PHP Yii est un framework puissant qui peut aider les développeurs à créer rapidement des applications Web hautes performances. Ce qui suit explique comment utiliser le framework Yii pour développer un système de sauvegarde cloud hautement disponible. Conception du modèle de base de données Dans le framework Yii, le modèle de base de données est une partie très importante. Parce que le système de sauvegarde des données nécessite beaucoup de tables et de relations

Alors que la demande d'applications Web continue de croître, les développeurs ont de plus en plus de choix dans le choix des frameworks de développement. Symfony et Yii2 sont deux frameworks PHP populaires. Ils ont tous deux des fonctions et des performances puissantes, mais face à la nécessité de développer des applications Web à grande échelle, quel framework est le plus adapté ? Nous procéderons ensuite à une analyse comparative de Symphony et Yii2 pour vous aider à faire un meilleur choix. Présentation de base Symphony est un framework d'application Web open source écrit en PHP et basé sur

À mesure qu’Internet continue de se développer, la demande de développement d’applications Web augmente également. Pour les développeurs, le développement d'applications nécessite un cadre stable, efficace et puissant, qui peut améliorer l'efficacité du développement. Yii est un framework PHP hautes performances de premier plan qui offre des fonctionnalités riches et de bonnes performances. Yii3 est la version nouvelle génération du framework Yii, qui optimise davantage les performances et la qualité du code basé sur Yii2. Dans cet article, nous présenterons comment utiliser le framework Yii3 pour développer des applications PHP.
