Yii 是一个基于组件、纯OOP的、用于开发大型 Web 应用的高性能PHP框架。
它将Web编程中的可重用性发挥到极致,能够显著加速开发进程 。
Yii适合大流量的应用,如门户、BBS、CMS及B2B系统等,功能丰富,性能优异
1.在环境变量里添加 E:\yii framework;
2.在环境变量里添加 E:\wamp\bin\php(不添加提示php.exe不是内部命令)或yiic.bat中PHP_COMMAND= E:\wamp\bin\php.exe
3.开启pdo,pdo_数据库扩展
为了使用上面提到的 yiic
工具,CLI PHP 程序必须在命令搜索路径内(译者注:即php.exe 所在的目录必须在PATH环境变量中 ),注销后path配置会生效
1.通过cmd自动化的代码生成项目骨架
- % cd WebRoot
- % php YiiRoot/framework/yiic webapp "E:\Apache2\htdocs\test"
建立数据库连接
要在我们创建的程序骨架中使用这个数据库,我们需要修改它的应用配置 ,它保存在PHP脚本/protected/config/main.php 中。
执行data/schema.sqlite.sql脚本,连接sqlite配置
- 'db'=>array(
- 'connectionString' => 'sqlite:protected/data/blog.db',
- 'tablePrefix' => 'tbl_',
- ),
执行schema.mysql.sql脚本,连接mysql配置
- 'db'=>array(
- 'connectionString' => 'mysql:host=localhost;dbname=blog',
- 'emulatePrepare' => true,
- 'username' => 'root',
- 'password' => '',
- 'charset' => 'utf8',
- 'tablePrefix' => 'tbl_',
- ),
2.创建,读取,更新,删除 (CRUD) 是应用的数据对象中的四个基本操作。由于在Web应用的开发中实现CURD的任务非常常见,Yii 为我们提供了一些可以使这些过程自动化的代码生成工具,名为 Gii
首先我们需要安装 Gii. 打开文件protected/config/main.php
,添加如下代码:
- 'import'=>array(
- 'application.models.*',
- 'application.components.*',
- ),
- 'modules'=>array(
- // uncomment the following to enable the Gii tool
- 'gii'=>array(
- 'class'=>'system.gii.GiiModule',
- 'password'=>'sa',
- //ipFilters用于所在服务器不在本机的情况需开启
- //'ipFilters'=>array('192.168.1.10','::1'),
- ),
- ),
上面的代码安装了一个名为 gii 的模块,这样我们就可以通过在浏览器中浏览如下URL来访问 Gii 模块:
http://localhost/test/index.php?r=gii,在弹出的窗口中输入sa。如下图
创建模型 Model
首先我们需要为每个数据表创建一个模型(Model)类 。模型类会使我们可以通过一种直观的、面向对象的风格访问数据库。稍后我们将会看到这一点。视图可以生成model,视图没有主键model需要加入primaryKey方法
点击 Model Generator 链接开始使用模型创建工具。
在 Model Generator 页中,在Table Name一栏输入 tbl_user (用户表的名字),
然后按下 Preview 按钮。一个预览表将显示在我们面前。我们可以点击表格中的链接来预览要生成的代码。如果一切OK,
我们可以按下 Generate 按钮来生成代码并将其保存在一个文件中。
生成的protected/models/User.php包含了继承自 CActiveRecord 的 User 类,可用于访问 tbl_user 数据表;
实现CRUD操作
模型类建好之后,我们就可以使用 Crud Generator来创建为这些模型实现CRUD操作的代码了。我们将对User模型执行此操作。
在 Crud Generator 页面中,Model Class 一栏输入User(就是我们刚创建的User模型的名字models/User.php) ,然后按下 Preview 按钮。
我们会看到有很多文件将被创建。按下Generate按钮来创建它们。
这样,我们就使用 yiic工具 生成了对于user表的增删改查。使用
- http://localhost/test/index.php?r=user
访问下,试试
多模块(modules)设计
选择Module Generator-->在Module ID 输入框中输入要添加的模块(例如test)-->点击Preview按钮-->点击Generate按钮.至此,test模块便添加完成。对应目录为/protected/modules/test目录
新加模块访问地址为:http://website/index.php?r=test
(中级)自定义Gii生成代码模板
我们使用一个例子来介绍如何定制代码模板。假设我们想要定制由 model 生成器生成的代码。
我们首先创建一个名为 protected/gii/model/templates/customer 的目录。这里的model意味着我们将要 override 默认的 model 生成器。templates/customer意味着我们将增加一个新的代码模板集名为customer。复制文件 framework/gii/generators/model/templates/default/model.php 到 protected/gii/model/templates/customer。现在是时候做点真正的工作了。打开文件 protected/gii/model/templates/customer/model.php 以编辑它。记得这个文件将作为类似一个视图文件被使用,意味着它可以包含 PHP 表达式和语句。让我们更改模板以便生成的代码里 attributeLabels() 方法使用 Yii::t() 来翻译属性标签:
- public function attributeLabels()
- {
- return array(
- <?php foreach($labels as $name=>$label): ?>
- <?php echo "'$name' => Yii::t('application', '$label'),\n"; ?>
- <?php endforeach; ?>
- );
- }
在每个代码模板中,我们可以访问一些预定义的变量,例如上面例子中的 $labels
。这些变量由对应的代码生成器提供。不同的代码生成器可能在他们的代码模板中提供不同的变量。请认真阅读默认代码模板中的描述。
现在打开 model 代码生成器页面。点击 Code Template 输入框。我们应当看到一个下拉列表 ,这个列表包含了我们新建的模板目录 customer。我们选择此模板生成代码文件。
框架生成Controller的模板为:framework/gii/generators/controller/templates/default/controller.php
框架生成Model的模板为:framework/gii/generators/model/templates/default/model.php
(高级 )创建新的生成器
在framework/gii/generators创建widget文件夹,可以编写支持module的Crud Generator,moduleID下model class的写法application.modules.moduleID.models.modelClass
可以把自己扩展的gii放到项目目录下面,配置如下
- 'modules' => array(
- 'gii' => array(
- 'class' => 'system.gii.GiiModule',
- 'password' => 'gii',
- 'generatorPaths' => array(
- 'application.gii.generators',//项目目录结构
- ),
- 'ipFilters' => array('127.0.0.1', '::1'),
- ),
- ),
上面的配置告诉 Gii在别名是application.gii.generators的目录中寻找生成器,以及默认的framework位置system.gii.generators在不同的搜索路径有同名的生成器也是可以的。这种情况下,在GiiModule::generatorPaths 指定目录中先出现的生成器有优先权 。
http://hudeyong926.iteye.com/blog/1273561
相关推荐
yii2 创建表单 笔记
yii2-enhanced-gii Yii2 Gii(发电机)与关系 支持 在LinkedIn上支持我 安装 安装此扩展的首选方法是通过 。 无论运行 $ composer require mootensai/yii2-enhanced-gii:dev-master $ composer require kartik-v/...
您可以使用Gii快速生成模型,表单,模块,CRUD等。 有关许可证信息,请检查文件。 文档位于 。 安装 安装此扩展的首选方法是通过 。 无论运行 php composer.phar require --dev --prefer-dist yiisoft/yii2-gii ...
PhpStorm6 创建yii framework项目全过程。
Yii2 Gii 代码生成器,可轻松创建基本的新表迁移。 安装 安装此扩展的首选方法是通过 。 "wilwade/gii-migration": "dev-master" 用法 //if your gii modules configuration looks like below: $ config [ '...
yii2-ajaxcrud, 用于yii2的单一页面Ajax管理的Gii模板 yii2-ajaxcrud 用于yii2的单一页面Ajax管理的Gii模板 特性使用Ajax创建。读取。更新。删除页面批量删除 suportPjax小部件 suport导出函数( pdf,html,文本,cs
Yii2框架Gii模块 RCE 分析 安全体系 安全测试 网络安全 web安全 应急响应
iiSNS论坛
Yii2 AdminLTE Gii扩展 Yii2框架代码生成器扩展Gii for AdminLTE模板 安装 该软件包由。 如果要手动安装,请打开终端并运行: php composer.phar require " mervick/yii2-adminlte-gii " " * " 或添加到composer....
主要介绍了Yii 框架使用Gii生成代码操作,结合实例形式F分析了Yii 使用Gii生成代码基本操作步骤与相关注意事项,需要的朋友可以参考下
yii是一个非常好的php框架,能让你快速搭建好一个性能优越的php网站,本教程是一个本非常好的yii入门教程,可以让你快速上手。
php yii2框架初始项目 源码
资源名称:PHP YII框架实战项目实例视频教程 教程内容: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
Yii是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。Yii是最有效率的PHP框架之一。
因为基于组件的框架结构和设计精巧的缓存支持,Yii 特别适合开发大型应用,如门户网站、论坛、内容管理系统(CMS)、电子商务项目和 RESTful Web 服务等。 Yii 版本 Yii 当前有两个主要版本:1.1 和 2.0。 1.1 版是...
NULL 博文链接:https://duchengjiu.iteye.com/blog/1813919
yii2-shop, 使用 Yii 2.0实现简单商店的示例项目 Yii 2商店示例项目这是实现一个商店来帮助人们学习 Yii 2.0的例子项目。 它是在 workshop 在Ekaterinburg中执行 8小时时创建的。 这个想法是展示如何处理,网格,...