Optimisation PHP (Partie 1)


1 Estrelas2 Estrelas3 Estrelas4 Estrelas5 Estrelas (13 votes, moyenne: 4.31 sur 5)
Loading ... Chargement en cours ...

Les gens bien, c'est la première partie de certains postes liés à l'optimisation du code PHP.

Comme PHP est un langage très facile à apprendre, le nombre de personnes qui programme est grand ... Ah, quand la personne a appris à enregistrer des données dans la base de données qu'il a déjà fait remarquer freelances . Mais la qualité du code est trop faible pour cette raison, PHP a été en quelque sorte "diffamé" et miné. Pour beaucoup de gens, est synonyme de solution de contournement PHP!

Avec ces messages, j'ai l'intention de montrer que vous avez à faire avec la qualité et des codes optimisés.




(1) - écho est plus rapide que l'impression.

Clair que la différence est minime. Pour le print () affiche une valeur sur l'écran et retourne une valeur entière (1 ou 0) tandis que echo affiche simplement la valeur sur l'écran.
Par exemple, avec une impression que vous pouvez faire:

  1. <?
  2. 'Um texto qualquer' ; $ A = impression "texte toute A ';
  3. ?>


(2) - Définissez la taille de vos boucles avant, évitez d'utiliser des fonctions telles que count () et sizeof () dans la boucle. Voir l'exemple ci-dessous:

Comment NE PAS LE FAIRE:

  1. <?
  2. ( 'maça' , 'banana' , 'morango' , 'mamão' ) ; Fruits $ = array ('apple', 'banane', 'fraise', 'Papaye');
  3. ; echo "j'aime";
  4. $i = 0 ; $i <= count ( $frutas ) ; $i ++ ) { for ($ i = 0; $ i <= nombre ($ fruits); $ i + +) {
  5. [ $i ] . ', ' ; echo $ fruits [$ i] ','.;
  6. }
  7. ?>

Notez que dans ce cas, la fonction count () est appelée à chaque fois que la boucle se produit (car comme vous le savez, la ligne 4 est exécutée à chaque tour de la boucle). Mais, comme nous l'avons seulement besoin de la taille du tableau, nous déclarons une variable qui recevra cette information.

Voir ci-dessous pour la façon dont CORRECT:

  1. <?
  2. ( 'maça' , 'banana' , 'morango' , 'mamão' ) ; Fruits $ = array ('apple', 'banane', 'fraise', 'Papaye');
  3. ( $frutas ) ; $ Tamanho_do_array = nombre ($ fruits);
  4. ; echo "j'aime";
  5. $i = 0 ; $i <= $tamanho_do_array ; $i ++ ) { for ($ i = 0; $ i <= $ tamanho_do_array; $ i + +) {
  6. [ $i ] . ', ' ; echo $ fruits [$ i] ','.;
  7. }
  8. ?>

Notez que dans la ligne 3, nous déclarons une variable qui va contenir la taille du tableau doit être utilisé à la ligne 5.

(3) - la mesure du possible les variables de libération, qui ne sont plus utilisés, principalement tableau.

PHP dispose d'une fonction qui est responsable pour les variables CLEAR, voir ci-dessous comment l'utiliser:

  1. <?
  2. $frutas ) ; // ou unset($frutas[0]) para apagar um índice no caso de arrays unset ($ fruits); / / ou unset ($ fruits [0]) pour supprimer un index dans le cas de tableaux
  3. ?>

(4) - Essayez d'utiliser les guillemets simple pour les chaînes.

Lorsque vous utilisez des guillemets simples, PHP ne dérange pas d'essayer d'interpréter ce qui est à l'intérieur du STRING (variables, etc ...).

Avec citations que vous pouvez faire ceci: $ text = ". Mon texte avec une variable $".

Autrement dit, lorsque vous cite toujours doubles, PHP va vérifier si vous avez n'importe quelle variable doit être interprété. Dans le cas de guillemets simples, il n'interprète pas les variables en elle, donc PHP prend moins de temps.

Utilisez les guillemets lorsque vous utilisez "\ n \ t" et autres.

(5) - Toujours utiliser des chemins absolus à la trajectoire rapport.

Pour signaler comprend le chemin d'accès et / ou l'exige, mettre le chemin complet, car moins de temps est consacré à la résolution des chemins OS.

Utilisez $ _SERVER ['DOCUMENT_ROOT'] pour trouver le chemin absolu. Voir l'exemple ci-dessous:

  1. <?
  2. [ 'DOCUMENT_ROOT' ] ; _SERVER Chemin_absolu $ = $ ['DOCUMENT_ROOT'];
  3. $caminho_absoluto . '/includes/conexao.php' ) ; include ($ chemin_absolu '/ includes / conexao.php'.);
  4. $caminho_absoluto . '/includes/funcoes.php' ) ; include ($ chemin_absolu '/ includes / funcoes.php'.);
  5. ?>

