多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 0 简介 >Twig php编写的模板引擎。 >Twig的分析主要学习其中编译原理的使用 ## 0-0 项目地址 https://github.com/twigphp/Twig ## 0-1 官方文档 https://twig.symfony.com/doc/2.x/ # 1 目录结构 ~~~ Twig\ lib\ 实现目录psr-0 src\ 封装目录psr-4 ~~~ >Twig2.0目录的结构是过渡阶段,从psr-0加载规范到psr-4 >主要分析lib目录下的实现 ~~~ Twig\lib\Twig Cache\ ;编译后缓存处理 Error\ Extension\ ;核心扩展 Loader\ ;模板文件加载 Node\ ;语法树节点 NodeVisitor\ ;语法树节点遍历器 Profiler\ Sandbox\ Test\ TokenParser\ ;Token类 Util\ ~~~ # 2 重要文件 >在Twig根目录下包含一些重要文件 >根据功能不同分为以下几部分 > ~~~ 接口类 CacheInterface.php ExistsLoaderInterface.php ExtensionInterface.php LoaderInterface.php NodeCaptureInterface.php NodeOutputInterface.php NodeVisitorInterface.php RuntimeLoaderInterface.php SoureceContentLoaderInterface.php TokenParserInterface.php 加载类 ContainerRuntimeLoader.php FactoryRuntimeLoader.php FileExtensionEscapingStrategy.php 运行环境类 Environment.php Extension.php ExtensionSet.php Filter.php Function.php Error.php Markup.php Node.php SimpleFilter.php SimpleFunction.php SimpleTest.php Source.php Template.php TemplateWrapper.php Test.php 编译类 BaseNodeVisitor.php Compiler.php ExpressionParser.php Lexer.php NodeTraverser.php Parser.php Token.php TokenParser.php TokenStream.php ~~~