Catégorie : Programmation Web

programmation Web

  • Comment permuter des variables en PHP

    Poème PHP :
    All PHP programmers should know …

    Après avoir lu un petit article sur le swapping de variable en JS, je me suis dis que je pouvais transposer l’idée pour le PHP.

    Dans beaucoup de situation, les développeurs auront la nécessité d’échanger 2 variables. Je pense qu’il est obligatoire de connaître plusieurs façons d’effectuer l’échange de variables.

    Variable temporaire

    L’échange de 2 variables à l’aide d’une 3eme variable temporaire est classique. Comme son nom l’indique, cette approche nécessite d’échanger les valeurs des variables $a et $b à l’aide d’une variable temporaire $temp :

    $a = 10;
    $b = 20;
    $temp;
    
    $temp = $a;
    $a = $b;
    $b = $temp;
    
    // Résultat
    echo $a; // => 20
    echo $b; // => 10

    Assignement par restructuration

    La méthode que je vais montrer n’est valable qu’à partir de la version 7.1 de PHP. Elle ne fonctionne absolument pas avec les versions antérieures.

    Notez-le de votre côté !

    $a = 10;
    $b = 20;
    
    [$a, $b] = [$b, $a];
    
    echo $a; // => 20
    echo $b; // => 10

    Comme vous pouvez le constater, cette technique est plus rapide, et n’a aucunement besoin d’une troisième variable.
    La ligne [$a, $b] = [$b, $a]; permet de switcher les variables que vous souhaitez, dans l’ordre que vous souhaitez.
    Cette technique est même fonctionnelle avec autant de variables que vous souhaitez :

    $a = 10;
    $b = 20;
    $c = 30;
    
    [$a, $b, $c] = [$b, $c, $a];
    
    echo $a; // => 20
    echo $b; // => 30
    echo $c; // => 10

    Addition et différence

    Cette technique échange des variables sans utiliser de mémoire supplémentaire.

    Vous l’aurez compris, l’exemple suivant permute les variables $a et b à l’aide des opérateurs arithmétiques d’addition et de soustraction :

    $a = 10;
    $b = 20;
    
    $a = $a + $b;
    $b = $a - $b;
    $a = $a - $b;
    
    echo $a; // 20
    echo $b; // 10

    Initialement, $a vaut 10 et $b vaut 20. Voici l’explication des 3 instructions :

    $a = $a + $b attribue à $a la valeur 10 + 20.
    $b = $a - $b attribue à $b la valeur 10+20-20 = 10.
    $a = $a - $b attribue à $a la valeur 10+20-10 = 20.

    Enfin, $a vaut 20 et $b vaut 10. L’échange de $a et $b a été effectué.

    Bien que cette approche n’utilise pas de variables temporaires, elle présente des limites considérables :
    – Tout d’abord, vous ne pouvez échanger que des entiers.
    – Deuxièmement, soyez conscient du débordement des nombres lorsque vous effectuez l’addition à la première étape $a = $a + $b.


    Si vous connaissez d’autres algorithmes, simple ou complexe, qui permettent la permutation de variables en PHP, n’hésitez pas à les partager. Je les ajouterai à cette article.

  • Vérifier la visibilité du wp-config.php sur les moteurs de recherches

    L'importance du fichier wp-config
    L’importance du fichier wp-config pour WordPress

    Début décembre, j’ai reçu le rapport sur les performances de mon portfolio.
    Quel n’a pas été ma surprise en voyant une des requêtes qui faisait remonter mon site.

    La requête est la suivante : inurl:wp-config.php intext:db_password

    Dans mon cas, cette requête fait un des articles que j’avais écrit sur le fichier wp-config.php.

    Pour d’autres cas, si le travail n’est pas bien fait, cela peut faire remonter le contenu de ce fichier.
    Le fait que tout le monde voient le contenu de ce fichier est problématique, et nécessiterai un travail de sécurité accru en aval de cette découverte.

    Pour les quelques résultats que je trouvais, les fichiers wp-config.php était de vieille version du fichier.
    Ils pouvaient être préfixés de ces différentes manières : wp-config.php-, wp-config.php.txt, wp-config.php.OLD.

    Il est très importants de n’avoir qu’une seule version de ce fichier sur votre site. Cela pourrait éviter un certains nombre de problème.

  • 25 jours d’autoformation au motion design CSS

    25 jours d'autoformation au motion design CSS
    25 jours d’autoformation au motion design CSS

    Aujourd’hui, je voudrais partager avec vous l’article suivant : 25 Days of CSS Animations: Teaching Myself CSS through Motion Design.

    Dans cet article, il y a tout un process pour apprendre le motion design en CSS, quelques liens de tutoriel, et aussi des exemples d’animations.

    Je le partage avec vous.

  • Yii Framework : Installation

    Présentation de Yii, framework PHP
    Présentation de Yii, framework PHP

    Présentation

    Yii2 est un Frameworks PHP parmi tant d’autres. Il est moins connu que Symfony, Laravel ou CodeIgniter, mais il a une communauté.
    Il facilite grandement le développement grâce à son cadre de travail prenant en compte le MVC, la gestion des formulaires, l’active record pour la base de donnée, etc…

    Installation

    Ce qu’il faut savoir est l’existence de 2 architectures de Yii : la basic, et l’advanced.
    Selon l’architecture de Yii que vous voulez, les étapes d’installations diffèrent légèrement, mais ce n’est pas quelques choses de compliqué.

    Voici la commande d’installation pour l’architecture simple de YII :

    composer create-project --prefer-dist yiisoft/yii2-app-basic basic 

    Pour installer l’architecture avancé de YII, voici les 2 étapes à suivre :

    composer create-project -–prefer-dist yiisoft/yii2-app-advanced advanced
    cd advanced
    /path/to/php-bin/php /path/to/yii-application/init (ou php init)

    Il ne reste plus qu’à vous faire des virtualhost, et tout est bon.
    Pour connaître les exigences de Yii sur l’environnement utilisé, il suffit de lancer la commande ci-dessous :

    php requirements.php

    Inspiration

    Pour vous permettre de vous lancer plus rapidement, voici les liens vers la documentations de Yii2
    Yii 2 Basic : Procédure complète d’installation.
    Yii 2 Advanced : Procédure d’installation

  • Les meilleurs frameworks PHP

    Framework PHP
    Framework PHP

    Je suis développeur Web, majoritairement Back-End, et je suis dans une période de grand changement.

    Actuellement, je change de mission, et dans ma nouvelle mission, je dois apprendre à utiliser Yii Framework.
    Sur le site, la documentation est assez complète. Elle a même été traduite en plusieurs langues, donc le Français. Pour le peu que j’ai pu voir sur ce Framework, il est intéressant et très complet.

    Dans mes expériences précédentes, j’ai eu l’occasion de travailler sur d’autres frameworks, en l’occurrence Symfony et CodeIgniter.
    Je commence même à apprendre Laravel (pour les versions 5 et 6).

    Voici mon constat pour le moment :

    • Je n’arrive pas à accrocher à Symfony.
    • CodeIgniter 3 est intéressant, mais pas parfait. (En attente de la version 4)
    • Laravel et Yii Framework sont prometteur.

    Pour vous, quels sont les frameworks que vous connaissez ? Lequel préférez-vous ?