Dans un script PHP tout comme dans la plupart de langage de programmation, une variable à un cycle de vie. Sa création, définition ou déclaration

Son affectation ou initialisation

Sa destruction

De sa déclaration à sa destruction, une variable peut subir plusieurs actions.

  • Elle peut être redéfinie
  • Elle peut être modifiée
  • Elle peut être affichée
  • Etc…

Mais tant bien même définie dans un script ou un fichier PHP, une variable a une portée, c’est-à-dire une variable a l’endroit où elle peut être utilisée et un autre où elle est inconnue ou indéfinie même si elle était définie précédemment.

Ces endroits, c’est ce que je vous propose de découvrir dans la suite de cet article. Cela nous amène à une notion de la programmation qu’on appelle la portée de variable .

Sorte de variable

En PHP, il y a de manière générale 3 sortes de variable :

  • Variable locale : Sont des variables définies et disponible que dans une fonction, closure ou méthode
  • Variable globale : Sont des variables définies et disponibles en dehors d’une fonction.
  • Variable super globale : Sont des variables définies et disponible partout. A l’intérieur ou à l’extérieur d’une fonction.

Variable locale

Les variables globales sont celles qui sont définies dans une fonction, un closure ou méthode. La portée de ces variables sont donc locales, c’est-à-dire qu’ils ne peuvent être utilisées que dans le scope (entre accolade) de cette fonction.

Dans cet exemple, la variable $b est locale (disponible que dans la fonction a) et il y a deux variables $a, celle locale qui égale 5 et l’autre qui est globale qui équivaut à 1 ;

Variable globale

Une variable globale est celle qui est accessible partout dans un script PHP sauf dans des méthodes, fonctions ou closures. C’est à peu près le contraire des variables locales.

Cependant, il est possible d’avoir accès aux variables globales à l’intérieur d’une fonction. Deux choix nous est possibles :

Via le mot clé global

 

Via la variable $GLOBALS

Toutes les variables déclarées dans un script PHP sont aussi ajoutées dans la variable $GLOBALS qui est un tableau associatif où les clés sont les noms de variables et les valeurs sont les valeurs de ces variables.

Exemple :

Va afficher

Ce qui veut dire qu’on peut très bien récupérer la valeur d’une variable déclarée à l’extérieur d’une fonction vu que $GLOBALS est une variable super globale dont on en parle dans le prochain point

Variable super globale

Les variables super globale sont celles qui sont accessible partout dans un script PHP. Elles font partie des variables prédéfinies. Elles sont donc au nombre de 9 :

  1. $GLOBALS Contient toutes les variables globales et super globales définie dans un script. On en a parlé
  2. $_SERVER Contient les informations sur le serveur telle que l’IP du serveur et l’exécution du fichier PHP telle que le nom du fichier PHP
  3. $_GET Contient toutes les variables passées dans un url. ex : index.php?variable1=valeur1&variable2=valeur2
  4. $_POST Contient toutes les données envoyées par la méthode POST, le cas de formulaire HTML.
  5. $_FILES Contient tous les fichiers soumis par les formulaires.
  6. $_COOKIE Contient tous les cookies définis à l’aide de la fonction setcookie()
  7. $_SESSION Contient tous les sessions définis
  8. $_REQUEST Contient les contenus de $_GET, $_POST et $_COOKIE
  9. $_ENV

Ces variables peuvent être appelées n’importe où dans un script PHP.

Et prend fin cet article, j’espère qu’il ne vous a pas autant ennuyer, pour n’importe quelle question, je vous répond aux commentaires.

Vous avez décidé de devenir un bourré qui rêve tout le temps, misogyne, quoi d’autres ? programmeur, parfait, comme dans la plus part de métier, le début demande à ce qu’on soit passif, être à l’écoute de ceux qui ont plus d’expérience et chercher à mieux évoluer.
En fait, dans la programmation, le vrai problème que rencontre les programmeurs, ce n’est généralement pas algorithmique c’est-à-dire, le problème du projet à résoudre, mais c’est l’organisation générale qui affecte le projet et donc, rend ainsi difficile la résolution de problème du projet. Partant de la structure du projet au développeur, sans une strict rigueur, on reste faucher sur la résolution de problème du problème de problème du projet au lieu de résoudre directement le problème du projet.
Étant que développeur, la manière de coder influence fortement la résolution du problème à long terme. Que cela soit un projet où vous coder seul ou en équipe, certaines bonnes pratiques aident à rester focus sur le projet et celles-là devraient devenir une routine.
Dans cet article, je veux partager avec vous une habitude étant que développeur que vous devriez adopter tant dans un projet solo que collectif pour coder proprement et efficacement.

Le meilleur code source est celui qui en même temps résout le problème et est facile à comprendre.

 

