1

所以我确实尝试了没有 slim 的命名空间,它工作没有任何问题,但是在 slim 时一直显示:

500 server error 

作曲家.json:

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

主控制器.php

namespace Ultimateboard;

class MainController {


  function __construct(){

  }

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

索引.php

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

我是如何尝试调用这些方法的:

1 路由.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();

或者

路由.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();

目录结构:

在此处输入图像描述

也许我错过了某些东西或与某些东西发生冲突,确实在不同的网站上尝试了很多答案,但没有任何效果,这就是为什么在这里发布它。

4

1 回答 1

1

通过将命名空间更改为

namespace \Ultimateboard\Controllers;

和路线:

$app->get('/',function() use ($app){
   (new Ultimateboard\Controllers\Maincontroller())->index();
});
于 2015-10-28T13:27:43.990 回答