因为写的框架使用了 twig,这就蛋疼了,只有一些 twig 中文文档,却没有关于 twig 实战的一些的文章(或者说有些英文版说得太高深),于是这就相当于从零开始. 今天使用自己的框架的时候,遇到一个问题,也就是 include 不能使用相对路径,这我就急了。

stackoverflow说得太孤儿了,因为讲的自动加载器根本没有例子,我怎么知道怎么写... 于是又翻到symfony 也是使用了 twig,因此对使用我的框架开发具有实际意义。

symfony 使用了 twig 的扩展,但当我看见@name 这样的格式时候,我突然想起来看到 twig 文档有对命名空间的另一写法。

下面使用我的框架 frag 进行说明:

$loader = new \Twig\Loader\FilesystemLoader(APP. '/template/' . THEME_NAME);
//只要添加下面的代码
$loader->addPath(APP. '/template/' . THEME_NAME . '/admin/common/', 'admin');

其实正常来说就是在模板的目录去寻找,不会翻目录,所以我们要增加让它寻找的路径。 {{ include('@admin/left-sidebar.html') }}这样就可以避免相对引用