php框架

 首页 > php框架 > ThinkPHP > 不用封装 SQL, HTML 等领域语言了吧? - Thinkphp

不用封装 SQL, HTML 等领域语言了吧? - Thinkphp

分享到:
【字体:
导读:
          领域语言就是像 SQL,HTML,CSS 等的可以完成某一领域功能的特定领域语言.在 ThinkPHP 框架中,使用 Model 类封装数据库操作行为,定义了若干方法以进行数据库操作:where,table,data,field,order......

不用封装 SQL, HTML 等领域语言了吧?

领域语言就是像 SQL,HTML,CSS 等的可以完成某一领域功能的特定领域语言.

在 ThinkPHP 框架中,使用 Model 类封装数据库操作行为,定义了若干方法以进行数据库操作:

where,table,data,field,order,limit,group,having,join ...

想表达的含意就是开发人员不需要直接写 SQL 语句,只需要通过调用这些用 PHP 定义的若干方法完成数据库操作.

如果不使用 ThinkPHP 直接写 PHP 代码,关系是这样的:

开发人员 --> 写 SQL 语句(在代码中) --> 执行(提交给数据库)

使用 ThinkPHP Model 后关系变成:

开发人员 --> 调用 Model 的方法 --> Model 转换成 SQL --> 执行,这中间增多了一层 Model 方法,开发人员不直接写 SQL 语句,而是调用 Model 的方法让 Model 生成 SQL 语句.

Model 这一层,实际上是使用 PHP 重新定义 SQL 的表达形式,使用一种语言重新定义另一种语言,而且还是使用一种通用语言重新定义一种领域语言.

这种重新定义如果做到最终极,估计就是使用 PHP 重新定义出 SQL 的表达能力,就是另一个 SQL,就姑且叫它“PQL”吧.phpfensi.com

如果是这样的话,看来我还是直接使用 SQL 等领域语言好了.

# 参考:

2.3 程序设计语言的分类:http://book.51cto.com/art/201007/209600.htm

特定领域语言(domain specific languages)是用于解决特殊领域中特殊问题表示技术和解决方案的程序设计语言,典型的特定领域语言包括正则表达式、层叠样式表(cascading style sheets,CSS)、SQL查询语句、标记语言(例如HTML、XML等)等.

分享到:
Ubuntu上搭建ThinkPHP环境 - Thinkphp
Ubuntu上搭建ThinkPHP环境 版本:Apache2; php5; ThinkPHP 3.1.3. Apache2安装好了,PHP5也装好了,并且能显示phpinfo()页面. 但访问thinkphp的项目总显示空白页面,浏览器显示500 Internal Server Error. 像这种时候只能查阅apache的日志,日志默认存储在/var/log/apache2/error.log cat /v...
Thinkphp框架实现多文件上传实现代码 - T...
Thinkphp框架实现多文件上传实现代码 直接在php中的多文件上传我有介绍过很多并且也写过专题了,但是在thinkphp中多文件上传还是头一次碰到了,那么这个thinkphp多文件上传与php会有什么区别与共同点呢?下面我来给大家介绍一个Thinkphp框架实现多文件上传吧,希望对各位会有点帮助. Thinkphp手...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……