le développeur n’est pas seulement une personne qui écrit du code pour une machine, mais c’est aussi un auteur qui écrit du code que les autres doivent pouvoir relire et comprendre

Robert C. Martin dans Coder proprement (2013)

Les commentaires

Si ce n’était pas la première notion après << Hello world >> que vous avez apprise quand vous appreniez votre langage de programmation préféré, c’est sans doute parmi le 5 d’entre-elle. Avec un projet encore petit, on peut sans doute se passer des commentaires. Mais dès que vous commencez à atteindre 500 à 1000 ligne de code, les commentaires deviennent indispensable tant pour l’équipe que pour soit même.
Mais ce qui est malheureux est qu’au début, on a tendance à faire des projets assez petits que l’habitude de ne pas commenter devient principale. Peu importe le projet, ayez toujours l’habitude de commenter votre code, que cela soit systématique.
Vous n’avez pas besoin de faire des paragraphes dans un commentaire du code source, cela est dédié à la documentation. Un commentaire de code source doit être bref, concis et explicite. L’usage de celui ci est de dire à celui qui le lit sa raison d’être, donner une idée de ce qu’à voulu dire l’auteur.

Nomenclature des identifications

Un identificateur est un mot choisi par le programmeur pour représenter une donnée quelconque. C’est le cas de variable, constant, classe, argument, fonction ou procédure. Implicite que cela pourrait être, juste la bonne nomenclature de ses identificateurs peut rendre votre code assez claire pour quiconque le lira.

Style typographique

Il faut toujours chercher à avoir une logique ou convention unique de nommer vos identifiants ou une catégorie d’identifiant. Logiquement, la convention de nomenclature des identifiants est à la charge du maitre d’œuvre ou le chef du projet lors de l’écriture de la spécification technique du projet mais étant que développeur, vous devriez avoir aussi votre manière homogène ou convention personnelle de nommer vos identificateurs. Certains préfèrent camelCase , d’autres c’est le snack_case.

Un nom sémantique de l’identificateur

Un identificateur représente une donnée, un identificateur bien choisi devrait directement refléter la donnée qu’elle doit contenir au regard de celui qui lit votre code. Vous ne devriez pas abréger vos identificateurs. Je ne sais pas pourquoi une variable qui doit contenir les données d’un utilisateur devrait être nommée seulement ‘u‘ ou ‘a‘. Ce qu’il faut savoir par les noms des identifiants :

  • Donner un nom sensé, qui permet à quelqu’un de déduire facilement ce que contiendra la variable
  • Respecter la cardinalité de la variable. Ex: Une variable qui contiendra qu’un seul utilisateur peut être nommée ‘user’ et celle qui contiendra une collection d’utilisateur peut être nommée ‘users’.
  • Pour les fonctions ou méthodes, donner toujours le nom de la fonction, l’opération ou l’action qu’elle effectue.

Utilisation d’un logiciel de gestion de version

Qu’il soit un travail collectif ou individuel, l’utilisation d’un logiciel de gestion de version dans son projet est une bonne habitude qu’un développeur doit adopter. Il y a Git qui est assez utilisé mais comme c’est une question de préférence, certains préfèrent d’autres que celui ci comme SubVersion (SVN)

Enfin, les bonnes habitudes, on les développe souvent soit même sur base d’expérience, mais en générale, il faut toujours éviter de se répéter.

Partant de Personnal Home Page, à PHP/FI (Personnal Home Page Interactive Form) pour arriver à Php HyperProcessor, Le langage PHP n’a subi que des ajouts et améliorations de fonctionnalités du jour au lendemain. Ces ajouts et améliorations sont si fréquents qu’apprendre hier nous pousse à apprendre aujourd’hui pour être à jour même pour ceux qui ont déjà un niveau avancé.
Dans cet article, je vous parle des astuces PHP que peu de monde connaisse et je parie que vous les en connaissez pas même si vous avez déjà un niveau avancé en ce langage.

Opérateur d’exponentiation

Pour effectuer un calcul exponentiel en PHP, l’habitude courant est d’utiliser la fonction pow()

Il y a un opérateur ** ajouté depuis la version 5.6 de PHP qui permet de faire simple à l’instar de +, *.

L’opérateur Null-coalescence

Un code du genre, l’aviez-vous déjà fait ? Oui, j’en suis sûr !

Avec l’opérateur null coalescence qui est disponible qu’à partir de la version 7 PHP, la syntaxe de ce code est beaucoup plus simplifiée.

Et il est possible d’enchainer l’opérateur null-coalescence comme suit

 

Heredoc et Nowdoc

Hormis le simple et double guillemet, Il existe deux autres manières de délimiter une chaine de caractère en PHP que peu de gens connaissent. Sans surprise ce sont donc la syntaxe Heredoc et Nowdoc

