如何在没有包含的情况下运行引导程序?

时间:2014-01-25 23:40:39

标签: php autoload

我有以下引导程序,其自动加载器与我的MVC文件夹处于同一级别。

-App
 --model
 --view
 --controller
 --public_html
 --bootstrap.php

bootstrap.php中:

<?php

function autoloader($class)
{
    $path = __DIR__.'/'.$class.'/'.$class.'.php';
    if (file_exists($path))
    {
        include $path;
    }
}

spl_autoload_register('autoloader');

?>

bootstrap.php中使用include / require public_html/index.php的替代方法是什么? 我查看了一些片段,但它们都包含了我不想使用的命名空间。

1 个答案:

答案 0 :(得分:0)

您必须包含该引导程序才能使用它。没有其他办法。

如果您的问题是您不想一次又一次地包含,您可以使用.htaccess文件将所有请求重定向到index.php ...这样,您只需在index.php中包含您的引导程序文件然后你可以在整个应用程序文件中使用你的引导代码。在index.php附近放一个像这样的.htaccess文件,并在index.php中包含bootstrap文件...之后你在应用程序文件中使用自动加载功能而不手动包含它们。请注意,您需要添加调度程序/路由器才能使用.htaccess文件...有关详细信息,您可以检查框架调度/路由机制...

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>