ホームページ  >  記事  >  バックエンド開発  >  Laravelフレームワークのルーティング構成の概要と設定のヒント、laravel Framework_PHPチュートリアル

Laravelフレームワークのルーティング構成の概要と設定のヒント、laravel Framework_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:19:31843ブラウズ

Laravelフレームワークのルーティング構成の概要と設定のヒント、laravelフレームワーク

基本的なルーティング

アプリケーションのルートの大部分は app/routes.php ファイルで定義されます。 Laravel の最も単純なルートは、URI とクロージャ呼び出しで構成されます。

基本的なGETルーティング

コードをコピーします コードは次のとおりです:

Route::get('/', function()
{
「Hello World」を返します;
});

基本的なPOSTルーティング
コードをコピーします コードは次のとおりです:

Route::post('foo/bar', function()
{
「Hello World」を返します;
});

すべてのHTTPメソッドに応答するルートを登録します
コードをコピーします コードは次のとおりです:

Route::any('foo', function()
{
「Hello World」を返します;
});

HTTPS経由でルートに強制的にアクセスする
コードをコピーします コードは次のとおりです:

Route::get('foo', array('https', function()
) {
「HTTPS 経由である必要があります」を返します;
}));

多くの場合、ルートに基づいて URL を生成する必要があります。これは、URL::to メソッドを使用して行うことができます:
コードをコピーします コードは次のとおりです:
$url = URL::to('foo');

ルーティングパラメータ

コードをコピーします コードは次のとおりです:

Route::get('user/{id}', function($id)
{
'ユーザー'.$idを返します;
});

オプションのルーティングパラメータ
コードをコピーします コードは次のとおりです:

Route::get('user/{name?}', function($name = null)
{
$name を返します;
});

デフォルト値を持つオプションのルーティングパラメータ
コードをコピーします コードは次のとおりです:

Route::get('user/{name?}', function($name = 'John')
{
$name を返します;
});

正規表現制約を使用したルーティング
コードをコピーします コードは次のとおりです:

Route::get('user/{name}', function($name)
{
//
})
->where('名前', '[A-Za-z]+');
Route::get('user/{id}', function($id)
{
//
})
->where('id', '[0-9]+');

ルートフィルター

ルート フィルターは、特定のルートへのアクセスを制限する簡単な方法を提供します。これは、認証が必要なサイトのゾーンを作成する必要がある場合に非常に役立ちます。 Laravel フレームワークには、auth フィルター、auth.basic フィルター、ゲスト フィルター、csrf フィルターなどのいくつかのルーティング フィルターが含まれています。これらは app/filters.php ファイルに保存されます。

ルーティングフィルターを定義する

コードをコピーします コードは次のとおりです:

