ホームページ バックエンド開発 PHPチュートリアル Laravel 514 + Bootstrap 334 注 2: Laravel ルーティング

Laravel 514 + Bootstrap 334 注 2: Laravel ルーティング

Jul 30, 2016 pm 01:31 PM
function localhost return route

1 ルーティングメカニズム

MVC のルーティングは非常に重要な機能です。その機能は次のとおりです。
A. ユーザーのアクセス (URL) に従って、受信したリクエストとそのリクエストに添付されたパラメーターを照合します。リクエストを呼び出して、コントローラーのアクション メソッドをマッピングし、パラメーターを渡します。次の図は、ユーザー リクエストを単純な形式で表します。
2 Laravelルーティングの場合

Laravel 5.1.4では、ルーティング設定ファイルはapp/Http/routes.phpです。 2.1 文字列ルーティングを直接返す

元のコードの後に​​次のコードセグメントを追加します:

Route::get('/hw', function () {
    return 'Hello World';
});
ログイン後にコピー

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

2.2 ビューを返すルート

上記のコードに次のコードセグメントを追加します:

Route::get('/home', function () {
    return view('home');
});
ログイン後にコピー
次の内容を含むビューファイル home.php をディレクトリ resource/views に作成します。
<html>
<body>
<h1>home</h1>
</body>
</html>
ログイン後にコピー
ブラウザを開いて、http://localhost:801/home


上記の例のコードがパラメータをビューページに渡す必要がある場合はどうなるでしょうか?ルーティング コードを変更します:

Route::get('/home', function () {
    return view('home', ['name' => '张三']);
});
ログイン後にコピー
ビュー コードを変更します:
<html>
<body>
[<?php echo $name; ?>],您好!
</body>
</html>
ログイン後にコピー
訪問の効果を見てみましょう:


ビューが多すぎる場合は、通常、モジュールごと、または関数ごとに保存されます。 resource/views ディレクトリに新しいディレクトリ (public/demo) を作成し、home.php をこのディレクトリに移動します。 。

上記の例のルーティング コードを次のように変更します:
Route::get('/home', function () {
    return view('public.demo.home', ['name' => '张三']);
});
ログイン後にコピー
再度アクセスしたときも、通常どおりページを開くことができます。

2.3 ルーティングパラメータ

前に述べたように、ルーティングはユーザーのリクエストパラメータと一致する可能性がありますが、どのように一致させるのでしょうか?上記の例のルーティング ファイルにコード スニペットを追加します。

Route::get('user/{name}', function($name) {
    return '用户姓名:'.$name;
});
ログイン後にコピー

ブラウザを開いて、http://localhost:801/user/jack


2 つある場合はどうなるでしょうか。毛織物?ルーティング コードを変更します:

Route::get('user/{name}/{age}', function($name,$age) {
    return '用户姓名:'.$name.',年龄:'.$age;
});
ログイン後にコピー
ブラウザを開いて、http://localhost:801/user/jack/23 にアクセスします。

年齢パラメータが必要ない場合はどうすればよいですか?ルーティング コードを再度変更します:

Route::get('user/{name}/{age?}', function($name,$age=null) {
    return '用户姓名:'.$name.',年龄:'.$age;
});
ログイン後にコピー
アクセス アドレス: http://localhost:801/user/jack

2.4 ルーティング パラメータの制約


通常の状況では、ユーザーがアクセスする一部のパラメータには特定のルールがあります。たとえば、ユーザー情報を読み取るときのユーザー ID は数字、ニュース情報を変更するときのニュース ID は GUID などです。

routes.php ファイルを変更し、次のコードを追加します:
Route::get('new/{id}', function($id)
{
    return '新闻ID:'.$id;
})->where('id', '[0-9]+');
ログイン後にコピー

ブラウザを開いて、次のように http://localhost:801/new/3 にアクセスします。

http://localhost:801/new/abc にアクセスできる場合、指定されたページは存在しません:

同様に、複数のパラメータが同時に制限されている場合、配列を使用する必要があるため、上記の例のルーティング コードを変更します。

Route::get('new/{id}/{title}', function($id,$title)
{
    return '新闻ID:'.$id.',新闻标题:'.$title;
})->where(['id' => '[0-9]+', 'title' => '[a-z]+']);
ログイン後にコピー

アクセス効果はここでは実証されません。

さらに、グローバル制限を構成し、ファイル app/Providers/RouteServiceProviders.php を開き、ブート メソッドを次のように変更できます。

    public function boot(Router $router)
    {
        //
        $router->pattern('id', '[0-9]+');
        parent::boot($router);
    }
ログイン後にコピー

上記の例のルーティング コードを次のように変更します。

Route::get('new/{id}', function($id)
{
    return '新闻ID:'.$id;
});
ログイン後にコピー

アクセス効果は上記の例と同じであるため、ここでは説明しません。 2.5 ルーティング パラメータを取得する

他の操作を行うために、routes.php でルーティング パラメータを取得できます。

Route::get('new/{id}', function(Request $request, $id)
{
    if ($request->route('id') == '2')
    {
        return '新闻ID是2';
    }else{
        return '新闻ID不是2,值是:'.$id;
    }
});
ログイン後にコピー

