ci和thinkphp5哪个好,第1张

ThinkPHP 类库说明

ThinkPHP 基类库

类库是 ThinkPHP 的核心部分,而 ThinkPHP 又通过基类库的概念把所有系统类库都集中在一起管理。核心基类库包括完成框架的通用性开发而必须的基础类和常用工具类。

基类库位于 ThinkPHP 系统目录下面的 Lib/Think 目录内,由下面几个部分组成:

Core:核心类库包

Db:数据库类库包

Exception:异常处理类库包

Template:内置模板引擎类库包

Util:系统工具类库包

Core 核心类库

Core 核心类库包括如下类文件(目录):

Thinkclassphp:系统基类

Appclassphp:应用程序类,执行应用管理

Actionclassphp:控制器基类

Modelclassphp:模型基类

Model/AdvModelclassphp:高级模型类

Model/classphp:关联模型类

Model/ViewModelclassphp:视图模型类

Logclassphp:日志处理类

Viewclassphp:视图输出类

Db 数据库类库

Db 核心类库包括如下类文件(目录):

Dbclassphp:数据库中间层实现类

Driver/DbMysqlclassphp:Mysql 数据库驱动类

Driver/DbMysqliclassphp:Mysqli 数据库驱动类

Driver/DbPdoclassphp:PDO 数据库驱动类

Driver/DbPgsqlclassphp:Pgsql 数据库驱动类

Driver/DbSqliteclassphp:Sqlite 数据库驱动类

Driver/DbOracleclassphp:Oracle 数据库驱动类

Driver/DbMssqlclassphp:Mssql 数据库驱动类

Driver/DbIbaseclassphp:Ibase 数据库驱动类

在 Driver 目录下针对不同数据库有不同的数据库驱动类,然后再通过 Dbclassphp 数据库中间层实现类加工后,展现在 ThinkPHP 使用者面前的就是统一的数据库操作模型。

Exception 异常处理类库

Exception 异常处理类库包只包含一个类文件:classphp 系统异常基类。

Template 内置模板引擎类库

Template 内置模板引擎类库包括如下类文件(目录):。

classphp:内置模板引擎类

TagLibclassphp:标签库基类

TagLib/TagLibCxclassphp:CX 标签库解析类

TagLib/TagLibHtmlclassphp:HTML 标签库解析类

Util 系统工具类库包

Util 系统工具类库包提供了系统开发中一些基本的工具,具体包括:

Behaviorclassphp:行为扩展基类

Cacheclassphp:缓存管理类

Cookieclassphp:Cookie 管理类

Debugclassphp:系统调试类

Dispatcherclassphp:URL 解析、路由和调度管理类

HtmlCacheclassphp:静态缓存类

Sessionclassphp:Session 管理类

Widgetclassphp:插件应用类

Cache/:各类型缓存类文件目录,包括:文件缓存类、Sqlite缓存类、Apachenote缓存类、Memcache缓存类、Xcache缓存类、数据库类型缓存类等

Template/:模板引擎解析类目录,包括:模板引擎解析类、模板引擎解析类、Smart模板引擎解析类、Smarty模板引擎解析类、Think模板引擎解析类

ThinkPHP 扩展类库

ThinkPHP 官方网站额外提供了很多的基类库扩展,这些扩展类库必须放置于 ThinkPHP系统目录/Lib 目录下的 ORG 或 Com 类库包内进行管理。

对于需要添加进入扩展类库包的类库,可以直接带路径拷贝类库文件到扩展类库管理目录就可以使用了。例如要使用 Util/Pageclassphp 分页扩展类库,直接到扩展类库管理目录形成 Lib/ORG/Util/Pageclassphp 即可。

对扩展类库需要使用 import 指令导入方可使用,具体参考本节内容《ThinkPHP import 类库导入》。

应用类库

应用类库是指项目中自己定义或者使用的类库。应用类库目录位于项目目录下面的 Lib 目录。

以上是 ThinkPHP 核心 —— 类库的的介绍。了解 ThinkPHP 类库有助于我们了解 ThinkPHP 的层次结构和工作原理,必要的时候参考这些类库的源代码也有助于问题的解决。

ThinkPHP V5

0是一个为API开发而设计的高性能框架——是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化

ThinkPHP5是一个全新的里程碑版本,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有3

2项目的升级,请慎重考虑商业项目升级,但绝对是新项目的首选(无论是WEB还是API开发),而且最好是忘记3

2版本的思维习惯,重新理解TP5

都是简单易上手的框架,不过CI由于诞生早,现在好多东西跟不上了,而且也没什么更新。相对的ThinkPHP就比较好了,又是国人开发,文档易读。

CodeIgniter 是一套小巧但功能强大的、给 PHP 网站开发者使用的 Web 应用程序开发框架和工具包。它为组织提供了足够的自由支持,允许开发人员更迅速地工作。 (推荐学习:PHP视频教程)

CodeIgniter 是一个简单快速的PHP MVC框架。EllisLab 的工作人员发布了 CodeIgniter。许多企业尝试体验过所有 PHP MVC 框架之后,CodeIgniter 都成为赢家,主要是由于它为组织提供了足够的自由支持,允许开发人员更迅速地工作。

自由意味着使用 CodeIgniter 时,您不必以某种方式命名数据库表,也不必根据表命名模型。这使 CodeIgniter 成为重构遗留 PHP 应用程序的理想选择,在此类遗留应用程序中,可能存在需要移植的所有奇怪的结构。

CodeIgniter 不需要大量代码(162 版本仅为 28 MB,其中的 13 MB 是可以删除的用户文档),也不会要求您插入类似于 PEAR 的庞大的库。它在 PHP 4 和 PHP 5 中表现同样良好,允许您创建可移植的应用程序。最后,您不必使用模板引擎来创建视图 — 只需沿用旧式的 HTML 和 PHP 即可。

ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。

ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。

我个人觉得整体说起来yii比较好,优点在于轻量级,缓存做的不错,有很多实现方法很好的避免对php扩展的依赖,执行性能比TP高,等等。

当然,TH也有自己的有点。例如,社区很火爆,中文的新手教程很详细,比较容易上手。缺点也很明显,例如BUG多。我经常在后盾人看教材,学的不太明白,希望能帮到你

现在有两张表:

商品表中有一个 img_id 字段作为的外键。

一个商品有一张,一张对应一个商品。所以商品表和表是一对一的关系。

所以,商品表是主表,表是从表。

那么在 TP5 中要定义模型的一对一关系的话,应该使用如下两种方法

那么这两种方法要怎么使用呢?文档是这么写的

所以,只需要知道外键在哪一张表即可知道用哪一个方法。

这个例子中,Product 中有 Image 的外键 img_id ,所以在 Product 模型中这么定义

如果这个例子改成

现在是表有商品的外键,那么关联关系这么定义

虽然是一对一关系,但是两者是由主从关系的。谁持有外键,谁就是从,另外一个就是主。

belongsTo 和 hasOne 从字面上来看是

所以,商品有的外键 img_id ,那么商品就是从表,就是主表。因此可以得到

反正就是, 谁有外键,谁就是从表

phpcme dedecms他们都有后台和前台会员系统什么的。你只要修改下前台模板,后台建立些栏目什么的就是一个网站了。thinkphp没有后台没有前台,啥都没,只有访问数据库的功能,解析模板的功能,还给你规定了程序该写到些什么文件夹里面。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » ci和thinkphp5哪个好

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情