ホームページ > バックエンド開発 > PHPチュートリアル > Laravel 514 + Bootstrap 334 注 4: Laravel コントローラー

Laravel 514 + Bootstrap 334 注 4: Laravel コントローラー

WBOY
リリース: 2016-07-30 13:31:41
オリジナル
952 人が閲覧しました

前の記事では、ユーザーのリクエストとレスポンスのロジックをルーティングに組み込みましたが、実際の状況では、これは現実的ではなく、前のコードほど単純ではありません。

ほとんどの場合、ユーザーリクエストの操作はコントローラーで処理されます (これにはビジネス処理ロジックは含まれません)。

すべての Laravel コントローラーは app/Http/Controllers ディレクトリにあります。

1 シンプルなコントローラーを作成します

1.1 パラメーターのないコントローラー

app/Http/Controllers ディレクトリに新しいファイル HomeController.php を作成します。コードは次のとおりです:

<?php namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class HomeController extends Controller {
    public function hw()
    {
        return view(&#39;hw&#39;);
    }
}
ログイン後にコピー

resource/ の下に新しいビュー hw.php を作成します。ビュー、内容は次のとおりです。
<html>
<body>
Hello World!
</body>
</html>
ログイン後にコピー

routes.phpを変更します。 変更したコードは次のとおりです。
<?php

Route::get(&#39;/&#39;, function () {
    return view(&#39;welcome&#39;);
});

Route::get(&#39;/hw&#39;, &#39;HomeController@hw&#39;);
ログイン後にコピー

以下に示すように、ブラウザを開いて http://localhost:801/hw にアクセスします。


1.2 コントローラーはビューにパラメーターを渡します

コントローラーがビューにパラメーターを渡す必要がある場合は、次のようにコントローラーの hw メソッドを変更します。

    public function hw()
    {
        return view(&#39;hw&#39;,[&#39;name&#39;=>'CBW']);
    }
ログイン後にコピー
hw.php ビュー ページのコードを変更します。
<html>
<body>
[<?php echo $name; ?>],您好!
</body>
</html>
ログイン後にコピー
さんは次のように再訪問しました。


1.3 コントローラーはルートからパラメーターを読み取り、それらを渡します

コントローラーがルートからパラメーターを取得する必要がある場合は、上記のルーティング コード セグメントを次のように変更します。

Route::get('/hw/{name}', 'HomeController@hw');
ログイン後にコピー
の hw メソッドを変更します。コントローラ: 次に示すように、
    public function hw($name)
    {
        return view('hw',['name'=>$name]);
    }
ログイン後にコピー
にアクセスしてから、http://localhost:801/hw/calvin に再度アクセスします。


2 ルーターの詳細

2.1 コントローラーと名前空間

たとえば、Web サイトには複数のサブプロジェクトが含まれます。 -end には閲覧用のニュース関数があり、バックエンドには管理用の関数があります。

ここで、通常のユーザー モジュール (Visit) とシステム管理モジュール (Manage) の 2 つのモジュールを含む Web システムを開発すると仮定します。

A. app/Http/Contollers ディレクトリに 2 つの新しいモジュール コントローラー サブディレクトリを作成します: Visit と Manage、そして Visit サブディレクトリ: Home の下に作成します。 C. 上の例で作成した HomeController を、前の手順で作成した Visit に移動します。変更されたコードは次のとおりです:

<?php namespace App\Http\Controllers\Visit;

use App\Http\Controllers\Controller;

class HomeController extends Controller {
    public function hw($name)
    {
        return view(&#39;Visit.Home.hw&#39;,[&#39;name&#39;=>$name]);
    }
}
ログイン後にコピー

D.routes.php コード セグメントを次のように変更します:

Route::get('/hw/{name}', 'Visit\HomeController@hw');
ログイン後にコピー
E。次に、もう一度アクセスします: http:// localhost :801/hw/calvin はまだ正しいです。

2.2 コントローラーミドルウェア

前の記事でミドルウェアの使用法を示しました。上の例を確認してみましょう:

Route::get('/user/{age}', ['middleware' => 'my', function ($age) {  
    return '用户年龄:'.$age;  
}]);  
ログイン後にコピー

実際、コントローラーのコンストラクターで処理することもできます。
class UserController extends Controller {
    public function __construct()
    {
        $this->middleware('my');
    }
}
ログイン後にコピー

この他にも、暗黙のコントローラー、RESTful、ルートキャッシュなどがありますが、これらは後ほど追加されます。

著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

以上、Laravel 514 + Bootstrap 334 注 4: Laravel コントローラーの内容を含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート