ThinkPHP学习-1:入口文件,命名空间和UserController.class.php

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代码创建的网站内容目录。

在刷新系统前,这个目录是这样子的。

ThinkPHP学习-1:入口文件,命名空间和UserController.class.php_第1张图片

通过web方式刷新后,目录就变成这样了。

ThinkPHP学习-1:入口文件,命名空间和UserController.class.php_第2张图片

 

我们可以任意修改Application目录,tp均会创建对应的app,例如,我们把应用目录修改为myWeb,再刷新http://localhost/thinkphp/index.php

// 定义应用目录
define('APP_PATH','./myWeb/');

就会出现myWeb对应的目录,目录中的内容一应俱全。

ThinkPHP学习-1:入口文件,命名空间和UserController.class.php_第3张图片

由于tp采用的是单入口方式,因此,为了创建第二个入口,就需要在tp根目录下,创建第二个php文件。例如admin.php,用来作为后台的入口文件。

把原有的index.php复制粘贴为admin.php,并修改app目录为admin,再刷新http://localhost/thinkphp/admin.php,就会发现tp创建了第二个web目录。

ThinkPHP学习-1:入口文件,命名空间和UserController.class.php_第4张图片

其中,在入口程序中,还可以支持以下三个配置方式。

//自动生成的目录中,会在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.

ThinkPHP学习-1:入口文件,命名空间和UserController.class.php_第5张图片

打开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,其基本结构如下:

  • 命名空间
  • 导入
  • 类名和继承
  • index方法和其他方法
<?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)