php でルート配布を実装する方法: 1. require メソッドと include メソッドを使用して php ファイルをインクルードします; 2. URL 内のパスを使用して対応するコントロール クラスと一致させ、その中のメソッドを呼び出して関連する処理を実行します。オペレーション。 。
#ルーティング分散を実装するための php メソッド:
1. ファイルには ## が含まれています#php にファイルをインクルードするには、require と include の 2 つの方法があります。2 つの方法の違いは、require を使用してファイルをインクルードするときにエラーが発生すると、重大なエラーが報告され、PHP スクリプトが停止することです。実行中; include を使用してファイルをインクルードするときにエラーが発生すると、警告が表示されますが、PHP スクリプトは引き続き実行されます。同時に、両方のメソッドには、「クラス宣言」の問題を回避できる、対応する
xxx_once メソッドが含まれています。したがって、通常、ファイルのインクルードを使用する場合は、include_once
を使用してファイルをインクルードするようにします。 同時に、ファイルに含まれるパスの問題については、グローバル変数を設定する方法を使用して、エントリ ファイルの絶対パスに基づいて他のパス ファイルを見つけることができます。 php.ini の
パスを変更することも、もちろん別の方法です。ファイルを含めるには、require と include を使用します。相対パスの場合は、まず、ファイル内の include_path# に基づきます。 php.ini 設定ファイル ## 検索する設定。
2. ルート配布
PHP ベースのルート配布は、基本的に、URL 内のパスを使用して対応するコントロール クラスと照合し、その中のメソッドを呼び出します。関連する操作。
何も言わずにコードを書く:<?php // 权限控制 include_once './auth.php'; // 应用入口文件 date_default_timezone_set("Asia/Shanghai"); header('Content-type: text/html;charset=utf-8'); // 项目根路径 define('BASEPATH', dirname(__FILE__)); // 调试模式 define('APP_DEBUG', True); // 引入配置文件 include_once BASEPATH . '/config/config.php'; // 路由控制 $router = include_once BASEPATH . '/config/router.php'; if ($_SERVER['HTTP_HOST'] !== 'xxx.com') { var_dump('当前host不被允许'); } else { $request_path = str_replace('/index.php', '', $_SERVER['PHP_SELF']); $request_query = getCurrentQuery(); if (array_key_exists($request_path, $router)) { $module_file = BASEPATH . $router[$request_path]['file_name']; $class_name = $router[$request_path]['class_name']; $method_name = $router[$request_path]['method_name']; if (file_exists($module_file)) { include $module_file; $obj_module = new $class_name(); if (!method_exists($obj_module, $method_name)) { die("要调用的方法不存在"); } else { if (is_callable(array($obj_module, $method_name))) { $obj_module->$method_name($request_query, $_POST); } } } else { die("定义的模块不存在"); } } else { echo '页面不存在'; } }
関連する学習の推奨事項:
php プログラミング(ビデオ)
以上がPHPでルート配布を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。