Docker php 作曲家 PSR-4

Docker php with composer PSR-4

我正在尝试使用 docker 在我的 nas 上发布我的网页。但是无法让 PSR-4 工作,它不会通过命名空间找到控制器。一切都在我的 vagrant box 上工作。但只要我不扩展 class 它就不会损坏

Whoops \ Exception \ ErrorException (E_ERROR) Class 'Rsubscribe\Controllers\BaseController' not found

bootstrap/start.php

require(__DIR__ . "/../vendor/autoload.php");
session_start();  
$router = new AltoRouter();

基础控制器

<?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 机器上 运行 时却不是。文件夹是小写的,因此在命名空间中也必须是小写的。