はい、私は最近のプロジェクトで取った手順はかなり簡単です。
まず、あなたはあなたがDC
にあなたが持っているコントローラを追加する必要があるので、あなたがルートからこのコントローラのインスタンスを呼び出すことができるようにする必要があります今HomeActionController
class HomeActionController {
//The below line I have moved into an abstract Controller class
public $view = null;
//This is using Slim Views PhpRenderer
//This allows for a controller to render views can be whatever you need
//I did not like the idea of passing the whole DC it seemed overkill
//The below method I have moved into an abstract Controller class
public function __construct(\Slim\Views\PhpRenderer $view = null){
if($view != null){
$this->view = $view;
}
}
//View could be any action method you want to call it.
public function view(Request $request, Response $response, array $args){
$data['user'] = "John Doe";
return $this->view->render($response, 'templates/home.php', $data);
}
}
を持って言うことができます音符の上のインスタンスのよう
$app = new \Slim\App($config['slim']);
// Get Dependency Container for Slim
$container = $app->getContainer();
$container['HomeActionController'] = new Controller\HomeActionController($container['view']); //Notice passing the view
:あなたがスリムのインスタンスを作成している今までどこでDCを取得し、コントローラのインスタンスを追加する必要があります。閉鎖されている可能性がありますが、私はその時点でポイントを見たり、それらを作っていませんでした。また、まだ検討していない遅延ロードを行う方法があります。詳細はhereを参照してください。
最後にする必要があることは、大きな難題ではないルートでこれらを呼び出すことができることです。確かに
$app->get('/home', 'HomeActionController:view');
あなたはパラメータを使用してアクションを持つことはできませんが、私は問題ばかり要求でそれらを一緒に渡し、そこからそれらを取得するがありませんでした。
スリムな骨格の1つにインスピレーションを与えるかもしれません。 –