Download the PHP package neooblaster/prepends without Composer

On this page you can find all versions of the php package neooblaster/prepends. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package prepends

PHP Prepended files

Sommaire

1. Présentation

Dans PHP, il est possible d'automatiser l'intégration systématique de fichiers avant l'exécution et après l'exécution d'un script PHP. Ce sont respectivement les deux directives internes auto_prepend_file et auto_append_file qui permettent cette automatisation.

Ces deux directives sont disponibles quelle que soit la version de PHP.

Pour utiliser ces fonctionnalités, il faut d'abord les configurer dans le fichier de configuration PHP php.ini.

La particularité de ces deux fonctionnalités est qu'il faut spécifier, chaque fichier à inclure.

Pour simplifier l'utilisation de ces deux options, j'ai conçu un script qui parcourt les différents fichiers et dossiers qui se trouvent à son emplacement. Ainsi seul ce script doit être prepended ou appended dans le fichier de configuration php.ini.

Il a l'avantage également d'être configurable pour ajuster au mieux le comportement du script selon les différents sites virtuels qui pourraient être hébergés sur le serveur en évitant ainsi des erreurs de redéclaration de classes, de fonctions ou encore des fichiers de configuration pouvant provoquer des comportements non désirés.

Un exemple d'utilisation de l'auto_prepend_file est l'intégration de fonctions globales basiques propriétaires qui pourront être utilisées dans n'importe quel script PHP sans devoir à chaque fois faire l'inclusion manuellement.

2. Configuration du fichier php.ini

La configuration suivante est déjà effective dans la machine virtuelle MCOSDE.

Ci-dessous, la définition des deux directives issues du manuel PHP :

Dans notre configuration, nous allons spécifier un fichier unique qui est auto_prepend_files.php.

Nous allons donc éditer le fichier de configurtion php.ini à l'aide de l'éditeur nano :

Cherchez la directive de configuration auto_prepend_file à l'aide de la combinaison de touches suivantes : CTRL + W puis tapez auto_prepend_file.

Vous devriez avoir quelque chose comme ceci :

Nous n'avons pas spécifié l'emplacement complet vers ce fichier, car nous allons exploiter la fonctionnalité des include_path. Lorsqu'on appelle un fichier, PHP cherche ce fichier dans une liste de dossier définis dans l'option include_path.

De nouveau dans l'éditeur nano, faites CTRL + W et tapez include_path.

Vous devriez avoir quelque chose comme ceci :

Répétez l'opération de configuration pour le SAPI CLI dont le fichier se trouve dans l'emplacement suivant : /etc/php5/cli/php.ini

La configuration étant désormais terminée, il ne reste plus qu'à redémarrer le service PHP pour qu'elle soit effective :

Important : Dans l'environnement de développement MCOSDE, le dossier /var/www/prepends est un lien symbolique pointant vers /home/mco/prepends. Si vous avez une configuration différente, il faudra faire les ajustements.

3. Configuration de auto_prepend_files.php :

Automatiser l'inclusion de nombreux fichiers présent dans des dossiers et sous-dossiers peut être nuisible lorsque plusieurs sites virtuels cohabitent sur le même serveur. Il fallait donc un système pour ajuster le comportement du script afin de lui préciser des règles d'exclusion d'intégration. Ce fichier de configuration est le fichier .ignore qui doit se trouver dans le même emplacement que le script auto_prepend_files.php.

Le principe de fonctionnement du fichier est très similaire aux fichiers de configurations de NGINX.

3.1. Les commentaires :

3.1.1. Les commentaires en ligne

J'ai choisi d'intégrer les trois modèles de commentaire en ligne les plus courants :

3.1.2. Les commentaires multi-ligne

Bien qu'il soit possible de précéder chaque ligne du caractère de commentaire inline, pour les gros pavés de texte, le commentaire multi-ligne reste plus approprié. Là encore j'ai utilisé le modèle le plus courant qui est le suivant.

3.2. Les entités :

Dans les univers Unix et Linux, tout est fichier, même les dossiers. Fonctionnellement parlant, en revanche on distingue les deux entités :

L'entité FILES sert à indiquer les fichiers à exclure.

L'entité FOLDERS sert à indiquer les dossiers à exclure.

Exclure un dossier comprend donc l'ensemble des fichiers et sous-dossier qu'il contient.

3.3. Les blocks d'instructions :

Tout comme NGINX, les instructions de configuration sont placées dans une structure constituant un bloc. Un bloc se présente sous la forme suivante :

Pour créer une règle d'exclusion, il faut créer un bloc muni d'une condition de réalisation puis de lister les valeurs à exclure pour la ou les entités désirées : FILES et/ou FOLDER.

3.4. Les conditions

Le système de condition porte sur les données disponibles dans la variable super-globale $_SERVER disponible sous Apache (SAPI apache), NGINX (SAPI FPM-FastCGI) et en ligne de commande (SAPI CLI).

SAPI : Serveur Application Programming Interface.

Dans la formule suivante : condition_src condition_value, condition_src prendra la valeur d'une clé existante dans la variable super-globale $_SERVER, tandis que condition_value sera la valeur à remplir pour traiter l'ensemble des instructions enfants à ce bloc d'instruction.

3.5. Expressions Réguliéres

L'ensemble des valeurs saisies, qu'il s'agisse d'une valeur de condition, d'un nom de fichier ou dossier à exclure, celles-ci sont traitées en tant que valeur exacte. Il est possible de rendre ces valeurs plus souples en utilisant les expressions régulières. Pour transformer une valeur exacte en expression régulière, il suffit de la précéder à l'aide du caractère tilde ~.

Annexe 1 - Server keys

Ci-dessous, la liste complète des clés admises pour définir une condition.

La disponibilité des clés pour Apache n'ont pas été évaluées.


All versions of prepends with dependencies

PHP Build Version
Package Version
Requires php Version >=5.6
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package neooblaster/prepends contains the following files

Loading the files please wait ....