Snippets PHP

PHP Hypertext Preprocessor est un langage de scripts généraliste et Open Source, spécialement conçu pour le développement d’applications web. Il peut être intégré facilement au HTML et s’exécute sur un serveur http.

PHP Snippets
PHP Snippets

Voici une liste de quelques snippets utiles, complétée au fur et à mesure des besoins.

Namspace et autoload

Il est intéressant de regrouper des classes dans des dossiers et de les utiliser simplement avec l’instruction new. L’autoload de php permet alors d’inclure automatiquement le fichier de la classe pour l’utiliser. Supposons avoir une classe myClass dans un dossier relatif par rapport à un fichier principal lançant toutes les classes, contenant une fonction autoload_classes() gérée par la fonction spl_autoload-register().

Les fichiers php contenant les classes peuvent être nommés class-myclass.php ou, dans des sous répertoires, par exemple : MyClass.php, contenant la class MyClass, dans le répertoire Folder1/Folder2. On écrit alors, avant la définition de la classe :

et on l’appelle, à l’extérieur, de la façon suivante :

Pour utiliser une classe, sans le préfixe MyPrefix\Folder1\Folder2, on utilise l’instruction use.

Définir une constante

L’opérateur || permet de court-circuiter les opérations. Si le premier opérande est vrai, le second n’est alors pas évalué. Si le premier opérande est faux, le second est évalué, et la fonction define() est exécutée.

Formulaire et checkbox

Lorsque l’on a une checkbox dans un formulaire, si celle-ci est cochée elle envoie la valeur on pour le nom de l’élément input, si elle n’est pas cochée elle n’envoie rien. Si l’on veut obtenir la valeur 1 si elle est cochée ou 0 sinon, on doit tester l’existence de la variable envoyée. L’élément input est de la forme :

Lorsque celle-ci est cochée, la balise contient également l’attribut checked :

Lorsque l’on reçoit la variable envoyée, en POST par exemple, on teste l’existence de la variable $_POST['myCheckbox'], on assigne 0 ou 1 avec la fonction intval() :

Supprimer un répertoire même s’il n’est pas vide

La fonction rmdir() supprime un répertoire à la condition qu’il soit vide. On parcourt donc le répertoire récursivement afin de vider chaque sous-répertoire non vide et supprimer chaque fichier, afin d’appliquer en fin de compte rmdir().

La fonction retourne true en cas de succès, false sinon.

Imprimer un arbre des dossiers et fichiers d’un répertoire

On utilise la classe RecursiveDirectoryIterator et les classes associées :

On obtient un arbre tel que celui-ci :

Obtenir la dernière valeur d’un tableau, ou la dernière clé :

Par défaut  array_slice() réordonnera et réinitialisera les indices entiers du tableau, on modifie ce comportement en définissant le dernier paramètre preserve_keys à true. Si l’on veut obtenir la dernière clé, à partir de PHP 7.3, on peut utiliser array_key_last(), sinon :

Fusionner deux tableaux sans valeurs en double :

Et si l’on veut réindexer le tableau :

Minifier un fichier CSS :

$buffer contient le CSS minifié.

Obliger le navigateur à ne pas utiliser les fichiers en cache (js, css) :

Il peut être difficile d’effacer le cache du navigateur. Pour obliger celui-ci à télécharger la dernière version des js et css :

 

Obtenir un slug unique, non présent dans un tableau :

OpenSSL Encrypt Decrypt :

Obtenir une chaîne de caractères au hasard :

Filtrer un tableau :

On a un tableau :

et l’on filtre le tableau en enlevant les valeurs lycee et cine :

et l’on obtient le tableau :

Connaître la taille d’un dossier :

Et hop, quelques snippets bien utiles pour la programmation PHP.

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables.