[英]Docker php with composer PSR-4
我正在尝试在nas上使用docker发布我的网页。 但是无法使PSR-4正常工作,它无法通过命名空间找到控制器。 一切都在我无所事事的盒子上工作了。 但是只要我不上课,它就不会中断
未找到Whoops \\ Exception \\ ErrorException(E_ERROR)类'Rsubscribe \\ Controllers \\ BaseController'
bootstrap / 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");
}
}
页面控制器
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机器上运行时。 文件夹是小写的,因此在名称空间中也必须是小写的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.