我使用PHP 7单独开发一个框架。这个框架是可以在Symfony项目(框架核心,ORM,模板引擎,单元测试......)中找到的多个组件的一体化,但是我自己发展。
我的框架基于依赖注入,包,控制器,操作。
你能给我一些改进框架结构的建议吗?
最重要的一点是模板引擎(https://github.com/AlixSperoza/frash/tree/master/src/Template)。
实际上,这项工作有点混乱。
我加载参数传递的模板。 我为模板引擎的每个组件(部件,条件,foreach,...)提供了一组正则表达式。我在模板上使用一般的正则表达式执行preg_match_all()。
我用foreach旅行preg_match_all的结果。在foreach内部,我有一个开关,每个组件的正则表达式都有一个案例。 (https://github.com/AlixSperoza/frash/blob/master/src/Template/Parsing/Parser.php)
然后,对于switch中的每个case,我都有一个callExtension()来调用该组件。 它在以下情况下变得复杂:
每个组件都有一个父类,用于解析他调用的类。例如,对于生成路由,我有一个用于主要解析器的组件Route,另一个用于Foreach解析器的Route和一个用于父解析器的最后一个Route。
然后,依赖注入加载所有配置文件并将它们传递给参数,对于这个DI实例,它是一种很好的工作方法吗?
感谢。