博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP框架应用
阅读量:4042 次
发布时间:2019-05-24

本文共 2253 字,大约阅读时间需要 7 分钟。

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模板引擎.

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载地址:http://zfadi.baihongyu.com/

你可能感兴趣的文章
计算机网络复习要点
查看>>
Variable property attributes or Modifiers in iOS
查看>>
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
Ubuntu 13.10使用fcitx输入法
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
retext出现Could not parse file contents, check if you have the necessary module installed解决方案
查看>>
Matlab与CUDA C的混合编程配置出现的问题及解决方案
查看>>
PaperDownloader——文献命名6起来
查看>>
如何将PaperDownloader下载的文献存放到任意位置
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
JVM最简生存指南
查看>>
Java的对象驻留
查看>>
logback高级特性使用(二) 自定义Pattern模板
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>