ホームページ > バックエンド開発 > PHPの問題 > thinkphpでルーティングを変更する方法は何ですか?

thinkphpでルーティングを変更する方法は何ですか?

尊渡假赌尊渡假赌尊渡假赌
リリース: 2023-06-06 10:38:39
オリジナル
977 人が閲覧しました

thinkphp でルートを変更するには 2 つの方法があります: 1. Route.php ファイルの rules() メソッドを使用して、ニュース ルートを記事ルートに直接変更します。コードは "rule('article' ,'index/News /index')"; 2. コントローラーでルーティング ルールを動的に定義します。コードは "rule('news/:id', 'index/News/read')->model(['id ' => ' id'])"。

thinkphpでルーティングを変更する方法は何ですか?

このチュートリアルのオペレーティング システム: Windows 10 システム、thinkphp6.1.2 バージョン、Dell G3 コンピューター。

thinkphp では、ルーティング ルールを定義することで、URL アドレスをカスタマイズし、対応するコントローラー メソッドにディスパッチできます。

ルーティング ルールを変更するには、次の 2 つの方法があります:

1. プロジェクト ディレクトリにあるroute.php ファイルで直接変更します。 /route ディレクトリ。

以下は、ニュース ルートを記事ルートに変更するサンプル コードです。

<?php
use think\Route;
// 修改/news路由规则为/article
Route::rule(&#39;article&#39;,&#39;index/News/index&#39;);
ログイン後にコピー

上記のコードは、ThinkPHP が提供する rules() メソッドを呼び出し、パスします。ルート URL とパラメーターをコントローラー メソッドに渡します。注:

  • 最初のパラメータは、ルーティング URL アドレスのサフィックス (ここにある記事など) を表します。

  • 2 番目のパラメーターは、ルートによってポイントされるコントローラーのパスを示します。たとえば、index/News/index をポイントします。

#2. コントローラーでルーティング ルールを動的に定義する この方法は通常、プログラム実行時の変更に基づいてルーティング ルールを動的に生成するために使用されます。

以下は、クロージャー関数を定義してルーティング ルールを動的に生成するサンプル コードです。

<?php
namespace app\index\controller;
use think\Route;
class Index
{   
    public function index()
    {   
        // 动态生成路由规则
        Route::rule(&#39;news/:id&#39;, &#39;index/News/read&#39;)->model([&#39;id&#39; => &#39;id&#39;]);
        return "动态路由规则生成成功";
    }
}
ログイン後にコピー

上記のコードは、インデックス メソッドにアクセスするときにインデックス メソッドを動的に生成します。 Index コントローラー news/:id ルーティング ルールを Index/News/read コントローラー メソッドにマップし、パラメーターをバインドするときにモデル バインディングを使用して SQL クエリ ステートメントを自動的に生成します。

以上がthinkphpでルーティングを変更する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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