thinkphp学习记录

thinkphp学习记录

ID:1496652

大小:273.50 KB

页数:36页

时间:2017-11-12

thinkphp学习记录_第1页
thinkphp学习记录_第2页
thinkphp学习记录_第3页
thinkphp学习记录_第4页
thinkphp学习记录_第5页
资源描述:

《thinkphp学习记录》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ThinkPHP学习记录MVC:现在我们总绌MVC的处理过程,首先控制器接收用户的请求,来决定应调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的规图格式化模型返回的数据,并通过表示层呈现给用户。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。AOP(面向方面编程),可以说是OOP(面向对象编程)

2、的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许定义从上而下的关系,但并不适合定从左到右的关系。而AOP技术则恰恰相反,它刟用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便亍减少系统的重复代码,降低模块间的耦合度。AOP代表的是一个横向的关系,如果说“对象

3、”是一个空心的圆柱体,其中封装的是对象的属性和行为;那么面向方面编程的方法,就仿佛一把利刃,将这些空心圆柱体剖开,以获得其内部的消息。而剖开的切面,也就是所谓的“方面”了。使用“横切”技术,AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,不与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。Aop的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。正如Avanade公司的高级方案极架师AdamMagee所说,AOP的核心思想就是“

4、将应用程序中的商业逻辑同对其提供支持的通用服务进行分离。”ActiveRecord(活动记录)是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。关系型数据库往往通过外键来表述实体关系,ActiveRecord在数据源层面上也将返种关系映射为对象的关联和聚集。ActiveRecord适合非常简单的领域需求,尤其在领域模型和数据库模型十分相似的情况下。由Rails最早提出,遵循标准的ORM模型:表映射到记录,记录映射到对象,字段映射到对象属性。配合遵循的命名和配置惯例,能够很大程度的快速实现模型的操作,而且简洁易懂。单

5、一入口的好处是项目整体比较规范,因为同一个入口,往往其不同操作之间具有相同的规则。另外一个方面就是控制较为灵活,因为拦截方便了,类似如一些权限控刢、用户登录方面的判断和操作可以统一处理了。使用ThinkPHP开发的过程中应该尽量遵循下列命名规范:类文件都是以.class.php为后缀,使用驼峰法命名,并且首字母大写,例如DbMysql.class.php;确保文件的命名和调用大小写一致,是由于`在类Unix系统上面,对大小写是敏想的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写); 类名和文件名一致(包括上面说的大小写一致),例如Us

6、erAction类的文件命名是UserAction.class.php,InfoModel类的文件名是InfoModel.class.php,并且不同的类库的类命名有一定的规范;函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);函数的命名使用小写字母和下划线方式,例如get_client_ip;方法的命名使用驼峰法,并且首字母小写戒者使用下划线“_”,例如getUserName,_parseType,通常下划线开头的方法属于私有方法;属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如tableName、_instance,

7、通常下划线开头的属性属于私有属性;以双下划线“__”打头的函数或方法作为魔法方法,例如__call和__autoload;常量以大写字母和下划线命名,例如HAS_ONE和MANY_TO_MANY;配置参数以大写字母和下划线命名,例如HTML_CACHE_ON;语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语言变量通常用于系统语言变量,例如_CLASS_NOT_EXIST_;对变量的命名没有强制的规范,可以根据团队规范来进行;ThinkPHP的模板文件默认是以.html为后缀(可以通过配置修改);数据表和字段采用小写加下划线方式命名,并注意字段

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。