入口文件位于public目录下面,由于直接使用composer的自动加载机制,因此框架核心已经不再使用Loader类了而是改为加载composer的autoload文件。
秉承ThinkPHP大道至简的原则,入口文件依然非常之简单:
namespace think;
require __DIR__ . '/../vendor/autoload.php';
// 执行应用并响应
(new App())->run()->send();
注意每一个入口文件在新版里面总是对应一个应用,有意思的是,不同的应用入口文件除了文件名不同外代码可能完全一样(会自动绑定到文件名对应的应用)。
如果你的文件名和应用名不一致,那么可能需要略微调整如下:
namespace think;
require __DIR__ . '/../vendor/autoload.php';
// 执行应用并响应
(new App())->name('app_name')
->run()
->send();
think\App类还提供了很多的设置方法,都可以在run之前调用。这个有兴趣深入了解的可以通过源码查看。
由于新版本一个入口文件对应一个应用,如果你希望保持5.1版本的URL形式不变,直接访问不同的应用,一个最简单的办法就是设置Apache的.htaccess文件。
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)/(.*)$ $1.php/$2 [QSA,PT,L]
</IfModule>
其它的WEB服务器环境可以参考修改。