Blog

  • Cas d’utilisation des fonctions explode et str_split

    Aujourd’hui, j’ai envie de parler de 2 fonctions PHP différentes, mais au fonctionnement assez proche.

    Je voudrais faire un parallèle entre ces fonctions, qui s’appellent explode(), et str_split().

    Fonction explode()

    Cette première fonction, explode($delimiter , $string), permet de couper n’importe quel chaîne de caractère en segments, et de retourner un tableau de chaîne. Les chaînes sont les segments en question.
    Le premier paramètre de cette fonction est un $delimiter, un caractère pris en compte pour la division de la chaîne de caractère en question. Cela peut être un espace vide, comme des caractères de ponctuation (virgule, point-virgule, tiret, etc…)
    Le deuxième paramètre, $string, est la chaîne de caractère qui sera divisé.

    Voici un exemple simple d’utilisation de cette fonction :

    // Exemple 1
    $pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
    $pieces = explode(" ", $pizza);
    echo $pieces[0]; // piece1
    echo $pieces[1]; // piece2

     

    Fonction str_split()

    La deuxième fonction, str_split($string), convertit directement une chaîne de caractères en tableau.
    Elle ne prend que la chaîne de caractère à convertir en paramètre (ou $string). Contrairement à la fonction explode, il n’y a pas de paramètre $delimiter.

    Voici un exemple d’utilisation de cette fonction :

    // Exemple 1
    $str = "Hello";
    $arr1 = str_split($str);
    print_r($arr1);

    Array
    (
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    )

    Cette fonction str_split est utilisable dans le cas particulier d’une scission complète d’une chaîne de caractère, alors que la fonction explode est utilisé qu’avec un delimiter.

    Je n’ai connu str_split qu’il y a quelques semaines, dans le cadre d’une résolution d’énigme en PHP.

    Conclusion

    J’espère vous avoir appris des choses par rapport à ces deux fonctions, ou au moins par rapport à l’une d’entre-elle.

    Il existe d’autres fonctions permettant de couper une chaîne en segments comme preg_split, mb_split, strtok. Chacune sont utilisable dans des situations spécifiques. Vous pouvez regarder leur page de doc, vous pourrez y découvrir des choses.

    Voici les liens vers la documentation de ces deux fonctions sur le site php.net :

     

    A la prochaine.

  • Les vidéos de la KiwiParty 2018 enfin disponible

    Les vidéos de la KiwiParty 2018 enfin disponible

    Bonjour tout le monde.

    Je ne sais pas si vous connaissez le site alsacreations, mais je vais vous partager les vidéos de la conférence qu’ils ont préparé cette année.

    La conférence s’intitule KiwiParty, et vous pourrez voir plusieurs vidéos avec des thèmes très intéressants.

     

    Dites-moi ce que vous pensez de ces vidéos, des thèmes présentés, etc…

  • Utilisation de Composer pour l’autoloading

    Utilisation de Composer pour l’autoloading

    Introduction

    Dans les projets en PHP, nous avons souvent besoin d’un système d’autoloading.

    Au lieu de créer de zéro ce système d’autoloading en PHP, il suffit d’initialiser composer et de l’utiliser simplement.

    Voici les 3 étapes à suivre :

    Etape 1 : initialiser composer

    Dans le dossier contenant votre projet, vous aller initialiser composer en faisant un composer init.

    Vous remplissez les différentes informations : name, description, licence, etc…

    Voici un exemple de fichier composer.json que j’utilise :

    Dans le fichier principal de votre projet, index.php par convention, il est important de rajouter la ligne suivante :

    require ‘vendor/autoload.php’;

    Sinon, l’autoloading ne fonctionnera pas.

    Etape 2 : Ajout de l’autoload

    Dans le fichier composer.json généré, la partie à ajouter est la suivante : autoload.
    Vous pouvez recopier cette partie de mon exemple ci-dessus.
    psr-4 est la convention actuelle sur l’autoloading, et permet une meilleure gestion du chargement des classes et des interfaces de votre projet.

    Dans mon exemple, vous avez remarqué la ligne suivante : « App\\ »: « app/ ».
    Cela signifie que les classes du dossier app sont automatiquement chargé par PHP.

    Etape 3 : les derniers détails

    Pour finaliser tout cela, il reste quelques détails à ajouter.
    Dans chaque classes PHP du dossier app, il faut ajouter en début de script la ligne suivante :

    <?php
    namespace App;

    Dès que vous voulez utiliser une des classes de ce dossier app, il suffit d’utiliser les lignes de code telle que celle-ci :

    use App\nomDeLaClasse as nomDeLaClasse;

    Cela appellera automatique la classe ayant pour nom nomDeLaClasse, et vous pourrez l’utiliser sans problème.

  • Résolution d’énigme en PHP

    Résolution d’énigme en PHP

    Aujourd’hui, j’aimerai créer une nouvelle catégorie d’articles sur mon Blog, une catégorie montrant la résolution de problème via le développement.

    Le premier script présenté se trouve sur mon github à l’adresse suivante : https://github.com/Little-sumo-labs/Le-poids-des-chiffres.

    C’est un script résolvant une énigme mathématique. Son titre est Le poids des chiffres, que vous pouvez retrouver sur le site une-enigme.com.

    L’intitulé de l’énigme est la suivante :

    Chacun de ces chiffres ci-dessous pèse le poids indiqué au-dessous. Formez 3 nombres de 3 chiffres chacun qui représentent leur poids total ( exemple, 617 doit peser 617 Kg ).

    1 = 51 Kg
    2 = 307 Kg
    3 = 93 Kg
    4 = 522 Kg
    5 = 144 Kg
    6 = 28 Kg
    7 = 43 Kg
    8 = 93 Kg
    9 = 78 Kg

    Je ne vous donne pas la réponse dans cette article, je ne veux pas la spoiler.
    De toute façon,vous la retrouverez sur la page de l’énigme, et dans mon script.

     

    N’hésitez pas à me dire ce que vous en pensez !

  • Comment mettre à jour PHP dans Apache

    Dans mon précédent article sur Laravel, je vous présentais une formation complète pour l’installer et l’utiliser.

    Lors du suivi de cette formation, et de l’installation de Laravel sur mon ordinateur, j’ai eu le problème de la page blanche. Ce problème était visible sur toutes les pages, et était issu d’une erreur 500.

    Après avoir regardé quelques détails, j’ai pu remarqué de la version de PHP de mon Apache était la 7.0. Hors, la version minimale du PHP accepté par Laravel était la 7.1.3.

    J’ai donc trouvé sur stackoverflow la solution à mon problème : How to update apache’s php ?

    dans mon cas, il suffisait de faire :


    sudo a2dismod "php7.0"
    sudo a2enmod "php7.2"

    Avec php 7.2, je n’ai plus eu de problème.

    A faire partager.