我已经在入口index.php设置了define ( 'APP_DEBUG', true );
并且在config.php也设置了'SHOW_PAGE_TRACE' => true,
但是还是不行,请问是怎么回事?
thinkphp3.2如何开启trace?
答案:2 悬赏:80 手机版
解决时间 2021-02-27 15:35
- 提问者网友:泪痣哥哥
- 2021-02-27 00:37
最佳答案
- 五星知识达人网友:青灯有味
- 2021-02-27 00:45
入口文件配置就可以了。写成:define('APP_DEBUG',true);
全部回答
- 1楼网友:毛毛
- 2021-02-27 01:40
下载框架
进入官网下载thinkphp ,这里选择 thinkphp3.1.3完整版。解压后目录为
把压缩包放在web目录下面,所以我们需要在php的服务器软件xampp的htdocs目录下面建一个空文件夹hlm(项目名称自己随便取),然后在该文件夹下面再新建一个文件夹thinkphp,把目录里面的文件全部放在thinkphp里面。再新建一个public文件夹存项目公共
的文件,如js和css文件等。再新建一个项目文件夹home作为主要工程目录。
搭建本地项目
在项目目录下面新建,index.php文件
开启apache服务器,访问网址 localhost://hlm出现如下界面
这个时候网站下面会自动生成目录,如下图所示:
配置路由
目前用到的目录是lib下面的action目录,存放类似于java的struts框架的action。还有模板目录tpl,下面存放的都是html文件,配合模板引擎用于前端显示。(在搭建环境的时候,有smarty模板引擎等开发经验和mvc框架的使用经验,可能更有助于理解)。然后在action文件夹下面,新建一个accountaction.class.php。命名规则为:模块名+class.php
display('login');
}
}
在tpl目录下面放文件login.html用于显示。访问localhost/index.php/hlm/account/login会跳转到login.html页面
这个是由于thinkphp采用了pathinfo模式,控制器(模块)/动作采用在服务器新建文件.htacess,添加如下内容,可以重写路由,前提
是apache服务器下的httpd.conf的这一行注释去掉
loadmodulerewrite_module modules/mod_rewrite.so
rewriteengine on
rewritecond %{request_filename} !-d
rewritecond %{request_filename} !-f
rewriterule ^(.*)$ index.php/$1 [qsa,pt,l]
配置好重写规则,正则表达式^(.*)$ 匹配任意字符,=> index,php。意思是任意地址访问的实际地址是index.php,而网页上面不会显示,这个方法经常用于实现伪静态,意思是说将这个反过来,网页的地址看起来是个静态的地址*.html,实际上跳转到其他的地址上。
伪静态的好处是seo友好,更容易让搜索引擎搜索到。
现在我们可以通过localhost/hlm/account/login来访问了。
thinkphp还支持路由功能,路由功能意思也很简单,就是和配置.htaccess文件重写路由一样,控制页面跳转,显示地址和实际跳转地址不一样。左边是显示地址,右边是实际跳转地址。配置方法是在conf文件夹的config.php文件中添加以下语句。
'配置值'
'url_route_rules'=>array(
'login$' => 'account/login'
),);
?>
现在我们可以通过url为localhost/hlm/login来访问
后面添加$符号代表不模糊匹配,意思是login1不算匹配,只有完全一样才匹配。
重写路由我理解的好处是能够简化url访问链接。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