https://www.kancloud.cn/manual/thinkphp/1678
1,隐藏index.php/home/中的index.php
配置.htaccess文件
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
2隐藏模块目录如http://www.tp.com/home/index 改成 http://www.tp.com/index
在Common/Conf/config.php中加入配置
'DEFAULT_MODULE' => 'Home',
'MODULE_ALLOW_LIST' => array('Home')
3,多模块设置,如Home,Admin
把入口文件复制一份,改名成Admin.php,并修改代码如下,访问Admin.php文件即可
1)在Common/Conf/config.php中加入配置
'DEFAULT_MODULE' => 'Home',
'MODULE_ALLOW_LIST' => array('Home','Admin')
2)Admin.php文件如下修改
// 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',True); //生成Admin目录和模块 define('BIND_MODULE','Admin'); // 定义应用目录 define('APP_PATH','./Application/'); // 引入ThinkPHP入口文件 require './ThinkPHP/ThinkPHP.php'; // 亲^_^ 后面不需要任何代码了 就是如此简单
4,控制器调用模板文件
namespace HomeController; use ThinkController; use HomeModelUserModel; use ThinkModel; class IndexController extends Controller { public function index(){ $name='feng'; $this->assign('name',$name);//绑定变量 $this->display();//调用模板 默认调用 Application/Home/View/Index/index.html
}
5,display()的几种调用方式
一、调用当前模块的其他模板
格式:$this->display('模板名字');
例如:假设当前操作的是Table模块下的 apple , 我们需要调用Table模块下的 orange。
这样写 $this->display('orange')即可。
二、调用其它模块的操作
格式:$this->display('模块名:模板名')
例如:假设当前操作的是Table模块。我们需要调用 Food模块的 pizza。
这样写 $this->display('Food:pizza')即可。
三、全路径输出模板
格式:$this->display('路径文件名');
例如:我们输出当前的public目录下的 add.html
这样写 $this->display('./public/add.html');即可。
四、其他参数方法
我们想指定模板输出的编码,而不是默认编码。
可以使用 $this->display('Table:apple','gbk');
或者模板不是HTML格式的 ,而是XML格式的
可以 $this->display('Table:apple','utf-8','text/xml');