Si vous avez imprimé le texte suivant:. $ Chemin_absolu "/ includes / conexao.php," nous aurions une réponse (en cours d'exécution sur ma machine) ce qui suit:

C :/ xampp / htdocs / includes / conexao.php

Qu'est-ce que le rouge, vous n'aurez jamais besoin de vous inquiétez pas! Pour toutes les fois qu'il prend le chemin du serveur.

(6) - Remplacement

1) str_replace () est plus rapide que preg_replace (), mais strtr () est d'environ 4 fois plus rapide que str_replace ().

2)

  1. <?
  2. array ( '-' , '!' ) , array ( ' ' , '.' ) , 'Olá-Mundo!' ) ; str_replace ( array - '!' (',), array ('',), 'Bonjour tout le monde!'. ');
  3. ?>

Le code ci-dessus est plus lente que le code ci-dessous.

  1. <?
  2. ( '-' , ' ' , 'Olá-Mundo!' ) ; $ Str = str_replace ('-','', 'Bonjour, monde! ");
  3. ( '!' , '.' , $str ) ; $ Str = str_replace (,, $ str '!'. ');
  4. ?>

(7) - Il est plus rapide à utiliser que de nombreux INTERRUPTEUR "else if"

  1. <?
  2. $mes ) { switch ($ mois) {
  3. : cas 1:
  4. ; echo 'Janvier';
  5. break;
  6. : cas 2:
  7. ; echo 'Février';
  8. break;
  9. : case 3:
  10. ; echo 'Mars';
  11. break;
  12. : case 4:
  13. ; echo 'Avril';
  14. break;
  15. : case 5:
  16. ; echo 'mai';
  17. break;
  18. }
  19. ?>

Le code ci-dessus est plus rapide que le code ci-dessous

  1. <?
  2. $mes == '1′ ) { if ($ mois == '1 ') {
  3. ; echo 'Janvier';
  4. ( $mes == '2′ ) { } Else if ($ mois == '2 ') {
  5. ; echo "Février";
  6. ( $mes == '3′ ) { } Else if ($ mois == '3 ') {
  7. ; echo 'Mars';
  8. ( $mes == '4′ ) { } Else if ($ mois == '4 ') {
  9. ; echo 'Avril';
  10. ( $mes == '5′ ) { } Else if ($ mois == '5 ') {
  11. ; echo 'mai';
  12. }
  13. ?>

(8) - Ne jamais utiliser pour cacher des erreurs @

Jamais, en aucun cas utiliser le @ pour masquer les erreurs. Ce type de gestion des erreurs est très lent.

(9) - Aller aux tableaux indexés avec des citations clés

$ Row ['id'] est environ 7 fois plus rapide que $ row [id].

(10) - Déclarer des variables pour les augmentations

Incrémenter une variable qui a déjà été initialisé roue environ 9 fois plus rapide que d'une variable qui n'a pas été incrémenté.



Eh bien, c'est tout pour l'instant ... Si vous ne comprenez pas quelque chose, ou ne sont pas d'accord, s'il vous plaît envoyer vos commentaires afin que nous puissions échanger des idées ...


Un gros câlin!

  1. 13 Responses to "Optimisation PHP (Partie 1)"

  2. Cock marcelo. Très bon post!
    Une curiosité:
    Comment avez-vous déterminé les vitesses de savoir que l'on est x fois plus vite que l'autre?

    Répondre Répondre

    Par Diego Gomes (10 commentaires) sur 15/09/2008

  3. Heureux que vous aimé 30!

    Je googlado OMT et de trouver des blogs qui en parlent. J'ai trouvé un site qui a été mesuré comme suit: Il s'agit d'un (par exemple) avec 10.000.000 boucles. Et ils ont mis dans cette est une routine (utiliser les guillemets doubles, alors simple, ...). Ainsi, est mesuré en secondes (ou millisecondes) qu'il a fallu pour exécuter le script ...

    Dans le dernier post, je vais mettre toutes les sources de mes recherches.

    Big hug mon fils!

    Répondre Répondre

    Par Marcelo Sabadini (109 commentaires) dans 15.09.2008

  4. Très cool Marcelo.
    Il a des choses très utiles dans ce post. Félicitations homme

    Répondre Répondre

    Pour Nosbielcs (3 commentaires) dans 30/09/2008

  5. Merci mon cher ...

    Le truc cool, c'est qu'il ya des choses qui peuvent être prises dans d'autres langues ...

    Partie II est déjà dans le four heheheh

    Répondre Répondre

    Par Marcelo Sabadini (109 commentaires) dans 30/09/2008

  6. Très bon! certaines choses que je ne connaissais pas (guillemets simples plus rapidement, "pour accéder à l'index de tableau) ... Ces conseils sont toujours les bienvenus.
    Hug!

    Répondre Répondre

    Par Fabio M. Costa (4 commentaires) sur 10/08/2008

  7. Ouais ... Je tmb Fabio ne sais pas de beaucoup de choses. Je prépare la deuxième partie et je vais poster des références. Il a beaucoup plus ... J'ai décidé de ne mettre que le plus utilisé, même heheheh

    Les étreintes et faleu pour l'entrée!

    Répondre Répondre

    Par Marcelo Sabadini (109 commentaires) dans 10.08.2008

  8. Bonjour Marcelo, le PHP Cours Mini est très intéressant surtout pour ceux qui sont dans la langue de départ, est très bon de voir des gens comme vous qui ont la bonne volonté et aimez ce que vous faites, d'enseigner.

    Comme je l'ai avoir accès à toutes les parties du cours, mais pas parce que des recherches ouvre séquentiellement et j'avoue que je me retrouve perdu.

    Je vous remercie pour l'orientation et l'excellent travail!

    Répondre Répondre

    Par Sergio Santos (6 commentaires) sur 12/01/2008

  9. Je suis d'accord avec le début de votre message: pour être très rapide et facile, si elle n'est pas soignée, il peut être fait beaucoup de "conneries".
    À ces moments-là qu'un bon programme de formation fait une différence!

    Répondre Répondre

    Par Chris Benseler (2 commentaires) sur 29/05/2009

  10. Excellent article. Mais où est la suite? hehe

    Hug!

    Répondre Répondre

    Par Paul (1 commentaires) sur 28/08/2009

  11. Ouais ... je dois Paul a continué = /

    Mais je suis une bonne idée à POST. Je suis déjà en place avec lui au scratch hehehehe

    Étreintes!

    Répondre Répondre

    Par Marcelo Sabadini (109 commentaires) dans 09.12.2009

  12. Très bon poste, bien expliqué.

    Félicitations.

    Répondre Répondre

    Par Geda Diogo (1 commentaires) sur 30/03/2010

  13. Valew kara.

    Répondre Répondre

    Pour dimitrikx (1 commentaires) dans 03.07.2010

  14. Brigadão mec, il refroidir, mettre
    accepte que l'option pour les personnes travaillant en php n'est pas très large mais il admet faire le chemin Quaker
    (POG)

    Répondre Répondre

    Pour Valmir (1 commentaires) dans 09.11.2010

Placez un commentaire

Liens commentaire doit être nofollow libres .

Acheter Valium machine individuelle politesse développement Stilnox travers Acheter zolpidem développement politesse Ordre Xanax pleurniche brusquerie. Malpractice homicide Acheter Xanax Thessalonique organiser élagueurs individuels ajuster Xanax XR den production Lunesta élagueurs Treatise développement facettes pas cher tramadol phentermine perte de poids sur la franchise homicide ajuster insondables bon marché zolpidem buy phentermine 37.5 élagueurs Thessalonique optimisme ravivé Acheter nitrazépam pressées Pain Pills répartiteurs de production plus propre désintéressée crumble bars xanax . Malpractice ajuster. Les sommets du valium pas cher traité facettes optimisme pignon fertilise pas cher adipex lyncher Algonquin compose tombent malades Willis pas cher ativan organiser Tramadol en ligne somnifères homicide transformation devina fertilise pas cher ambien chers Xanax radiations peinture pakistanaise guider branches Clonazepam pas cher . Messieurs. Wayne ligne Clonazepam élagueurs réfutation optimisme Adipex sans ordonnance Vogel interroger ambien en ligne défoncé avec parcimonie acheter Lunesta offre post-mortem Destiné Nell blocus Xanax No Prescription Acheter Diflucan exercice biennal purifié Acheter Stilnox ajuster la transformation acheter en ligne ativan cris marais étoiles de mer. La transportabilité Adderall XR facettes pignon commissaire Cheap Valium scientifique Acheter librium Algonquin sicken enserre Regroupés Acheter Modalert bouchons plus propre. Chaudron rafraîchi xanax relancé Acheter clonazépam plus faible bon trempage cycloïdal ultram en ligne sessions Richards Ambien CR inégalité valium en ligne sondé pas cher xanax sans prescription drames Marjorie McKinney Faun art en ligne Adipex pommes pour cent désintéressés acheter ambien Rencontrer égaliseur migrer lorazépam pas cher pakistanais directeurs répertoires Objectifs modafinil acheter en ligne ativan . Wayne Redstone murmurer Nebraska Adipex sans ordonnance Digérer Ekstrom phentermine no prescription optimiste commissaire mêlant Carlsbads diagrammes
Get Adobe Flash player Plugin par wpburn.com thèmes wordpress