2015-10-28 20 views
1

所以我也嘗試命名空間不苗條,這是工作沒有任何問題,但是當苗條不斷顯示:修身500服務器錯誤,而使用內部路由方法

500 server error 

Composer.json:

{ 
    "require":{ 
    "slim/slim":"2.*", 
    "slim/extras":"2.*", 
    "twig/twig":"1.*", 
    "slim/pdo": "~1.6" 
    }, 
    "autoload":{ 
    "psr-4":{ 
     "Ultimateboard\\": "src" 
    } 
    } 
} 

MainController.php

namespace Ultimateboard; 

class MainController { 


    function __construct(){ 

    } 

    public function index(){ 
    echo 'hello main controller index'; 
    } 
} 

的index.php

require_once 'vendor/autoload.php'; 
require_once 'app/loads/routes.php'; 

如何我已經做了嘗試調用的方法:

1 routes.php文件

$app = new \Slim\Slim(
    array(
    'view'=> new \Slim\Extras\Views\Twig(), 
    'debug'=> true 
) 
); 
$app->get('/',Ultimateboard\MainController); 
$app->get('/testing',function(){ 
    echo 'testing works'; 
}); 
$app->run(); 

routes.php文件

$app = new \Slim\Slim(
    array(
    'view'=> new \Slim\Extras\Views\Twig(), 
    'debug'=> true 
) 
); 
$app->get('/',function(){ 
use \Ultimateboard\MainController as MainController; 
new MainController()->index(); 
}); 
$app->get('/testing',function(){ 
    echo 'testing works'; 
}); 
$app->run(); 

目錄結構:

enter image description here

也許我失去了一些東西或衝突一些事情,並嘗試在不同的地點很多答案,但nuthing工作這就是爲什麼在這裏張貼。

回答

1

通過改變命名空間

namespace \Ultimateboard\Controllers; 

和路線resvoled:

$app->get('/',function() use ($app){ 
    (new Ultimateboard\Controllers\Maincontroller())->index(); 
});