Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。
Yii 几乎拥有了 所有的特性 ,包括 MVC、DAO/ActiveRecord、I18N/L10N、caching、基于 JQuery 的 AJAX 支持、用户认证和基于角色的访问控制、脚手架、输入验证、部件、事件、主题化以及 Web 服务等等。Yii 采用严格的 OOP 编写,Yii 使用简单,非常灵活,具有很好的可扩展性。
准备
下载并安装完Yii框架,运行一个简单的控制台命令来生成一个WEB应用程序的骨架。这个应用程序功能丰富,包括用户登录和联系我们表单。这是一个实施更复杂的功能应用程序的很好的起点。
第一步、创建数据库
Yii可以消除大部分重复编码任务,你所负责的是真正的有创造性的工作。大部分工作通常始于整个系统创建的设计,以及一些数据库的方案。
第二步a、Yii 生成模型类
现在到了Yii转变你的数据库模式进入功能性的PHP代码。使用内置的WEB代码生成器,你也可以把数据库表的定义立刻转变成模型类,不用编写一行代码。这个模型类将允许您使用面向对象的风格访问数据库表。
第二步b、Yii 生成 CRUD 代码
使用上述代码生成器,您可以进一步产生代码,对选定的数据表实现了典型的CRUD(创建,读取,更新,删除)的特征。生成的代码是高度可用的和可定制的,证实了well-adopted MVC设计模式(model-view-controller)。 再次,Yii做了所有的创建工作而不需要你写一行代码。
第三步、自定义的代码,以符合您的确切的需要
最后,你需要定制自己的代码,以符合您确切的需要。例如,在用户管理页面隐藏的密码栏,下面划线的元素就是用户管理员在浏览文件显示“密码”::
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'user-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id', 'username',
'password',
'email', array('class'=>'CButtonColumn'),
))); ?>
Yii 1.1.14 RC 发布了,该版本中修复了超过 80 个 bug,引入超过 60 项增强和新特性。增加 CPasswordHelper 提供安全和更新的方法用来存储和验证密码;增加 CRedisCache 以支持 Redis 缓存;可作为 Composer package 来安装。
忘写 echo
在下面的视图输出中:
<h1>Edit item: <?php $model->label; ?></h1>
你可能会花费很多时间去测试为什么 $model->label 没有值.
错误使用 echo
在下面的视图输出中:
<h1>Edit item: <?php echo $this->widget('CWidget'); ?></h1>
会提示 "Object of class CWidget could not be converted to string." 类 CWidget 的对象不能转化为字符串。
规则中的数字
在模型中的 rules 方法中使用 :
array('count', 'number', 'integerOnly'=>true),
然后试试
array('count', 'numeric', 'integerOnly'=>true),
最后再使用 'numerical'.