Route::filter('old', function()
{
if (Input::get('age') {
return リダイレクト::to('home');
}
});

ルート フィルターから応答が返された場合、その応答はリクエストに対する応答とみなされ、ルートは実行されず、ルート上の後フィルターはすべてキャンセルされます。

ルートのルートフィルターを指定します

コードをコピーします コードは次のとおりです:

Route::get('user', array('before' => 'old', function()
{
return 'あなたは 200 歳を超えています!';
}));

ルートに複数のルートフィルターを指定する

コードをコピーします コードは次のとおりです:

Route::get('user', array('before' => 'auth|old', function()
{
return 'あなたは認証され、200 歳以上です!';
}));

ルートフィルターパラメータを指定する
コードをコピーします コードは次のとおりです:

Route::filter('age', function($route, $request, $value)
{
//
});
Route::get('user', array('before' => 'age:200', function()
{
「Hello World」を返します;
}));

ルートフィルターが 3 番目のパラメータ $response:
として応答を受信したとき
コードをコピーします コードは次のとおりです:

Route::filter('log', function($route, $request, $response, $value)
{
//
});

基本的なルートフィルターパターン

URI に基づいてルートのセットに対してフィルターを指定することもできます。

コードをコピーします コードは次のとおりです:

Route::filter('admin', function()
{
//
});
Route::when('admin/*', 'admin');

上の例では、管理フィルターは admin/ で始まるすべてのルートに適用されます。アスタリスクはワイルドカード文字として機能し、すべての文字の組み合わせに一致します。

HTTP メソッドを指定してパターン フィルターを制限することもできます:

コードをコピーします コードは次のとおりです:

Route::when('admin/*', 'admin', array('post'));

フィルタークラス

高度なフィルターの場合、クロージャー関数の代わりにクラスを使用できます。フィルター クラスはアプリケーションの外部に存在する IoC コンテナーであるため、フィルター内で依存関係の注入を使用でき、テストが容易になります。

フィルタークラスを定義する

コードをコピーします コードは次のとおりです:

クラス FooFilter {
パブリック関数 filter()
{
// フィルタロジック...
}
}

クラスベースのフィルターを登録する
コードをコピーします コードは次のとおりです:

Route::filter('foo', 'FooFilter');

名前付きルート

名前付きルートを使用すると、リダイレクトまたは URL を生成するときにルートを簡単に指定できます。ルートには次のような名前を付けることができます:

コードをコピーします コードは次のとおりです:

Route::get('ユーザー/プロファイル', array('as' => 'プロファイル', function()
{
//
}));

コントローラーメソッドのルート名を指定することもできます:
コードをコピーします コードは次のとおりです:

Route::get('user/profile', array('as' => 'profile', 'uses' =>
'UserController@showProfile'));

URL またはリダイレクトを生成するときにルート名を使用するようになりました:

コードをコピーします コードは次のとおりです:

$url = URL::route('プロフィール');
$redirect = リダイレクト::ルート('プロファイル');

currentRouteName メソッドを使用してルートの名前を取得できます:

コードをコピーします コードは次のとおりです:

$name = ルート::現在のルート名();

ルーティンググループ

場合によっては、一連のルートにフィルターを適用したい場合があります。ルートごとにフィルターを指定する必要はなく、ルート グループを使用できます:

コードをコピーします コードは次のとおりです:

Route::group(array('before' => 'auth'), function()
{
Route::get('/', function()
{
// 認証フィルターがあります
});
Route::get('ユーザー/プロファイル', function()
{
// 認証フィルターがあります
});
});

サブドメインルーティング

Laravel ルーティングは、ワイルドカードのサブドメイン名を処理し、ドメイン名からワイルドカード パラメーターを取得することもできます。

サブドメインルーティングを登録する

コードをコピーします コードは次のとおりです:
Route::group(array('domain' => '{account}.myapp.com'), function()
{
Route::get('user/{id}', function($account, $id)
{
//
});
});

ルーティングプレフィックス

プロパティ配列の prefix オプションを使用して、ルートのグループに接頭辞を付けることができます:

ルーティンググループにプレフィックスを追加します


コードをコピーします コードは次のとおりです:
Route::group(array('prefix' => 'admin'), function()
{
Route::get('user', function()
{
//
});
});

ルーティングモデルバインディング

モデル バインディングは、ルートにモデルを挿入する簡単な方法を提供します。たとえば、ユーザーの ID を単に注入するのではなく、指定された ID に基づいてユーザー モデル インスタンス全体を注入できます。まず Route::model メソッドを使用して、必要なモデルを指定します。

変数をモデルにバインドする

コードをコピーします コードは次のとおりです:

Route::model('user', 'User');

次に、{user} パラメータを含むルートを定義します。
コードをコピーします コードは次のとおりです:

Route::get('profile/{user}', function(User $user)
{
//
});

{user}パラメータをUserモデルにバインドしているので、Userインスタンスがルートに注入されます。したがって、たとえば、profile/1 のリクエストは ID 1 の User インスタンスを挿入します。

注: このモデル インスタンスがデータベース内に見つからない場合、404 エラーが発生します。

見つからない独自の動作を指定したい場合は、モデルメソッドの 3 番目のパラメータとしてクロージャを渡すことができます。

コードをコピーします コードは次のとおりです:
Route::model('user', 'User', function()
{
新しい NotFoundException をスローします;
});

独自のメソッドを使用してルートパラメータを処理したい場合は、Route::bind メソッドを使用できます:

コードをコピーします コードは次のとおりです:
Route::bind('user', function($value, $route)
{
return User::where('name', $value)->first();
});

404 エラーがスローされます
ルーティングで 404 エラーを手動でトリガーするには 2 つの方法があります。まず、App::abort メソッドを使用できます:

コードをコピーします コードは次のとおりです:
アプリ::abort(404);

2 番目に、SymfonyComponentHttpKernelExceptionNotFoundHttpException のインスタンスをスローできます。

404 例外の処理とこれらのエラーに対するカスタム応答の使用の詳細については、「エラー」の章を参照してください。

コントローラーへのルート

Laravel では、クロージャだけでなくコントローラ クラスにもルーティングでき、リソース コントローラを作成することもできます。

詳細については、コントローラーのドキュメントを参照してください。


会社のイントラネットにアクセスするための無線ルーターの設定方法

2 台のコンピューターの IP 設定を同じに設定することはできません。192.168.133.32 などの番号は試してください。ただし、33 は試してください。


社内ネットワークに接続できるようにワイヤレスルーティングを設定する方法

まず最初に、固定 IP アドレスを取得する必要があります。会社のネットワーク自体が LAN IP であり、ワイヤレス ルーティングの静的 IP として使用するコンピューターの IP を使用することもできます (例: 192.168.2.101)。次のように設定します

無線ルーターのセットアップチュートリアルの例
無線ルーターを設定する前に、まず関連する回線を接続する必要があります。まず、インターネットに接続されているネットワーク ケーブルをワイヤレス ルーターの WAN ポートに接続します。次に、ルーター上で関連する設定を実行するために、ネットワーク ケーブルを介してコンピューターをルーターの LAN ポートに接続する必要があります。まず、ローカル コンピュータのオペレーティング システムに TCP/IP プロトコルがインストールされていることを確認します。Windows 2000 以降のユーザーはこの手順を無視できます。ルーターのデフォルトのアドレスは 192.168.1.1 で、サブネット マスクは 255.255.255.0 であるため、ルーターを通常に設定するには、ローカル接続アドレスを同じネットワーク セグメント内に手動で設定する必要があります。つまり、ローカル接続アドレスを次のように設定します。 192.168.1.xxx (xxx=2~254)

サブネットマスクは255.255.255.0です。設定が完了したら、IE を開き、無線ルーターのデフォルトのアドレス 192.168.1.1 を入力すると、上記のウィンドウが表示され、管理者のユーザー名とパスワードの入力を求められます。ユーザー名とパスワードは製品マニュアルから取得できます (通常は admin)。

一般的なルーターはWeb経由で直接管理できますが、このルーターも同様で、インターフェイスは中国語で設定されており、国内ユーザーに一定の利便性をもたらします。ログイン後、IE は製品セットアップ ウィザードを含むウィンドウを自動的にポップアップ表示し、ユーザーはワイヤレス ルーターの設定を迅速かつ簡単に完了できます。 「次へ」をクリックすると、最も一般的な 3 つのネットワーク ログイン方法が表示されます。最も一般的な ADSL を例として、PPPoE 仮想ダイヤルアップ方法を選択し、「次へ」をクリックします。次に、ログインするためのアカウント番号とパスワードを入力するよう求められます。ネットワークに接続し、「次へ」をクリックしてワイヤレス設定ページに入ります。

ここでは、ワイヤレス ルーター設定チュートリアルのこのページのいくつかのオプションの詳細な機能を簡単に紹介します。ワイヤレス機能がオンになるように選択されている場合、ワイヤレス ネットワークに接続されているホストは制限されたネットワークにアクセスできるようになります。 ; SSID 番号は、無線 LAN の使用に使用されます。認証に合格したユーザーのみが無線ネットワークにアクセスできます。

周波数帯域は、無線ルーターによって使用される無線周波数帯域を決定するために使用されます。 1 から 11 まであり、最も一般的に使用されるのは 11 です。チャネルは 2.4 GHz 帯域の 2 つの信号です。周波数が 4 を超えて異なる場合にのみ、信号は相互に干渉しません (つまり、チャネル 6 とチャネル 11)。通常は一緒に使用されます)。モードでは、11Mbps 帯域幅の 802.11b モードと 54Mbps 帯域幅の 802.11g モードを選択できます (802.11b モードとも互換性があります)。構成が完了したら、「次へ」をクリックして完了します。

