从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图⽂详解本⽂实例讲述了从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记。分享给⼤家供⼤家参考,具体如下:
⽤tp3.2.3做了不少项⽬,但是毕竟要与时代接轨,学习⼀些新的框架,⽐如tp5
以下记录⼀些学习中遇到的问题及解决办法,还有tp3.2和tp5.0的⼀些区别,适合给⽤过tp3没⽤过tp5的童鞋做个参考。
随着学习不断更新......
+++++++++++++++++++++++分割线总是要有的+++++++++++++++++++++++
⾸先到下载了⼀个最新的完整版:
直接扔到了服务器上,解压后⽬录结构如下:
⽬录结构整体与tp3.2⼤同⼩异,⽂件夹⾸字母⼩写了,应⽤⼊⼝⽂件在根⽬录下 public/index.php,官⽅⽂档对public⽂件夹定义为WEB部署⽬录(对外访问⽬录):
配置服务器域名解析的时候需要把项⽬根⽬录指向/public:
<VirtualHost *:80>
ServerAdmin 1977629361@qq
DocumentRoot /var/www/tp/public
hdo
hdo
DirectoryIndex index.php index.html index.htm
</VirtualHost>
根⽬录下 application/config.php 为应⽤(公共)配置⽂件,设置⼀些常⽤的配置,以下简称为“配置⽂件”:
访问⽹址如下:
访问tp.oyhdo等同于访问tp.oyhdo/index.php/index/Index/index(默认不区分⼤⼩写)
即默认模块index,默认控制器Index,默认操作index
配置⽂件修改分别为default_module、default_controller、default_action
如果需要强制区分url⼤⼩写,修改 url_convert 为false:
配置⽂件中设置 app_debug 为true,打开应⽤调试模式,以便开发调试:
【隐藏url中的index.php⼊⼝⽂件】
以Apache服务器为例,⾸先确认Apache配置⽂件f中开启了mod_rewrite.so模块:
然后把所有【AllowOverride】设为All:
php修改数据库内容最后修改根⽬录下 public/.htaccess ⽂件内容为:
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
去掉index.php也可访问:
【隐藏前台url模块名】
把index模块作为前台,在前台新建了⼀个User控制器:
<?php
namespace app\index\controller;
class User
{
public function user()
{
return '这是User控制器的user操作';
}
}
正常需要这样访问User控制器的user操作:
为了前台url显⽰简洁⼀些,要去掉模块名index,然后就崩了:
如果只有⼀个模块,可以在 /application/common.php 中添加:
// 绑定当前访问到index模块
define('BIND_MODULE','index');
亲测访问成功:
但是项⽬通常会有前后台的区分,⾄少两个模块,⽤上⾯的⽅法绑定index模块后,再访问其它模块就会报错:(新建了⼀个admin模块作为后台)
<?php
namespace app\admin\controller;
class Index
{
public function index()
{
return '这是后台⾸页';
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论