问题的主要原因在于:我首先通过composer create-project topthink/think=5.0.* tp5 --prefer-dist下载得到tp5文件,后来我在b站上的视频教学中看到他们的tp5目录与我的不一样(当时才刚刚接触tp5),我便下载了来视频上的tp5文件(后来我又换了另一个教学视频,新换的教学视频和我原来的tp5是一模一样的),然后复制到我的tp5下面,文件名重复发生冲突时选择覆盖。这样导致了后面学习路由时产生的惨案(原来存在/tp5/application/route.php和新增的/tp5/route/route.php)。
视频教学中,他们是通过在/tp5/application/route.php中添加:
use thinkRoute;
Route::get('/',function (){
return 'hello world';
});
同时开启强制路由,在浏览器中输入http://localhost/tp5-git/public/index.php即可得到如下图片:
但是我的错误是:我在/tp5/route/route.php进行了添加,因此浏览器一直显示当前路由不存在。
我是如何发现这个错误的?
首先我被当前路由不存在困扰了两个小时,第二天我想还是直接重新下载一个tp5吧。我把原来的那个备份,通过composer create-project topthink/think=5.0.* tp5 --prefer-dist下载得到一个新的tp5,这时候我惊讶地发现,在这个新的tp5中没有route文件夹,截图如下。
如果想实现路由,需要在/tp5/application/router.php中添加上面的代码。
在官方的完全开发手册中,我发现还可以通过git方式下载tp5。
首先克隆下载应用项目仓库
git clone https://github.com/top-think/think tp5
然后切换到 tp5 目录下面, 再克隆核心框架仓库:
git clone https://github.com/top-think/framework thinkphp
两个仓库克隆完成后, 就完成了 ThinkPHP5.0 的 Git 方式下载, 如果需要更新核心框架的时候, 只需要
切换到thinkphp核心目录下面, 然后执行:
git pull https://github.com/top-think/framework
git下载得到tp5中存在route文件夹,同时里面有一个route.php,但是application文件夹中没有route.php,截图如下:
此时如果想实现路由,需要在route/route.php中,添加上面的代码(注意:此时"use thinkRounte;"需要注释掉,否则会报错,我就遇到了因为没有注释掉产生的错误https://blog.csdn.net/qq_39533392/article/details/88363957)。