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 关注
- 98 浏览
添加回答
举报