标签:
ThinkPHP放到wamp下的www目录即可启动,非常方便。ThinkPHP的唯一入口文件为./index.php。
// 应用入口文件 // 检测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‘; // 亲^_^ 后面不需要任何代码了 就是如此简单
其中application目录为ThinkPHP代码创建的网站内容目录。
在刷新系统前,这个目录是这样子的。
通过web方式刷新后,目录就变成这样了。
我们可以任意修改Application目录,tp均会创建对应的app,例如,我们把应用目录修改为myWeb,再刷新http://localhost/thinkphp/index.php
// 定义应用目录 define(‘APP_PATH‘,‘./myWeb/‘);
就会出现myWeb对应的目录,目录中的内容一应俱全。
由于tp采用的是单入口方式,因此,为了创建第二个入口,就需要在tp根目录下,创建第二个php文件。例如admin.php,用来作为后台的入口文件。
把原有的index.php复制粘贴为admin.php,并修改app目录为admin,再刷新http://localhost/thinkphp/admin.php,就会发现tp创建了第二个web目录。
其中,在入口程序中,还可以支持以下三个配置方式。
//自动生成的目录中,会在home目录下,创建空白的index.html,用来保护home目录。 //设置DIR_SECURE_FILENAME属性,可以设置index.html对应的文件名 define(‘DIR_SECURE_FILENAME‘, ‘default.html‘); //设置DIR_SECURE_CONTENT可以设置对应文件内容 define(‘DIR_SECURE_CONTENT‘, ‘dir forbiden‘); //设置BUILD_DIR_SECURE为false可以关闭创建该静态html文件 //define(‘BUILD_DIR_SECURE‘,false);
删除原有的admin目录,再刷新http://localhost/thinkphp/admin.php,就会发现原来的index.html已经修改为default.html.
打开default,内容变为:
Home/Controller/IndexController.class.php
命名空间
tp采用命名空间方式定义和加载类库文件,有效的解决多个模块之间的冲突问题,并且实现了更加高效的类库自动加载机制。
namespace Home\Controller;
导入命名空间
use Think\Controller;
这里标明了在ThinkPHP\Library\Think\Controller.class.php为其父类。
class IndexController extends Controller {
IndexController类继承了前面的Controller父类。
目录结构解析:从入口文件开始,依次访问/Home/Index/test
可以看到以下内容。
这个test是以下方法打印的内容。
} public function test(){ echo ‘test‘; }
因此,可以了解,Home对应的是Home目录,Index对应的是IndexController类,而test对应的是public funciton test方法。
Controller的基本结构:
根据Controller.class.php可以创建UserController.class.php,其基本结构如下:
<?php namespace Home\Controller; use Think\Controller; class UserController extends Controller{ public function index(){ echo ‘user‘; //user被默认执行 } public function test(){ echo ‘user test‘; } }
这样,就可以在http://localhost/thinkphp/index.php/Home/User/Test中访问对应的test函数。
ThinkPHP学习-1:入口文件,命名空间和UserController.class.php
标签:
原文地址:http://www.cnblogs.com/eachcto/p/5027835.html