【发布时间】:2015-03-03 08:49:40
【问题描述】:
我的索引.php
namespace Toplist;
require_once "Helper/Functions.php";
use Toplist\Helper\Functions;
use Toplist\Controller\IndexController;
use Toplist\Model\IndexModel;
use Toplist\View\IndexView;
我的函数.php
function __construct() {
spl_autoload_register('self::l');
}
public static function l($c) {
$n = $c . '.php';
$f = preg_replace('/Toplist\\\\/', '', $n);
$f = preg_replace('/\\\\/', '/', $f);
if(!file_exists($f)) {
return false;
}
require_once $f;
}
这很好用,自动加载设置正确 - 但是,我可以做任何 php 配置来自动运行 require_once "Helper/Functions.php" 而无需实际声明吗?我讨厌 require_once 破坏了自动加载的意义,并且不得不在每个脚本的顶部声明它的想法让我感到不安。
我知道这似乎微不足道,可能没有多大意义,但这让我很烦,我认为可能有一个比使用 require/require_once 或 include 更小的解决方法,也许是 php.ini 中的一些东西?
谢谢大家!
【问题讨论】:
-
通常所有这些东西都被注入到 index.php 文件的顶部,然后索引文件加载到内容/视图中并重写 url:所以基本上大多数框架。