2 回答

TA貢獻1784條經驗 獲得超8個贊
通常的工作方式是使用每個請求都會經過的一個引導文件。這通常還需要將路由移至 PHP 代碼中;即,您通常不會example.com/foo/bar.php簡單地調用 file foo/bar.php,而是使用漂亮的 URL(例如 )example.com/foo/bar,然后在 PHP 代碼中找出foo/bar確切的含義以及它應該執行的操作(盡管這是相當可選的,由您決定)。
首先,您設置一個.htacess這樣的文件,或者在您的 Web 服務器配置文件中添加等效的配置:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ bootstrap.php
這會導致您的 Web 服務器調用bootstrap.php其文件實際上不存在的任何和所有請求(即css/style.css仍按原樣提供服務,但foo/bar不是實際文件,而是會調用bootstrap.php)。
然后,bootstrap.php您需要require所有必要的文件,例如自動加載器,也許還有配置文件,然后運行您想要的任何類、函數或文件:
<?php
require_once 'classes/autoload.php';
$request = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
require "$request.php";
上面是獲取請求的 URI(例如/foo/bar)并將其用于requirePHP 文件的簡單示例。這是非常幼稚的并且有潛在危險,因此您需要在實際使用中進行一些更多的自定義處理。

TA貢獻1802條經驗 獲得超4個贊
您可以創建一個需要您要使用的所有其他文件的文件,包括自動加載:
<?php
require_once('classes/autoload.php');
require_once('file1.php');
require_once('file2.php');
...
然后您就不需要要求自動加載,因為文件已經附加在它后面。
- 2 回答
- 0 關注
- 135 瀏覽
添加回答
舉報