框架能够将业务代码和类库打包编译单独的文件。如果用过vue等框架则能够很容易的理解,基本上是将多个代码文件编译成少数的几个文件。具体的目标如下:

  • 代码文件合并
  • 代码变量混淆
  • 代码压缩

代码压缩和变量混淆

代码压缩和变量混淆的目的很简单,要求也比较简单,能够实现方法和函数作用域下的变量混淆即可。

代码文件合并

类库

能够将app下的所有类文件,打包编译成一个文件,对代码有一定的要求:

  • 只能声明一次命名空间
  • 只能定义一个类

函数文件

common.php等函数文件,合并为一个。

数据库迁移代码

进行简单的压缩即可,不能也不应该合并代码文件

编译处理Env文件和配置文件

将env的配置项编译到项目中。为了防止出现意外边界情况,尽量只在config下引用env。

打包到config后实际数据脱敏处理。

全局的配置文件支持在tp生命周期中设置,而不是以单独的文件存在。

开始编译将所有的文件移动到temp目录。(跳过部分目录,比如.git,runtime)将所有的调用编译成全命名空间的方式将Env的配置编译到代码中将标准的类库文件打包到一个文件,跳过不标准的文件将指定的文件目录使用压缩的方式编译将所有的类调用使用use别名调

原文标题:代码编译原理

原文文档:ulthon_admin

原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/63749eadcc091/zh-cn/2.x.html

原文平台:奥宏文档

2.x