Heredoc

La syntaxe heredoc est constituée de 3 signes d’infériorité (<<<) suivis d’un identifiant et d’une nouvelle ligne. L’identifiant servira de marquer la fin de la chaine suivi d’un point-virgule.

Le marquage de fin doit être au début de la ligne et ne doit être suivi d’aucun texte c-a-d, il  doit être seul dans une ligne.

Nowdoc

Nowdoc est similaire à herefoc, avec une simple différence que l’identifiant délimiteur doit être entouré d’un simple quotte et aucune interprétation de variable ou quoi que ce soit se fait.

Type de valeur de retour d’une fonction ou méthode

Ceux qui viennent de C ou Java savent de quoi je parle. PHP permet de faire omission de type de valeur de retour d’une fonction ou méthode. Cela ne veut pas dire qu’il ne le permet pas. Voici comment déterminer le type de valeur de retour d’une fonction

Et quand le type de valeur de retour ne correspond pas à ce qui était indiqué, une erreur fatale est invoquée.

Les variables dynamiques

Déclarer une variable en PHP, quel jeu d’enfant, juste un signe $ précédé du nom qu’on veut donner à la variable. Mais PHP permet aussi de déclarer dynamiquement une variable.

La valeur de $a ‘bonjour’ est utilisée comme nom de la variable. Dans $$a, $a est d’abord interprété, ce qui équivaut à ‘bonjour’ puis est utilisé comme déclaration de la variable $bonjour = ‘monde’. Dans echo ${$a}, $a est d’abord interprété après que sa valeur ‘bonjour’ soit utilisée pour afficher la valeur de $bonjour.

Importation des fonctions et constantes d’un namesapce

Avec l’utilisation des namespaces en PHP, on importe facilement une classe d’un namespace donné avec l’utilisation de l’opérateur use.

Quid de l’utilisation d’une fonction ou d’un constant d’un namespace donné ? Et ben il y a use function et use const.

 

Mutation de valeur de deux variables

Soit deux variables :

Si je veux affecter la valeur de $a dans $b et vice versa, Il faut

Je peux faire simple avec une affectation par décomposition

Enfin, PHP est actuellement dans sa 7ème qui a déjà subie plusieurs révisions. Se mettre à jour est le moyen le plus simple pour rester à jour parce que tout bouge vite. Que d’entre ces astuces connaissiez-vous avant ? Partagez aussi vos astuces dans le commentaire.

S’il n’est pas le plus utilisé, WordPress est parmi les CMS ou SGC le plus utilisé sur la toile. Grâce à son extensibilité, plusieurs plugins, extensions ou addons peuvent être ajoutés à une installation WordPress pour ajouter des fonctionnalités.

Vu que le nombre des extensions ajoutées dans une installation WordPress influence sa performance, avec autant des plugins gratuits ou payants que regorge WordPress plugin, on ne peut malheureusement pas tous les installer. Et c’est tout à fait naturel de se sentir perdu quant au choix des plugins à utiliser pour son projet WordPress. Quel est le meilleur plugin WordPress, Quel plugin indispensable pour son blog ? Combien de plugins utilisés pour un site ?

Bref, sur base de mon expérience, je vous liste les meilleurs plugins WordPress que quasi tout le monde installent dans son blog WordPress. Ces plugins sont ceux que j’installe dans quasi toutes mes installations WordPress peu importe le type du site.

JetPack

Jetpack, un all in on, est un plugin qui regroupe plusieurs plugins en lui seul, et permet d’intégrer plusieurs fonctionnalités rapidement. Parmi ses fonctionnalités, on cite notamment :

  • Stats: une fonctionnalité qui vous permet d’afficher la statistique de votre site, le nombre de visiteurs journalier, hebdomadaire, mensuel et annuel
  • Abonnement : une newsletter, qui permet à vos fans de s’abonner à votre site et d’être notifié des nouvelles de votre blog
  • Bouton partage : Une fonctionnalité qui permet d’ajouter les boutons de partages dans les réseaux sociaux.
  • Photon : Un outil qui accélère considérablement votre site en chargeant les images depuis wordpress.com
  • Articles similaires : Une fonctionnalité qui permet d’afficher les articles similaire d’un blog
Jetpack by WordPress.com
Jetpack by WordPress.com
Développeur: Automattic
Prix: Gratuit
  • Jetpack by WordPress.com Capture d'écran
  • Jetpack by WordPress.com Capture d'écran
  • Jetpack by WordPress.com Capture d'écran
  • Jetpack by WordPress.com Capture d'écran
  • Jetpack by WordPress.com Capture d'écran
  • Jetpack by WordPress.com Capture d'écran
  • Jetpack by WordPress.com Capture d'écran
  • Jetpack by WordPress.com Capture d'écran

