框架项目部署(核心文件不可修改)
2015年8月19日 14:23
- 创建一个入口文件index.php
- 项目自动创建目录
- 访问入口文件的同时系统会自动把对应的文件创建出来
控制器和对应方法的创建:
路由解析:
通过URL地址个头参数找到指定的控制器,并进行对应方法调用请求
http://网址/index.php?m=模块名称&c=控制器&a=方法
以上URL地址信息代码不安全
tp框架URL地址可以由一下四种:
- http://网址/index.php?m=XX&c=XX&a=XX 基本get模式
- http://网址/index.php/模块/控制器/操作方法
路径模式pathinfo - http://网址/模块.控制器.操作方法
rewrite重写模式 - http://网址/index.php?s=/模块/控制器/操作方法
兼容模式
具体URL地址模式设置(配置文件ThinkPHP/Conf/convertion.php)
URL_MODEL
common中的config.php是我们当前自己项目的配置文件,我们可以通过修改文件达到配置变量的目录,这个文件在系统运行过程中会覆盖convertion.php配置
我们系统有兼容4中URL地址模式
系统有的时候会自动创建URL地址,他会根据当前模式进行URL地址创建使用
在入口文件index.php调整当前模式为开发调试模式:
- 我们学习到了配置变量(核心配置变量conversion.php.当前配饰变量config.php)
- 快捷函数U(模块/控制器/操作方法)根据参数URL模式,创建URL地址
- 把框架的模式调整为开发调试模式
开发,生产模式
开发调试模式:系统需要加在24个文件,index。Php define(”APP_DEBUG”,true)
控制器调用视图模型:
APP_DEBUG=TRUE 显示信息更加详细
控制器和模板的关系
通常:每个控制标志在view目录都会有一个对应控制器标志的目录,里面有具体的模板文件。
例如GoodsController.class.php控制在view目录有Goods目录,里面都是Goods控制器对应的模板文件
视图模板与项目进行整合:
- 引入静态代码
- 引入css,image,js
- 以上3样东西,浏览器需要发送单独的http请求
- 引入css的时候以user为相对目录进行查询不可行,需要写成绝对路径
以上方法不利于后期维护,可以用常量进行定义
TP框架默认引擎的使用方法{$Think.const.名称 }
模板与tp框架整合
- 引入静态代码
- 引入css,img,js文件
- 在入口文件地方吧css,img,js设置常量
- 在模板中通过常量获得具体的css,img等文件信息
- 把css文件本身的图片路径设置正确
url大小写设置
空操作和空控制器使用
空操作:就没有指定的操作方法
空控制器:没有指定控制器
- http://网址/index.php/Home/User/login
- http://网址/index.php/Home/User/hello 空操作
- http://网址/index.php/Home/beijing/login 空控制器
一般网站是不给用户提示任何错误信息
空操作本质意思:一个对象(控制器)调用本身不存在的方法
在OOP里边,对象调用本身不存在方法,处于用户体验比较好的角度考虑,我们可以在里面做一个魔术方法:function_call();
U()
制作url地址的快捷函数
C(名称)
获得配置变量(convertion.php config.php)信息
C(名称,值)
配置变量信息
L()
获得语言变量信息
E()
给页面输出错误信息
A(项目:// 模块/控制器)
实例化控制器对象
系统函数库:
项目分组
为了系统开发方便,及代码部署更加合理,我们的控制器、view视图等前后台文件不要混合在一起在物理结构上把他们分开。
后台登陆页面与框架整合
控制器:
ManagerController.class.php
后台品字形框架页面
跨控制器调用:
优点:可以减少我们代码的工作量
A("模块/控制器")
实例化控制器对象
R("模块/控制器/使用方法")
实例化对象同时调用使用方法
框架执行流程分析及使用
2015年8月21日 10:15
利用反射实现对象调用方法
数据库连接及model模型定义使用
2015年8月21日 12:16
-
连接数据库变量
-
字段缓存
-
可以根据情况对当前的model模型进行个性化设置
-
在入口文件定义一个输出调试函数
实例化model的三种方式
注意:如果没有对应的model模型文件类,也可以直接实例化model对象进行操作
数据查询
select()是数据模型的一个指定方法,可以获取数据表的数据信息
1.配置smarty
a)配置变量信息
i. convertion.php
ii. Behavior行为配置变量信息
iii. 系统程序里面有一些l零散
例如: