PHP Conseils d'optimisation

  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8211
  • Loc: USA
  • Status: Offline

Message Février 19th, 2010, 5:13 pm

J'ai écrit un wrapper accès à la base il ya un moment et le rend public. Quelqu'un m'a envoyé et m'a demandé pourquoi je n'avais pas utiliser PHP Techniques d'optimisation telles que la réalisation de certaines fonctions à une classe statique (Au moins c'est ainsi que je compris ce qu'il a dit...il a dit «Je ne comprends pas pourquoi n'avez-vous pas suivi certaines techniques d'optimisation de la mémoire comme l'utilisation de PHP choses statiques, etc ")

Je souhaite prendre connaissance de certaines de ces techniques...Je n'ai jamais vraiment pris la peine avec des optimisations de mémoire parce que tous mes scripts ont été relativement rapide. Any tips?

Merci.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Février 19th, 2010, 5:13 pm

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Février 23rd, 2010, 2:06 am

J'ai trouvé quelques trucs intéressants,

dev.virtuemart.net/cb/wiki/4162

http://www.chazzuka.com/blog/?p=58
Moderator Remark: replaced dead link with link to apparent original source
#define NULL (::rand() % 2)
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13455
  • Loc: Florida
  • Status: Offline

Message Février 23rd, 2010, 4:02 am

Premiers pas -- http://www.php.net/manual/en/oop5.intro.php

Vers le haut à droite de chaque page il ya un lien à la section suivante, par exemple dans la page que je liées à l'étiquette de liens est «Notions de base>>".

À commencer par l'introduction, de lire chaque page, ces liens vous amène à, tout le chemin à celui étiqueté "sérialisation".

Ne pas sauter autour. Si vous voyez des liens vers d'autres sections dans une page, d'ignorer les liens. Si vous ne comprenez pas tout à fait quelque chose et l'un des liens semble vouloir l'expliquer, ignorez-le quand même. Après avoir terminé avec une page, revenir en arrière et de percevoir les liens que vous avez été tentés de cliquer sur les sauver.

Une fois que le youve a traversé chaque page, allez dans votre liste de liens et de lire les pages de ces liens pointent. Uniquement lire ces pages, cependant, ignorer tous les liens en eux.

Après avoir traversé le youve tous vos liens, revenez à cette introduction la POO et de lire toute la section à nouveau.
Strong with this one, the sudo is.
  • Nightslyr
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Sep 21, 2005
  • Messages: 274
  • Status: Offline

Message Février 23rd, 2010, 10:32 am

Bogey a écrit:
J'ai écrit un wrapper accès à la base il ya un moment et le rend public. Quelqu'un m'a envoyé et m'a demandé pourquoi je n'avais pas utiliser PHP Techniques d'optimisation telles que la réalisation de certaines fonctions à une classe statique (Au moins c'est ainsi que je compris ce qu'il a dit...il a dit «Je ne comprends pas pourquoi n'avez-vous pas suivi certaines techniques d'optimisation de la mémoire comme l'utilisation de PHP choses statiques, etc ")

Je souhaite prendre connaissance de certaines de ces techniques...Je n'ai jamais vraiment pris la peine avec des optimisations de mémoire parce que tous mes scripts ont été relativement rapide. Any tips?

Merci.


Pour être honnête, si vos scripts sont en cours d'exécution rapide, je m'inquiète wouldnt à ce sujet. S'ils commencent à ralentir, le mieux est d'utiliser une partie de cache (memcache, APC, etc) car elle a un impact beaucoup plus sensible que les autres petits réglages mentionnés dans le deuxième poste dans le thread.

Pour être honnête, je ne peux pas croire que le lien a dit de ne pas utiliser __autoload. Que (ou l'équivalent en fonctions SPL) est une pierre angulaire de toute bonne gestion de projet POO PHP. Ses certainement mieux que d'essayer de maintenir manuellement le suivi de vos inclut.
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13455
  • Loc: Florida
  • Status: Offline

Message Février 23rd, 2010, 11:38 am

Je tiens à aborder un certain nombre de choses dans cette liste, maintenant que je la regarde aussi.

Quote:
Réglez le maxvalue pour vos boucles for avant et non dans la boucle.


Je ne suis pas entièrement d'accord avec cela. Je ne vois aucun problème avec le suivant.

PHP Code: [ Select ]
for($i = 0, $toi = count($eyes); $i < $toi; $i++)


Quote:
Évitez magiques comme...__autoload


Nonsense. Theres un petit truc avec __autoload où vous placez les définitions de classes qui sont susceptibles d'être utilisées en combinaison avec la classe chargés automatiquement de sorte que cela fonctionne toujours comme le chargement d'une bibliothèque de fonctions via incluent, mais conserve aussi les awesomeness qui est __autoload.

Quote:
Chemins d'accès complets Utilisation en comprend et requiert moins de temps consacré à résoudre les chemins d'exploitation.


La raison pour laquelle vous devriez faire, elle a plus à voir avec savoir où vous vous trouvez sur le système de fichier et en utilisant toujours le fichier destiné qu'elle ne le fait la vitesse.

Quote:
Si vous avez besoin de savoir le moment où a commencé l'exécution du script, $ _SERVER [ "REQUEST_TIME"] est préférée à la fonction time ()


Assurez-vous de prendre en considération les auto_globals_jit "" paramètre sur votre serveur en pensant à ce sujet. Ill laisser à vous de comprendre ce que l'établissement est pour. :)

Quote:
Allumez apaches mod_deflate


N'a absolument rien à voir avec PHP. Dire cela optimise PHP, c'est comme dire qu'un coureur NASCAR est un meilleur conducteur parce que sa voiture est de 100 livres de moins que ce qu'elle était avant.

Quote:
Un script PHP sera servi au moins 2-10 fois plus lent que d'une page HTML statique par Apache. Essayez d'utiliser plus de pages HTML statiques et moins de scripts.


Je ne peux pas souligner à quel point je suis d'accord avec ce suffisant. La plupart des pages que les gens font avec PHP ne changent pas très souvent.

J'utilise actuellement un dossier cache où j'ai PHP enregistrer une copie de la page en utilisant l'REQUEST_URI mod_rewrite qui a fini par se transformer en une URL traditionnelle avant de PHP s'est Ahold de la demande.

À la suite de requêtes qui utilisent URI mod_rewrite pour vérifier que le dossier cache et de réécrire l'URI à n'importe quel fichier statique existant dans là avant sa remise au PHP, si elle ne trouve rien.

Heres un peu plus sur combinant cela avec gzip.

Quote:
mod_gzip qui est disponible en tant que module Apache compresse vos données à la volée et peut réduire les données à transférer jusqu'à 80%


Même chose que j'ai dit sur mod_deflate. Aussi, n'oubliez pas de jeter un oeil sur le lien que j'ai posté il ya une seconde.
Strong with this one, the sudo is.
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8211
  • Loc: USA
  • Status: Offline

Message Février 24th, 2010, 11:46 pm

Génial! Merci. Je vais mettre en cache les résultats et mettre en œuvre un grand nombre de ces conseils à la classe. Il serait beaucoup mieux :D

J'apprécie vraiment l'aide...plus de conseils would be awesome!
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8211
  • Loc: USA
  • Status: Offline

Message Mars 9th, 2010, 9:56 pm

SpooF a écrit:
J'ai trouvé quelques trucs intéressants,

http://dev.virtuemart.net/cb/wiki/4162

D'ailleurs...cette page n'existe plus
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13455
  • Loc: Florida
  • Status: Offline

Message Mars 10th, 2010, 12:39 am

Déterré la copie en cache de Google et a trouvé ce qui ressemble à un lien vers l'article original. Im not sure though. Si quelqu'un sait être sûr de laisser un modérateur savoir. :)
Strong with this one, the sudo is.
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8211
  • Loc: USA
  • Status: Offline

Message Mars 14th, 2010, 10:51 pm

SpooF a écrit:
J'ai trouvé quelques trucs intéressants,

dev.virtuemart.net/cb/wiki/4162

http://www.chazzuka.com/blog/?p=58

Merci pour cette mise à jour. Je voudrais essayer d'optimiser mon code d'autant que je peux dès que j'aurai du temps libre.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8

Afficher de l'information

  • Total des messages de ce sujet: 9 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 237 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC