thinkPHP简单结构介绍:
application : 应用
extend:扩展 扩展内库
public:入口文件 index.php 在里面
runtime:缓存文件(里面的文件可以随便删除)
thinkphp:tinkphp的核心框架
vendor:第三方的内库
thinkPHP几个重要的核心文件:
1、App.class.php 框架核心类文件
2、Think.class.php 每次请求都要执行的类
3、Controller.class.php 控制器的父类
4、Model.class.php 模型的父类
5、View.class.php 视图的父类
构建一个THink应用:
// 检测PHP环境 if(version_compare(PHP_VERSION,‘5.3.0‘,‘<‘)) die(‘require PHP > 5.3.0 !‘); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define(‘APP_DEBUG‘,True); // 定义应用目录 define(‘APP_PATH‘,‘./Application/‘); // 引入ThinkPHP入口文件 require ‘./ThinkPHP/ThinkPHP.php‘;
thinkPHP的路由:
thinkphp下的 conf 下可以进行配置:(154行)
/* 系统变量名称设置 */ ‘VAR_MODULE‘ => ‘m‘, // 默认模块获取变量 ‘VAR_ADDON‘ => ‘addon‘, // 默认的插件控制器命名空间变量 ‘VAR_CONTROLLER‘ => ‘c‘, // 默认控制器获取变量 ‘VAR_ACTION‘ => ‘a‘, // 默认操作获取变量
第一种方式:( 默认 )pathinfo模式:网址 / 入口文件(index.php) / 平台(home) / 控制器(index) / 方法(index)
http://think.fyz.com/index.php/home/index/index
第二种方式:普通模式:网址 / 入口文件(index.php) ? m=模型(home) & c=控制器(index) & a=方法(index)
http://think.fyz.com/index.php?m=home&c=index&a=index
第三种方式:rewrite();重写模式
第四种方式:兼容模式 参数 s=/分组/控制器/方法
http://think.fyz.com/index.php?s=/home/index/index
定义和调用TP模板:
所有的模板都要放到 view 文件夹下:
规则:一个控制器对应一个文件夹,一个方法对应一个文件;
TP常用的系统变量:
header(‘content-type:text/html; charset=utf-8‘); echo "当前请求地址:".__SELF__."<br>"; echo "当前分组:".__MODULE__."<br>"; echo "当前控制器:".__CONTROLLER__."<br>"; echo "当前方法:".__ACTION__."<br>";
具体查看地址:ThinkPHP / Behavior / ContentReplaceBehavior.class.php (30行)
$replace = array( ‘__ROOT__‘ => __ROOT__, // 当前网站地址 ‘__APP__‘ => __APP__, // 当前应用地址 ‘__MODULE__‘ => __MODULE__, ‘__ACTION__‘ => __ACTION__, // 当前操作地址 ‘__SELF__‘ => __SELF__, // 当前页面地址 ‘__CONTROLLER__‘=> __CONTROLLER__, ‘__URL__‘ => __CONTROLLER__, ‘__PUBLIC__‘ => __ROOT__.‘/Public‘,// 站点公共目录 );
一些常用的方法:
1、打印出系统常量;(这些是 ThinkPHP的,不是PHP的)
var_dump(get_defined_constants());
时间: 2024-11-09 17:54:00