Oltre 50 trucchi e suggerimenti PHP per principianti e sviluppatori

PHP è il linguaggio più utile per creare blog e siti Web, ha molte funzioni che possono essere utilizzate per derivare funzioni ancora più personalizzate. Abbiamo raccolto i più utili Trucchi e suggerimenti PHP per principianti e persino sviluppatori. Questi trucchi PHP rendono la tua codifica produttiva e più efficace.

Oltre 50 trucchi e suggerimenti PHP per principianti

Elenco di trucchi e suggerimenti PHP

1. l'eco è più veloce della stampa.

2. Avvolgere la stringa tra virgolette singole (') anziché doppie virgolette (") è più veloce perché PHP cerca le variabili all'interno di "…" e non in '...', utilizzalo quando non stai utilizzando le variabili che devi valutare nel tuo corda.

3. Usa sprintf invece delle variabili contenute tra virgolette, è circa 10 volte più veloce.

4. Utilizzare i parametri multipli di echo (o impilati) invece della concatenazione di stringhe.

5. Usa i calcoli preliminari, imposta il valore massimo per i tuoi cicli for prima e non durante il ciclo. cioè: for ($x=0; $x < count($array); $x), questo chiama la funzione count() ogni volta, usa invece $max=count($array) prima che inizi il ciclo for.

6. Annulla l'impostazione o annulla le variabili per liberare memoria, in particolare gli array di grandi dimensioni.

7. Evita magie come __get, __set, __autoload.

8. Usa require() invece di require_once() dove possibile.

9. Usa percorsi completi in include e require, meno tempo speso per risolvere i percorsi del sistema operativo.

10. require() e include() sono identiche in tutto eccetto che require si ferma se il file è mancante. Dal punto di vista delle prestazioni c'è poca differenza.

11. Da PHP5, l'ora di inizio dell'esecuzione dello script può essere trovata in $_SERVER['REQUEST_TIME'], usala al posto di time() o microtime().

12. PCRE regex è più veloce di EREG, ma verifica sempre se puoi utilizzare funzioni native più veloci come strncasecmp, strpbrk e stripos.

13. Quando si esegue l'analisi con XML in PHP, provare xml2array, che utilizza le funzioni PHP XML, per l'HTML è possibile provare il documento DOM di PHP o DOM XML in PHP4.

14. str_replace è più veloce di preg_replace, str_replace è il migliore in generale, tuttavia strtr a volte è più veloce con stringhe più grandi. L'uso di array() all'interno di str_replace è solitamente più veloce di più str_replace.

15. Le istruzioni "else if" sono più veloci delle istruzioni select alias case/switch.

16. La soppressione degli errori con @ è molto lenta.

17. Per ridurre l'utilizzo della larghezza di banda, attiva mod_deflate in Apache v2 o per Apache v1 prova mod_gzip.

18. Chiudi le connessioni al database quando hai finito con esse.

19. $row['id'] è 7 volte più veloce di $row[id], perché se non fornisci le virgolette deve indovinare quale indice intendevi, supponendo che tu non intendessi una costante.

20. Usa tag quando si dichiara PHP poiché tutti gli altri stili sono deprezzati, inclusi i tag brevi.

21. Utilizzare un codice rigoroso, evitare di sopprimere errori, avvisi e avvisi, risultando così in un codice più pulito e in meno spese generali. Considera di avere error_reporting(E_ALL) sempre attivo.

22. Gli script PHP vengono serviti a 2-10 volte più lentamente da Apache httpd rispetto a una pagina statica. Prova a utilizzare pagine statiche invece di script lato server.

23. Gli script PHP (a meno che non siano memorizzati nella cache) vengono compilati al volo ogni volta che li chiami. Installa un prodotto di memorizzazione nella cache PHP (come memcached o eAccelerator o Turck MMCache) per aumentare in genere le prestazioni del 25-100% rimuovendo i tempi di compilazione. Puoi persino configurare eAccelerator su cPanel usando EasyApache3.

24. Una tecnica di memorizzazione nella cache alternativa quando si hanno pagine che non cambiano troppo frequentemente consiste nel memorizzare nella cache l'output HTML delle pagine PHP. Prova Smarty o Cache Lite.

25. Utilizzare isset ove possibile in sostituzione di strlen. (es: if (strlen($pippo) < 5) { echo “Pippo è troppo basso”; } vs. if (!isset($pippo{5})) { echo “Pippo è troppo basso”; } ).

26. ++$i è più veloce di $ i++, quindi usa il pre-incremento ove possibile.

27. Utilizza le innumerevoli funzioni predefinite di PHP, non tentare di crearne di tue poiché quelle native saranno molto più veloci; se disponi di funzioni che richiedono molto tempo e risorse, considera di scriverle come estensioni o moduli C.

28. Profila il tuo codice. Un profiler ti mostra quali parti del tuo codice consuma quanto tempo. Il debugger di Xdebug contiene già un profiler. La profilazione mostra i colli di bottiglia in una panoramica.

29. Documenta il tuo codice.

30. Impara la differenza tra codice buono e cattivo.

31. Attieniti agli standard di codifica, ti sarà più facile capire il codice di altre persone e altre persone saranno in grado di capire il tuo.

32. Separare codice, contenuto e presentazione: mantieni il tuo codice PHP separato dal tuo HTML.

33. Non preoccuparti di usare sistemi di template complessi come Smarty, usa quello che è già incluso in PHP, vedi ob_get_contents ed extract, e semplicemente estrai i dati dal tuo database.

34. Non fidarti mai delle variabili provenienti dalla terra dell'utente (come da $_POST) usa mysql_real_escape_string quando usi mysql e htmlspecialchars quando emetti come HTML.

35. Per motivi di sicurezza non avere mai nulla che possa esporre informazioni su percorsi, estensioni e configurazione, come display_errors o phpinfo() nella tua webroot.

36. Disattiva register_globals (è disabilitato di default per un motivo!). Nessuno script a livello di produzione dovrebbe richiedere l'abilitazione in quanto rappresenta un rischio per la sicurezza. Correggi tutti gli script che lo richiedono e correggi tutti gli script che lo richiedono utilizzando unregister_globals(). Fallo ora, poiché è impostato per essere rimosso in PHP6.

37. Evita di utilizzare testo normale durante l'archiviazione e la valutazione delle password per evitare l'esposizione, usa invece un hash, come un hash md5.

38. Utilizzare ip2long() e long2ip() per memorizzare gli indirizzi IP come interi anziché come stringhe.

39. Puoi evitare di reinventare la ruota utilizzando il progetto PEAR, che ti fornisce un codice esistente di alto livello.

40. Quando si utilizza header('Location: '.$url); ricordati di seguirlo con un die(); poiché lo script continua a essere eseguito anche se la posizione è cambiata o evita di utilizzarli tutti insieme ove possibile.

41. In OOP, se un metodo può essere un metodo statico, dichiararlo statico. Il miglioramento della velocità è di un fattore 4.

42. L'incremento di una variabile locale in un metodo OOP è il più veloce. Quasi come chiamare una variabile locale in una funzione e incrementare una variabile globale è 2 volte più lento di una variabile locale.

43. L'incremento di una proprietà di un oggetto (es. $this->prop++) è 3 volte più lento di una variabile locale.

44. L'incremento di una variabile locale non definita è 9-10 volte più lento di una preinizializzata.

45. La semplice dichiarazione di una variabile globale senza utilizzarla in una funzione rallenta le cose (circa quanto l'incremento di una variabile locale). PHP probabilmente fa un controllo per vedere se il global esiste.

46. ​​L'invocazione del metodo sembra essere indipendente dal numero di metodi definiti nella classe perché ho aggiunto altri 10 metodi alla classe di test (prima e dopo il metodo di test) senza alcun cambiamento nelle prestazioni.

47. I metodi nelle classi derivate vengono eseguiti più velocemente di quelli definiti nella classe base.

48. Una chiamata di funzione con un parametro e un corpo di funzione vuoto richiede circa lo stesso tempo di eseguire 7-8 operazioni $localvar++. Una chiamata di metodo simile riguarda ovviamente 15 operazioni $localvar++.

49. Non tutto deve essere OOP, spesso è solo un sovraccarico, ogni chiamata di metodo e oggetto consuma molta memoria.

50. Non fidarti mai dei dati dell'utente, esegui l'escape delle stringhe che utilizzi nelle query SQL utilizzando mysql_real_escape_string, invece di mysql_escape_string o addlashes. Nota anche che se magic_quotes_gpc è abilitato dovresti usare prima le stripslash.

51. Evita il problema di iniezione dell'intestazione della funzione PHP mail().

52. Annulla l'impostazione delle variabili del database (almeno la password), non dovresti averne bisogno dopo aver effettuato la connessione al database.

53. RTFM! PHP offre un fantastico manuale, forse uno dei migliori in circolazione, che lo rende un linguaggio molto pratico, fornendo esempi funzionanti e parlando in inglese semplice.

Questi sono alcuni dei trucchi e dei suggerimenti PHP che possono essere molto utili per coloro che hanno appena iniziato a imparare il linguaggio PHP e anche per coloro che stanno sviluppando da un buon momento. Tuttavia, RTFM è il modo più efficiente per imparare PHP.

Aishwar Babber

Aishwar Babber è un blogger appassionato e un marketer digitale. Ama parlare e bloggare sulle ultime tecnologie e gadget, il che lo motiva a correre GizmoBase. Attualmente sta esercitando la sua esperienza di marketing digitale, SEO e SMO come marketer a tempo pieno su vari progetti. È un investitore attivo in AffiliatoBay e un regista in ImageStation.

22 pensieri su "50+ trucchi e suggerimenti PHP per principianti e sviluppatori"

  1. Post fantastico, questi suggerimenti e trucchi php aiutano molto per tutti i nuovi sviluppatori php e da esso ho anche ottenuto alcuni suggerimenti e trucchi php che non conosco affatto.

    Rispondi
  2. Ottimi suggerimenti, ma penso che dovresti cambiare il punto 37. Un semplice hash md5 non è abbastanza sofisticato nel mondo in cui viviamo.

    Rispondi
  3. numero 15
    se/else è più veloce dello switch, hai ragione, ho fatto dei test,
    ma dovresti considerare in quale caso usare switch.

    L'ho pedalato, testando 10,1000,100000 e 1 milione di cicli e il risultato è:
    in 100k cicli si ottiene una differenza di 0,13 secondi sulla macchina locale (sul server esterno si dovrebbe ottenere una differenza minore).

    Quindi dovresti considerare l'uso di if/else di switch. Preferisco usare switch a causa del codice più pulito. Usare 1 switch, 2 switch, anche 100 switch invece di if/else... non importa, non ha senso.

    Rispondi
  4. numero 26
    eseguo il test ora,
    con $i++ e ++$i

    è semplice: il numero 26 non ha senso finché non si desidera utilizzare più di 10mil. cicli.
    E differenza?

    Cicli da 10mil con $i++ 2.67448 s
    10mil cicli con ++$i 2.605528 s

    Rispondi
  5. 24. (…) Prova Smarty o Cache Lite.
    33. Non preoccuparti di utilizzare sistemi di modelli complessi come Smarty

    ok.

    (personalmente eliminerei solo il #33; smarty (o altri sistemi di template) ha molti vantaggi rispetto alle funzioni ob_...)

    Rispondi
  6. Echo è più veloce della stampa di un codice operativo, quindi non importa, davvero. E print() è una funzione, echo no. Prova questo:

    $variabile e print 'variabile è impostata!';

    E sull'incremento: $i += 1; è il più veloce.

    Ottimo articolo, grazie!

    Rispondi
  7. Ottimo articolo grazie per la condivisione
    Ottimi suggerimenti, ma penso che dovresti cambiare il punto 37. Un semplice hash md5 non è abbastanza sofisticato nel mondo in cui viviamo.

    Rispondi

Lascia un tuo commento