0

Routes の PHP フレームワーク Slim 3 を使用して、次のようにしました。

// In routes :
$app->get('article/{id}-{slug}', function ($request, $response, $args) {
    $class = new Site\ArticleController($args);
    $class->show();
});

// In controllers :
public function show($args)
{
    $sql = "SELECT * FROM articles WHERE id = $args['id'] AND slug = $args['slug']";
    // ...
}

Laravel 5 では、これは次のように記述できます。

// In routes :
Route::get('article/{id}-{slug}', 'Site\ArticleController@show');

// In controllers :
public function show($id, $slug)
{
    $sql = "SELECT * FROM articles WHERE id = $id AND slug = $slug";
    // ...
}

Slim 3 でも同じことができますか? 私はこれを意味します:

$app::get('article/{id}-{slug}', 'Site\ArticleController@show');
4

1 に答える 1

3

次のようにすることで、Laravel に似た Slim 3 ルートを構築できます。

<?php
// In routes :
$app->get('article/{id}-{slug}', '\Site\ArticleController:show');

// In controllers :
public function show($request, $response, $args)
{
    $sql = "SELECT * FROM articles WHERE id = $args['id'] AND slug = $args['slug']";
    // ...
}

Slim ルーターは、最初と 2 番目のパラメーターで $request と $response を渡し、次に最後の $args で設定した Route 引数を渡します。

これが役立つことを願っています!:)

于 2015-12-19T19:12:51.110 に答える