ThinkPHP框架应用

1.ThinkPHP轻量级开发框架, 涉及LAMP, OOP, MVC, ORM, CURD, ActiveRecord, 单一入口等概念。

 

-----------------------------框架设计------------------------------------------------

 

 

2.ThinkPHP值得推荐的特性:

类库导入

URL模式(普通模式, PATHINFO模式, REWRITE模式, 兼容模式)

编译机制,(有效减小OOP开发中文件加载的性能开销,ALLLINONE模式)

ORM

查询语言

动态模型

高级模型

视图模型

关联模型

分组模块

模板引擎

AJAX支持

多语言支持

模式扩展

自动验证和完成

字段类型检查

数据库特性

缓存机制

 

3.部署目录,采用分组模块可以项目总体目录结构

ThinkPHP系统目录

App项目目录

Public网站公告目录(包括图片,JS,CSS统一放到网站的公共目录Public下面,)

index.php网站入口文件

 

4.MVC是一种将应用程序的逻辑层和表现层分开的方法. ThinkPHP中MVC分层体现:

模型(M): 模型的定义由Model类完成,

控制器(C): 应用控制器(核心控制器APP)和Action控制器承担了控制器角色,Action控制器完成业务控制,而应用控制器负责调度控制,

视图(V): 有View类和模板文件组成,模板做到100%分离,可以独立预览和制作

 

5.命名规范

5.1类文件都亿.class.php为后缀,并使用驼峰命名,首字母大写

5.2类名和文件名一致,大小写一致

5.3函数采用小写字母或下划线命名

5.4Action控制器类以Action为后缀

5.5模型类以Model为后缀

5.6属性和方法的命名使用驼峰法并首字母小写

5.7"__"以双下划线开头的方法为魔法方法,(如:__call,__autoload)

5.8常量,配置参数,语言变量以大写字母和下划线命名

5.9数据表和字段采用小写字母加下划线命名

5.10ThinkPHP默认采用UTF_8编码,所以新建程序文件也要以UTF-8命名

 

6.入口文件, ThinkPHP采用单一入口模式进行项目部署和访问, 入口文件主要完成的作用是:

*路径定义和项目名称定义(可选)

*额外参数定义(可选)

*载入框架入口文件(必须)

*实例化一个App应用(必须)

<?php

define('THINK_PATH','../THINKPHP');

define('APP_NAME','Myapp'); //通常必须和项目目录名称一致. 如果项目入口文件放在项目目录下面,则可以无须定义项目名称和项目目录,系统可以自动识别

define('APP_PATH','.'); //指项目目录所在路径,而不是项目入口文件所在目录

require(THINK_PHP."/ThinkPHP.PHP");

App::run();

?>

6.1ThinkPHP具备项目目录自动生成功能. 项目目录的Conf下面的config.php是自动生成的配置文件.

6.1模板定义,系统自动生成了Tpl/default目录."<form method='post' action='__RUL__/insert'></form>",表示表单提交到当前模块的insert操作.

 

7.项目编译

项目编译机制是指系统第一次运行的时候会自动生成核心缓存文件~runtime.php和项目编译缓存文件~app.php,这些编译缓存文件把核心和项目必须的文件打包到一个文件中.

7.1核心编译缓存文件~runtime.php包含的文件有系统的core.php文件决定. 默认生成在项目目录下的Runtime目录下,可以在入口文件中设置RUNTIME_PATH参数:

define('RUNTIME_PATH','/MyApp/temp');

注意在LINUX下要对RUNTIME_PATH目录设置可写权限

7.2项目编译缓存文件~app.php包含项目配置文件和项目公共文件,可通过在项目配置目录下建立app.php文件定义自己的项目编译文件列表.

7.3调试模式下只生成核心编译缓存文件,如果要关闭核心编译缓存文件,设置NO_CACHE_RUNTIME参数:

define('NO_CACHE_RUNTIME',true);

对编译的缓存文件是否去空白和注释操作:

define('STRIP_RUNTIME_ SPACE',True);

 

8.URL访问, 支持普通模式, PATHINFO模式, REWRITE模式,  兼容模式. 默认为PATHINFO模式.

 

9.控制器,ThinkPHP的控制器就是一个模块类,位于项目的Lib/Action/目录下,每个模块的操作并非一定要有定义操作方法.

 

10.模型 ,ThinkPHP的模型类就是Model类.

 

11.视图,ThinkPHP的视图主要由View视图类和模板文件构成,视图类负责Action控制器类和模板文件之间的沟通.

 

12.数据库抽象层,把不同的数据库操作封装起来.

 

13.模板引擎, ThinkPHP内置了ThinkTemplate模板引擎.

 

--------------------------------构建应用---------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值