我正在尝试使用load_class来加载mthaml,因为我知道这是出于性能原因所必需的。
这是MtHaml库。 https://github.com/arnaud-lb/MtHaml
它在任何地方都是命名空间,所以让它在本地使用load_class会遇到第一个障碍。 然后通过Autoloader.php实例化
namespace MtHaml;
class Autoloader
{
static public function register()
{
spl_autoload_register(array(new self, 'autoload'));
}
static public function autoload($class)
{
if (strncmp($class, 'MtHaml', 6) !== 0) {
return;
}
if (file_exists($file = __DIR__ . '/../' . strtr($class, '\\', '/').'.php')) {
require $file;
}
}
我正在尝试
load_class('Autoloader', 'libraries/MtHaml', '');
但是这给了我致命错误:未找到“自动加载器”类
然后,如果我尝试
load_class('MtHaml\Autoloader', 'libraries/MtHaml', '');
我无法找到指定的类:MtHaml \ Autoloader.php
现在我完成这项工作的唯一方法就是这样称呼它
require_once __DIR__ . '/../libraries/MtHaml/Autoloader.php';
MtHaml\Autoloader::register();
$haml = new MtHaml\Environment('php');
$rendered = $haml->compileFile($haml_file, $haml_cache_path);
这段代码的问题是我在代码点火器中调用我的$ this-> load->视图时运行所以我理解需要load_class来优化性能,因为在一个控制器中我可以调用$ this-&gt ; load->多次查看。
如何使用load_class?
答案 0 :(得分:1)
我正在尝试使用load_class来加载mthaml,因为我知道这是出于性能原因所必需的。
据我所知,mt-haml根本就没有必要。 load_class
来自codeigniter,而只是安装mt-haml包并包含它的自动加载器,你应该没问题。