我试图在我的nas上使用docker发布我的网页。但是不能让PSR-4工作,它不能通过命名空间找到控制器。在我的流浪盒子上,一切都行得通。但是只要我不扩展一个类它就不会破坏
Whoops ' Exception ' errorreexception (E_ERROR)类"Rsubscribe'Controllers'BaseController"未找到
引导/start.php
require(__DIR__ . "/../vendor/autoload.php");
session_start();
$router = new AltoRouter();
BaseController
<?php
namespace Rsubscribe'Controllers;
use duncan3dc'Laravel'BladeInstance;
class BaseController{
protected $blade;
public function __construct()
{
$this->blade = new BladeInstance("/var/www/views", "/var/www/cache/views");
}
}
PageController
class PageController extends BaseController
{
public function getShowHomePage()
{
echo $this->blade->render("home");
}
public function getMoviePage()
{
echo $this->blade->render('movies');
}
}
路线:
<?php
use duncan3dc'Laravel'BladeInstance; // Temp
$router->map("GET", "/", "Rsubscribe'controllers'PageController@getShowHomePage", "home");
$router->map("GET", "/home", "Rsubscribe'controllers'PageController@getShowHomePage", "home_2");
$router->map("GET", "/movies", "Rsubscribe'controllers'PageController@getMoviePage", "movies");
composer.json
.....
.....
"autoload": {
"psr-4": {"Rsubscribe''": "src/"}
}
问题是该命名空间在linux服务器上运行时区分大小写,但由于某种原因在我的osx机器上运行时不区分大小写。文件夹是小写的,因此在命名空间中也必须是小写的。