in Routes.php

use Illuminate\Http\Request;
ログイン後にコピー

ブラウザを開いて、http://localhost:801/new/2 と http://localhost:801/new/3 にそれぞれアクセスします。さまざまなページ効果。 ルーティングには、まだ研究が必要な複雑な機能がたくさんあります。

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

以上、Laravel 514 + Bootstrap 334 の紹介でした。 注 2: Laravel のルーティングについて、内容面も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

mysql がローカルホストに接続できないのはなぜですか? mysql がローカルホストに接続できないのはなぜですか? Aug 10, 2023 pm 02:55 PM

mysql が localhost に接続できない理由は、mysql サービスが開始されていないこと、mysql ポートが占有されていること、および MySQL 設定ファイルに問題があることです。詳細な紹介: 1. Windows システムでは、コマンド プロンプトで「services.msc」と入力してサービス マネージャーを開き、mysql サービスを見つけて、そのステータスが「実行中」であることを確認します。 Linux システムでは、「services.msc」コマンドを使用してサービスの状態を確認および制御できます。2. open コマンドなどを使用できます。

C言語のreturnの使い方を詳しく解説 C言語のreturnの使い方を詳しく解説 Oct 07, 2023 am 10:58 AM

C 言語における return の使い方は、 1. 戻り値の型が void の関数については、return 文を使用して関数の実行を早期に終了することができます; 2. 戻り値の型が void ではない関数については、 return ステートメントは、関数の実行を終了するためのものです。結果は呼び出し元に返されます。 3. 関数の実行を早期に終了します。関数内で return ステートメントを使用して、関数の実行を早期に終了することもできます。関数が値を返さない場合。

機能とはどういう意味ですか? 機能とはどういう意味ですか? Aug 04, 2023 am 10:33 AM

ファンクションとは、関数を意味します。これは、特定の関数を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を実行し、結果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

localhost を開けない場合はどうすればよいですか? localhost を開けない場合はどうすればよいですか? Nov 07, 2023 pm 02:47 PM

解決策: 1. サーバーの実行ステータスをチェックし、サーバーが正しいポートでリッスンしていることを確認します。 2. ファイアウォールまたはセキュリティ ソフトウェアを一時的に無効にして、再度 localhost にアクセスしてみます。 3. サーバーの hosts ファイルを確認します。オペレーティング システムを変更してローカルホストが正しく解決されていることを確認します。 4. ネットワーク アダプターを再起動するか、ネットワーク接続を再構成してみます。 5. ローカル サーバーが使用するポートを変更するか、同じポートを占有している他のプログラムを閉じてみます。 6. 試してください。対応する IP アドレスとドメイン名をホスト ファイルなどに手動で追加します。

Javaのreturn文とfinally文の実行順序は何ですか? Javaのreturn文とfinally文の実行順序は何ですか? Apr 25, 2023 pm 07:55 PM

ソースコード: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#出力 上記のコードの出力は、単純に次のように結論付けることができます:finally の前に return が実行されます。バイトコード レベルで何が起こるかを見てみましょう。以下は、case1 メソッドのバイトコードの一部をインターセプトし、ソース コードを比較して、各命令の意味に注釈を付けます。

Linuxのローカルホストとはどういう意味ですか? Linuxのローカルホストとはどういう意味ですか? Mar 14, 2023 am 09:53 AM

linux localhost は、「コンピュータのホスト名」を意味します。ホスト名は、ネットワーク上の独立したコンピュータを識別するために使用されます。「root@localhost」の root は、現在ログインしているユーザーを表します。Linux では、管理者アカウントは root であり、ユーザーは root ユーザーとして Linux マシンにログインします。

Python の「enumerate()」関数の目的は何ですか? Python の「enumerate()」関数の目的は何ですか? Sep 01, 2023 am 11:29 AM

この記事では、Python の enumerate() 関数と「enumerate()」関数の目的について学びます。 enumerate() 関数とは何ですか? Python の enumerate() 関数は、データ コレクションをパラメータとして受け取り、列挙オブジェクトを返します。列挙オブジェクトはキーと値のペアとして返されます。キーは各項目に対応するインデックス、値は項目です。構文 enumerate(iterable,start) パラメータ iterable - 渡されたデータ コレクションは、iterablestart と呼ばれる列挙オブジェクトとして返すことができます。 - 名前が示すように、列挙オブジェクトの開始インデックスは start によって定義されます。無視したら

MySQL.procテーブルの役割と機能の詳しい説明 MySQL.procテーブルの役割と機能の詳しい説明 Mar 16, 2024 am 09:03 AM

MySQL.proc テーブルの役割と機能の詳細な説明。MySQL は人気のあるリレーショナル データベース管理システムです。開発者が MySQL を使用する場合、多くの場合、ストアド プロシージャ (StoredProcedure) の作成と管理が必要になります。 MySQL.proc テーブルは非常に重要なシステム テーブルであり、ストアド プロシージャの名前、定義、パラメータなど、データベース内のすべてのストアド プロシージャに関連する情報が保存されます。この記事では、MySQL.proc テーブルの役割と機能について詳しく説明します。

See all articles