完了後、Web ページの実行ステータスをクリックすると、インターネットにアクセスする前に、ルーターにまだダイヤルアップ接続が存在しないことがわかります。接続後、このページでは、現在のルーターのデフォルト アドレスである LAN ポートのステータス、ワイヤレス ルーティングの関連設定オプションであるワイヤレス ステータス、および WAN ポートのステータスなど、ルーターのさまざまなステータスを確認できます。インターネットにアクセスすると、ISPプロバイダーのゲートウェイやDNSサーバーのアドレスを取得し、ルーターのオンライン時間をカウントしたり、ルーターの接続状態を制御したりすることもできます。

上記の手順を完了すると、ネットワーク ケーブルを介してローカルに接続されたコンピューターとワイヤレス ネットワーク カードを介して接続されたコンピューターは、ワイヤレス ルーティングを通じてインターネット アクセス機能を実現できるため、ワイヤレス ルーターの構成は基本的に完了したと言えます。ワイヤレスルーティングを設定することは、誰もが思っているほど抽象的で複雑です。

ワイヤレスネットワークカードの設定も非常に簡単で、ワイヤレスネットワークカードを挿入した後、プロンプトに従って適切なドライバーをインストールするだけで使用できます。ユーザーが無線ルーターの設定を完了すると、無線ネットワーク カードがインストールされたコンピュータが自動的に該当する無線ネットワークを検索し、「接続」をクリックすることで簡単に無線 LAN に接続し、ファイル共有やインターネット接続機能を実現できます。 。ユーザーが右下隅のワイヤレス ネットワーク ステータス アイコンをクリックすると、上記のウィンドウが表示されます。このウィンドウには、ネットワーク接続速度と信号強度が表示されますが、信号強度は一定の基準値を持っています。このウィンドウで...残りのテキスト>>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/874109.html技術記事 Laravelフレームワークのルーティング構成の概要、セットアップのヒント、laravelフレームワークの基本ルーティング アプリケーションのルートの大部分は、app/routes.phpファイルで定義されます。 Laravel で最もシンプル...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。