skatekcorp / pharlink
Faire un lien avec chaque fichier dans l'archive phar dans le fichier php classic pour cacher son code
Requires
- php: >=8.1
This package is not auto-updated.
Last update: 2025-04-28 17:27:45 UTC
README
Ton client veux que tu lui installe l'application que tu es en train de vendre, dans son réseau local. Le problème qui se pose est qu'il n'a acheté qu'une licence d'utilisation et il n'a pas le droit de modifier ton application plus tard. De ton côté, tu ne veux pas non plus mettre ton application écris en PHP dans son serveur en local, de peur que l'on te vole tes réalisations.
Ceci est la partie de la solution: La grande solution est d'utiliser [box]: https://github.com/box-project/box L'autre probleme qui se pose est que ton application sera compacté dans une archive et compressé, mais que l'accès ne sera pas possible depuis un navigateur.
C'est là qu'entre en jeux ce petit library. Qui va remplacer les fichiers par leurs équivalents compressé pour que les deux parties sortent gagnant (client et développeur).
Frameworks supportés
- Cakephp
- Laravel
- Symfony
- ...
Exemple d'utilisation PHP
Vous pouvez vous referer au fichier example.php
Creer un fichier a la racine, et inserer le code ci-dessous dedans
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");
Vous pouvez l'executer en console php fichier_creer.php
La sortie se trouve au dossier output/project-name