mvccore / packager
库可以将任何类型的应用程序打包成PHAR存档或任何MvcCore应用程序打包成单个PHP超级快速结果文件。
v2.5.1
2023-12-13 12:47 UTC
Requires
- php: >=5.4.0
- mrclay/minify: 2.3.*
README
功能
- 将PHP MvcCore应用程序打包成单个PHP文件
- 将任何PHP应用程序打包成PHAR存档
安装
composer require mvccore/packager
配置
- 包含整个应用程序源代码的目录(
/development/...
) - 存储打包结果的代码
index.php
文件 - 无需再定义PHP脚本的顺序 - 自动通过读取PHP脚本来检测顺序
- 通过正则表达式排除模式,排除应用程序源代码中的任何文件或文件夹
- 在最小化之前对每个打包的PHP文件应用字符串替换
- 最小化PHTML模板
- 最小化PHP脚本
- PHP打包现在有4个选项,如何实现文件系统封装函数的行为
- 严格包模式(
\Packager_Php::FS_MODE_STRICT_PACKAGE
)(所有内容只能从index.php
中获取,对于特定类型的应用程序在IIS/PHP/op_cache中非常快) - 严格硬盘模式(
\Packager_Php::FS_MODE_STRICT_HDD
)(无文件系统封装函数) - PHP库模式(
\Packager_Php::FS_MODE_PHP_LIBRARY
)(无文件系统封装函数,无PHP代码替换,除非命名空间合并) - 保留包模式(
\Packager_Php::FS_MODE_PRESERVE_PACKAGE
)(首先检查是否可以从不index.php
中获取任何内容,然后从硬盘上获取) - 保留硬盘模式(
\Packager_Php::FS_MODE_PRESERVE_HDD
)(首先检查是否可以从硬盘上获取任何内容,然后从不index.php
中获取)
- 严格包模式(
- 实现了以下文件系统封装函数和常量
__DIR__
和__FILE__
require_once();
、include_once();
、require();
、include();
new DirectoryIterator();
、new SplFileInfo();
readfile();
、file_get_contents();
file_exists();
、is_file();
、is_dir();
、mkdir()
、filemtime();
、filesize();
simplexml_load_file();
、parse_ini_file();
、md5_file();
- 可以定义应该保留哪些文件系统封装函数不进行封装
- 对于PHP打包 - 可以定义通过扩展名如何将文件存储在
index.php
结果中- 纯文本
- PHP代码
- 二进制
- gzip内容
- base64编码内容