Optimiser l’exécution de vos scripts PHP

Le PHP permet de créer quantités de fonctions pour dynamiser vos pages en adaptant le contenu au contexte. Cet article présente des exemples concrets de bonnes pratiques qui vous feront gagner du temps lors d’exécution de vos scripts PHP.

Les chaînes de caractères.

Les variables de vos pages PHP peuvent avoir plusieurs formes. Les array (tableaux) et les strings (chaînes de caractères).

Dans notre premier exemple nous allons voir comment  la syntaxe des array nous permet de sélectionner les caractères d’un string.

$variable = "je suis une chaîne de caractère";
echo $variable[2];
//affiche : "e"

Mais à quoi ça sert ?

Cela vous permet de facilement créer des boucles qui traiteront indépendamment chaque caractères de votre chaîne.

Créer une boucle qui change la couleur d’une lettre sur deux.

<style type="text/css">
	.red{
		color:red;
	}
</style>
<?php

$titre = "Titre de ma page";
//d'abord on compte le nombre de lettre
$nbl=strlen($titre);
//et on stocke le résultat dans $nbl.
//qui nous servira de compteur pour une boucle for.
for ($i=0;$i<$nbl;$i++) 
{
//on vérifie que l'initiateur est un multiple de 2
if ($i%2==0){
//si c'est le cas on défini la classe red
echo '<span class="red">';
}else{
//sinon on ne défini pas de classe.
echo '<span>';
}
echo $titre[$i];
echo '</span>';
}

Résultat : Titre de ma page. Le code mériterais quelques ajustement pour les espaces par exemple mais dans le principe, il permet déjà de segmenter notre titre en unité ce qui sera très pratique si l’on souhaite mettre des animations sur les lettre et non pas sur le titre en entier ^^.

Les guillemets simple et double

Lors de la rédaction de votre code vous avez surement pris l’habitude d’utiliser " ou ' si les deux semblent avoir exactement le même résultat, ce n’est pas tout à fait le cas.

A lire  CSS enflammez vos titres

L’apostrophe (') affichera strictement le contenu que vous aurez saisi, ce qui n’est pas le cas pour les guillemets (") qui eux remplaceront les variables par leurs valeurs.

$test='valeur';
echo '$test';//affiche $test
echo "$test";//affiche valeur

Rendre vos fonctions flexibles

Lors de la création de fonctions php on peut attribuer des paramétres.

Function mafonction($monparametre) 
{
//code de ma fonction
}

Il est possible d’utiliser des strings ou des array généralement votre fonction attend un seul type de paramètre.

Mais il est possible de rendre vos fonctions plus souple en prévoyant dés le début la possibilité de gérer des arrays aussi bien que des strings en paramètres.

function fonctionsouple($param) 
{
//on teste le format de notre parametre
if (!is_array){
//si ce n'est pas un array on affiche le contenu de $param
echo $param;
}
else
//Sinon on créer une boucle qui va afficher les valeurs
//de notre array une à une.
{
foreach ($param as $key =>$string) 
{
 echo $string;
}
}

C’est tout bête et cela vous évitera de tester le format avant l’appel de la fonction et de devoir créer une autre fonction dédié aux arrays.

Array_map

Dans l’exemple précédant nous utilisons une boucle pour manipuler les différentes lignes de l’array, mais il existe une fonction qui permet de simplifier la syntaxe : array_map.

Cette fonction native de PHP permet d’appliquer une fonction à l’ensemble des valeurs d’un tableau (array).

<?php
//on défini un array
$param = array("premier","second","troisiéme");

//Pour commencer on crée la fonctions qui traitera les champs
//de notre array
function ecrire($array) 
{
echo $array."<br />";
}
//on applique notre fonction à notre array
array_map ("ecrire",$param);

Array_map attend 2 paramètres, le premier est le nom de la fonction à appeler, le second est la variable contenant l’array à traiter.

A lire  Formation Webmaster fin de la première semaine.

Faster better stronger

Avec le PHP vous pouvez faire quantités de choses et de plusieurs façon, si il n’existe pas de solutions idéales ou parfaites, il y a quand même des diférences de performances.

Certaines fonctionnalité sont plus rapide que d’autres, voici quelques exemples de commandes à privilégiés.

L’incrémentation

Vous pouvez incrémenter la valeur d’un entier en utilisant $variables++. C’est une post incrémentation, on augmente d’une unité la valeur de $variable aprés l’avoir récupéré.

$i++;
++$i;//cette syntaxe est plus rapidement traiter (~10%)

La pré-incrémentation donne le même résultat mais elle s’effectue au moment ou la variable est récupéré. Et de ce fait l’opération est 10% plus rapide !

Atteindre la valeur d’un array

Pour atteindre la valeur d’un array vous pouvez utiliser 2 syntaxes :

$result['post_id'];
//ou
$result[post_id];
//$result['post_id']; est 7 fois plus rapide que 
//$result[post_id];

Donc n’oubliez pas les apostrophes, faites gagner du temps à votre code pas à votre rédaction ^^.

Les fonctions et les boucles

Avec la boucles for vous utilisez des expressions afin de savoir si la boucles continu ou s’arrête.

for ($i=0;$i<5;$i++)

Lors du traitement de tableau vous serez probablement tenté d’utiliser la fonction count(), ce qui permettra de définir le nombre d’itérations requise pour traiter tout les élément du tableau.

for ($i=0;$i<count($array);$i++)

Si le code fonctionne il est cependant très lourd. A chaque itération de la boucles la fonction est appelée et elle comptera le nombre de champ dans l’array.

Autant stocker le résultat de count() dans une variable et rappeler la variable, ce sera bien plus rapide pour votre serveur.

$nbarray=count($array);
for ($i=0;$i<$nbarray;$i++)

Idéalement il est même préférable d’utiliser foreach() si c’est possible.

foreach($array as $val)

 

© 2018 Occitaweb formation WordPress et média sociaux