Wordfence security

D’abord la sécurité de son blog est primordiale avant quoi que ce soit, Wordfence rend le succès des attaque par force brute difficile si pas impossible avec un système de blacklistage d’adresse IP. Très pratique même s’il a une réputation d’être difficile à configurer.

Akismet

La plus part du temps, les sites WordPress acceptent l’interactivité de ses utilisateurs. Les spammeurs adorent ce genre d’opportunité. Si vous ne voulez pas voir du chinois dans vos commentaires, pensez à Akismet. Il est d’ailleurs déjà intégré par défaut dans toutes les installations WordPress, qui cependant n’est pas activé.

Akismet Anti-Spam
Akismet Anti-Spam
Développeur: Automattic
Prix: Gratuit

W3 Total Cache

Optimise et accélère les chargements de votre site WordPress, il compresse votre site, mets un système de cache et dispose d’une manière intelligente de minifier le code source de votre site pour un chargement plus rapide.

W3 Total Cache
W3 Total Cache
Développeur: Frederick Townes
Prix: Gratuit

Yoas SEO (WordPress SEO by Yoast)

Parmi les étapes de créations d’un site web, le référencement (SEO) de son site est une étape non négligeable si pas indispensable. La plus part de thème WordPress intègre déjà les balises d’optimisation pour les moteurs de recherches mais ne sont généralement pas suffisant. Ce plugin ajoute plusieurs éléments non négligeables pour le référencement naturel dont :

  • Le fichier sitemap qui liste automatiquement toutes les pages du site, à soumettre à Google
  • Défini les balises métas open graph pour les réseaux sociaux
  • Génère un fichier robots.txt
  • Permet l’édition des balises title et metas des pages, des catégories et des articles

Et ce n’est pas tout, il met à votre disposition un indicateur qui sur base de plusieurs critères du mot clé principal (sa densité, sa position, etc.) vous indique le niveau d’une page optimisée.

Yoast SEO
Yoast SEO
Développeur: Team Yoast
Prix: Gratuit
  • Yoast SEO Capture d'écran
  • Yoast SEO Capture d'écran
  • Yoast SEO Capture d'écran
  • Yoast SEO Capture d'écran
  • Yoast SEO Capture d'écran
  • Yoast SEO Capture d'écran

Broken Link Checker

Ce plugin vous alerte via email ou le tableau de bord WordPress sur les liens externes morts. Des liens qu’il faut à tout prix éviter pour la réputation de votre site tant pour vos visiteurs que pour les moteurs de recherches. N’est-ce-pas que c’est chiant d’être dans un site où les liens externes vous redirigent dans des belles pages d’erreurs 404 ?

Broken Link Checker
Broken Link Checker
Développeur:
Prix: Gratuit

Google analytics for WordPress

Vous voulez intégrer Google analytic pour surveiller l’audience de votre site, ce plugin permet rapidement et facilement d’intégrer Google analytic.

Advanced ads

Advanced ads est un plugin qui vous permet aisément d’intégrer les blocs d’annonces dans votre site ou blog. Plusieurs régies publicitaires sont supportés dont Adsense aussi, Il se différence des autres extensions du genre surtout par sa possibilité de gérer un espace de publicité avec l’alternance.

Advanced Ads
Advanced Ads
Développeur: Thomas Maier
Prix: Gratuit
  • Advanced Ads Capture d'écran
  • Advanced Ads Capture d'écran
  • Advanced Ads Capture d'écran
  • Advanced Ads Capture d'écran
  • Advanced Ads Capture d'écran
  • Advanced Ads Capture d'écran
  • Advanced Ads Capture d'écran
  • Advanced Ads Capture d'écran
  • Advanced Ads Capture d'écran

Inline Related posts

Un plugin très pratique qui affiche automatiquement les articles ou posts similaires au sein d’un article. Cela permet de booster les pages vues d’un site web et enfin de mieux optimiser les liens internes du site.

Inline Related Posts
Inline Related Posts
Développeur: IntellyWP
Prix: Gratuit
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran
  • Inline Related Posts Capture d'écran

Q2W3 Fixed Widget

Quickfixed widget est une extension qui permet de mettre vos widgets en position fixed lors du scrolling ! Très pratique dans les pages très longues où on n’aimerait pas qu’une information affichée en haut de la page ne soit pas invisible aux yeux d’un visiteur quand il scroll !

Q2W3 Fixed Widget
Q2W3 Fixed Widget
Développeur: Max Bond
Prix: Gratuit

Enfin, vous savez mes outils ! Et vous, quel plugin trouvez-vous intéressant ou indispensable dans un projet WordPress ?