Heim > Backend-Entwicklung > PHP-Problem > So implementieren Sie die Routenverteilung in PHP

So implementieren Sie die Routenverteilung in PHP

coldplay.xixi
Freigeben: 2023-03-04 08:24:02
Original
3638 Leute haben es durchsucht

So implementiert PHP die Routenverteilung: 1. Verwenden Sie die Methoden „require“ und „include“, um PHP-Dateien einzubinden. 2. Verwenden Sie den Pfad in der URL, um die entsprechende Steuerklasse abzugleichen, und rufen Sie gleichzeitig die darin enthaltenen Methoden auf, um verwandte Vorgänge zu verarbeiten.

So implementieren Sie die Routenverteilung in PHP

So implementieren Sie die Routenverteilung in PHP:

1. Dateieinbindung

Es gibt zwei Möglichkeiten, Dateien in PHP einzubinden: require und include Bei Verwendung von „require“ zum Einschließen der Datei tritt ein Fehler auf. Bei Verwendung von „include“ wird ein schwerwiegender Fehler gemeldet und das PHP-Skript wird nicht mehr ausgeführt. Wenn bei der Verwendung von „include“ zum Einschließen der Datei ein Fehler auftritt, wird eine Warnung angezeigt, das PHP-Skript jedoch weiterhin ausführen. Gleichzeitig enthalten beide Methoden die entsprechende Methode xxx_once, wodurch das Problem der „Klasse deklarieren“ vermieden werden kann. Daher versuchen wir bei der allgemeinen Verwendung der Dateieinbindung, include_once zu verwenden, um Dateien einzuschließen. xxx_once方法,可以避免”declare class”的问题。所以一般使用文件包含的时候我们尽量使用include_once包含文件。

同时在关于文件包含的路径问题上,我们可以利用设置全局变量的方式,依托入口文件的绝对路径,去寻找其他路径文件。修改php.ini中的inclue_path路径当然也是另一种方式,利用require和include包含文件,假如是相对路径的方式,首先会根据php.ini配置文件中的include_path

Gleichzeitig können wir in Bezug auf das Pfadproblem der Dateieinbindung die Methode zum Festlegen globaler Variablen verwenden, um andere Pfaddateien basierend auf dem absoluten Pfad der Eintragsdatei zu finden. Das Ändern des include_path-Pfads in php.ini ist natürlich eine andere Möglichkeit. Verwenden Sie require und include, um die Datei einzubinden. Wenn es sich um einen relativen Pfad handelt, basiert er zunächst auf dem include_path Es wird nach den Einstellungen der php.ini-Konfigurationsdatei gesucht. <p><strong></strong>2. Routenverteilung </p> <p></p>Die PHP-basierte Routenverteilung verwendet im Wesentlichen den Pfad in der URL, um die entsprechende Steuerklasse abzugleichen, und ruft gleichzeitig die darin enthaltenen Methoden auf, um verwandte Vorgänge zu verarbeiten. <p></p>Code ohne etwas zu sagen: <blockquote><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;?php // 权限控制 include_once &amp;#39;./auth.php&amp;#39;; // 应用入口文件 date_default_timezone_set(&quot;Asia/Shanghai&quot;); header(&amp;#39;Content-type: text/html;charset=utf-8&amp;#39;); // 项目根路径 define(&amp;#39;BASEPATH&amp;#39;, dirname(__FILE__)); // 调试模式 define(&amp;#39;APP_DEBUG&amp;#39;, True); // 引入配置文件 include_once BASEPATH . &amp;#39;/config/config.php&amp;#39;; // 路由控制 $router = include_once BASEPATH . &amp;#39;/config/router.php&amp;#39;; if ($_SERVER[&amp;#39;HTTP_HOST&amp;#39;] !== &amp;#39;xxx.com&amp;#39;) { var_dump(&amp;#39;当前host不被允许&amp;#39;); } else { $request_path = str_replace(&amp;#39;/index.php&amp;#39;, &amp;#39;&amp;#39;, $_SERVER[&amp;#39;PHP_SELF&amp;#39;]); $request_query = getCurrentQuery(); if (array_key_exists($request_path, $router)) { $module_file = BASEPATH . $router[$request_path][&amp;#39;file_name&amp;#39;]; $class_name = $router[$request_path][&amp;#39;class_name&amp;#39;]; $method_name = $router[$request_path][&amp;#39;method_name&amp;#39;]; if (file_exists($module_file)) { include $module_file; $obj_module = new $class_name(); if (!method_exists($obj_module, $method_name)) { die(&quot;要调用的方法不存在&quot;); } else { if (is_callable(array($obj_module, $method_name))) { $obj_module-&gt;$method_name($request_query, $_POST); } } } else { die(&quot;定义的模块不存在&quot;); } } else { echo &amp;#39;页面不存在&amp;#39;; } }</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p><a href="https://www.php.cn/course/list/29.html" target="_blank">Verwandte Lernempfehlungen: </a>php-Programmierung<br>(Video)</p> </blockquote>🎜

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Routenverteilung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage