skatekcorp/pharlink

在php经典文件中为每个phar存档文件创建链接以隐藏其代码

安装: 0

依赖: 0

建议者: 0

安全: 0

类型:项目

dev-master 2024-09-29 16:46 UTC

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目录下