《应用Yii1.1和PHP5进行敏捷Web开发》笔记(一)

服务器端需要支持PHP版本5.1.0以上。

在MVC架构里,模型通常是负责维护状态,因为它本身应该封装业务逻辑(规则),定义数据的状态。一个模型可以是CModel的实例或者子类。它包括了数据的一些属性,可能会有不同的标签(一些是为了显示给用户是更加友好),并且设置一些规则进行验证。数据来源数据库的表或者客户端的表单的输入域!

YII实现了两种模型,表单模型(CFormModel类)和Active Record模型(CAtiveRecord类),它们都继承自CModel类。CFormModel代表的数据模型是从HTML表单收集的输入,封装了所有逻辑(如表单的验证和其它业务逻辑,应用到表单的域上)。它能将数据存储在内存中,或者在一个Active Record的帮助下,存入数据库里。

这里要说一下Active Record(AR)是一种设计模式,用面向对象的方式抽象的访问数据,Yii中,每一个AR对象的实例都可以是CActiveRecord类或者它的子类。它包装了数据库表或视图中的一行记录,并封装了所有的逻辑和风闻数据库的细节,有大部分的业务逻辑,必须使用这种模型。数据库表中一行每列字段的值对应AR对象的一个属性。

它将表映射到类,行映射到对象,列则映射到对象的数据。也就是说每一个Active Record类的实例代表了数据库中表的一行。但一个Active Record类不单单是数据库表中的字段跟类中属性的映射关系。它还需要在这些数据上处理一些业务逻辑,定义了所有对数据库的读写操作。

控制器主要处理一个路由的请求,也负责获取用户的输入,与模型交互,指定视图的显示与更新。一个控制器可能是CController类或它的子类。运行时,会执行一个请求的操作,然后与需要的模型交互,最后渲染到一个视图上。操作的命名必须以action开头。


//-------------------------------------------未完待续---------------------------------------------------

转载于:https://www.cnblogs.com/liuqiqian/archive/2011/07/28/2119784.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值