skatekcorp / pharlink
在php经典文件中为每个phar存档文件创建链接以隐藏其代码
dev-master
2024-09-29 16:46 UTC
Requires
- php: >=8.1
This package is not auto-updated.
Last update: 2024-09-30 14:56:18 UTC
README
你的客户希望你能在他的本地网络中安装你正在销售的应用程序。问题在于,他只购买了一个使用许可,并且以后没有权利修改你的应用程序。从你的角度来讲,你也不想把用PHP编写的应用程序放在他的本地服务器上,以防别人窃取你的成果。
这是解决方案的一部分:最好的解决方案是使用[box]:https://github.com/box-project/box另一个问题是,你的应用程序将被压缩成一个存档并压缩,但无法通过浏览器访问。
这时就轮到这个小库登场了。它会用压缩后的文件替换原始文件,使客户和开发者双方都能受益。
支持的框架
- Cakephp
- Laravel
- Symfony
- ...
PHP使用示例
您可以参考example.php
文件。
在根目录下创建一个文件,并将以下代码插入其中
require 'vendor/autoload.php';
use Pharlink\Scanner;
use Pharlink\Debugger;
use Pharlink\Enums\Framework;
$paths = [
"pathToScan",
"otherPath"
];
$pharlink = "nomDuFichierDeSortie.phar";
$root = '/chemin/complet/du/dossier/du/projet/';
// Initialisation du Scanner
$scanner = Scanner::init($paths, $pharlink, $root, framework: Framework::Cakephp);
// Ecriture des fichiers
$files_copied = $scanner::rewriteAll();
// Nombre des fichiers copiés
Debugger::info($files_copied . " fichiers copiés");
您可以在控制台执行php fichier_creer.php
输出结果在output/project-name
目录下