Yeni Başlayanlar ve Geliştiriciler için 50'den Fazla PHP Püf Noktası ve İpuçları

PHP, blog ve web sitesi yapımında en kullanışlı dildir, daha da özel işlevler türetmek için kullanılabilecek birçok işlevi vardır. En faydalı olanları topladık Yeni başlayanlar için PHP Püf Noktaları ve İpuçları ve hatta Developers.These PHP Püf Noktaları, kodlamanızı üretken ve daha etkili hale getirir.

Yeni Başlayanlar için 50+ PHP Püf Noktası ve İpuçları

PHP Püf Noktaları ve İpuçları Listesi

1. yankı, yazdırmadan daha hızlıdır.

2. Dizenizi çift tırnak (”) yerine tek tırnak (') içine alın çünkü PHP '…' içindeki değişkenleri değil “…” içindeki değişkenleri arar, bunu değerlendirmeniz gereken değişkenleri kullanmadığınızda kullanın. sicim.

3. Çift tırnak içindeki değişkenler yerine sprintf kullanın, bu yaklaşık 10 kat daha hızlıdır.

4. Dize bitiştirme yerine echo'nun birden çok parametresini (veya yığınlanmış) kullanın.

5. Ön hesaplamaları kullanın, for-döngüleriniz için maksimum değeri döngüde değil, öncesinde ayarlayın. yani: ($x=0; $x < count($array); $x) için bu, her seferinde count() işlevini çağırır, for döngüsü başlamadan önce bunun yerine $max=count($array) işlevini kullanın.

6. Bellekte, özellikle de büyük dizilerde yer açmak için değişkenlerinizi ayarlayın veya sıfırlayın.

7. __get, __set, __autoload gibi büyülerden kaçının.

8. Mümkünse require_once() yerine request() kullanın.

9. İçerir ve gerektirir'de tam yolları kullanın, işletim sistemi yollarını çözmek için daha az zaman harcanır.

10. require() ve include(), dosya eksikse require durmaları dışında her şekilde aynıdır. Performans açısından çok az fark var.

11. PHP5'ten beri, betiğin çalışmaya başladığı zaman $_SERVER['REQUEST_TIME'] içinde bulunabilir, time() veya microtime() yerine bunu kullanın.

12. PCRE normal ifadesi EREG'den daha hızlıdır, ancak her zaman bunun yerine strncasecmp, strpbrk ve stripos gibi daha hızlı yerel işlevleri kullanıp kullanamayacağınıza bakın.

13. PHP'de XML ile ayrıştırırken, PHP XML işlevlerini kullanan xml2array'i deneyin, HTML için PHP'nin DOM belgesini veya PHP4'te DOM XML'i deneyebilirsiniz.

14. str_replace, preg_replace'den daha hızlıdır, str_replace genel olarak en iyisidir, ancak strtr bazen daha büyük dizelerde daha hızlıdır. str_replace içinde array() kullanmak, genellikle çoklu str_replace'den daha hızlıdır.

15. "else if" deyimleri, case/switch olarak da bilinen select deyimlerinden daha hızlıdır.

16. @ ile hata giderme çok yavaştır.

17. Bant genişliği kullanımını azaltmak için Apache v2'de mod_deflate'i açın veya Apache v1 için mod_gzip'i deneyin.

18. İşiniz bittiğinde veritabanı bağlantılarınızı kapatın.

19. $row['id'], $row[id]'den 7 kat daha hızlıdır, çünkü eğer tırnak işareti vermezseniz, bir sabit demek istemediğinizi varsayarak hangi dizini kastettiğinizi tahmin etmesi gerekir.

20. Kullanım Etiketler, kısa etiketler de dahil olmak üzere diğer tüm stiller amortismana tabi tutulduğundan PHP bildirirken.

21. Katı kod kullanın, hataları, bildirimleri ve uyarıları bastırmaktan kaçının, böylece daha temiz kod ve daha az genel gider elde edin. error_reporting(E_ALL) öğesinin her zaman açık olduğunu düşünün.

22. PHP betikleri Apache httpd tarafından statik bir sayfaya göre 2-10 kat daha yavaş sunulur. Sunucu tarafı komut dosyaları yerine statik sayfalar kullanmayı deneyin.

23. PHP betikleri (önbelleğe alınmamışsa), onları her çağırdığınızda anında derlenir. Derleme sürelerini kaldırarak performansı tipik olarak %25-100 oranında artırmak için bir PHP önbelleğe alma ürünü (memcached veya eAccelerator veya Turck MMCache gibi) kurun. EasyApache3'ü kullanarak cPanel'de eAccelerator'ı bile kurabilirsiniz.

24. Çok sık değişmeyen sayfalarınız olduğunda alternatif bir önbelleğe alma tekniği, PHP sayfalarınızın HTML çıktısını önbelleğe almaktır. Smarty veya Cache Lite'ı deneyin.

25. Mümkünse strlen yerine isset kullanın. (yani: if (strlen($foo) < 5) { echo “Foo çok kısa”; } vs. if (!isset($foo{5})) { echo “Foo çok kısa”; } ).

26. ++$i, $ i++'dan daha hızlıdır, bu nedenle mümkünse ön artış kullanın.

27. PHP'nin sayısız önceden tanımlanmış işlevini kullanın, yerel işlevler çok daha hızlı olacağından kendi işlevlerinizi oluşturmaya çalışmayın; çok zaman ve kaynak tüketen işlevleriniz varsa, bunları C uzantıları veya modülleri olarak yazmayı düşünün.

28. Kodunuzu profilleyin. Bir profil oluşturucu, kodunuzun hangi bölümlerinin ne kadar zaman harcadığını size gösterir. Xdebug hata ayıklayıcısı zaten bir profil oluşturucu içeriyor. Profil oluşturma, genel bakışta darboğazları gösterir.

29. Kodunuzu belgeleyin.

30. İyi ve kötü kod arasındaki farkı öğrenin.

31. Kodlama standartlarına bağlı kalın, diğer insanların kodunu anlamanızı kolaylaştıracak ve diğer insanlar da sizinkini anlayabilecektir.

32. Ayrı kod, içerik ve sunum: PHP kodunuzu HTML'nizden ayrı tutun.

33. Smarty gibi karmaşık şablon sistemlerini kullanmakla uğraşmayın, PHP'de zaten bulunanı kullanın, ob_get_contents'e bakın ve ayıklayın ve basitçe veri tabanınızdan veri çekin.

34. Kullanıcı alanından gelen değişkenlere ($_POST gibi) asla güvenmeyin, mysql kullanırken mysql_real_escape_string ve HTML olarak çıktı alırken htmlspecialchars kullanın.

35. Güvenlik nedeniyle, webroot'unuzda display_errors veya phpinfo() gibi yollar, uzantılar ve yapılandırma hakkında bilgileri açığa çıkarabilecek hiçbir şey bulundurmayın.

36. register_globals'ı kapatın (bir nedenden dolayı varsayılan olarak devre dışıdır!). Bir güvenlik riski olduğundan, üretim düzeyinde hiçbir komut dosyasının bunun etkinleştirilmesine gerek yoktur. Açık olmasını gerektiren tüm komut dosyalarını düzeltin ve unregister_globals() kullanarak kapatılmasını gerektiren komut dosyalarını düzeltin. PHP6'da kaldırılmak üzere ayarlandığı için bunu şimdi yapın.

37. Açığa çıkmamak için parolaları saklarken ve değerlendirirken düz metin kullanmaktan kaçının, bunun yerine md5 karma gibi bir karma kullanın.

38. IP adreslerini dizeler yerine tam sayılar olarak saklamak için ip2long() ve long2ip() kullanın.

39. Size yüksek standartta mevcut kodu veren PEAR projesini kullanarak tekerleği yeniden icat etmekten kaçınabilirsiniz.

40. Başlık kullanılırken('Konum: '.$url); bir die() ile takip etmeyi unutmayın; konum değişse bile komut dosyası çalışmaya devam ettiğinden veya mümkün olduğunda hepsini bir arada kullanmaktan kaçının.

41. OOP'de, bir yöntem statik bir yöntem olabilirse, onu statik olarak bildirin. Hız iyileştirme 4 faktördür.

42. Bir OOP yönteminde yerel bir değişkeni artırmak en hızlı olanıdır. Bir fonksiyonda yerel bir değişken çağırmak ve global bir değişkeni artırmakla hemen hemen aynı şey, yerel bir değişkenden 2 kat daha yavaştır.

43. Bir nesne özelliğini artırmak (örn. $this->prop++), yerel bir değişkenden 3 kat daha yavaştır.

44. Tanımsız bir yerel değişkeni artırmak, önceden başlatılmış olandan 9-10 kat daha yavaştır.

45. Bir fonksiyonda kullanmadan sadece global bir değişken bildirmek, işleri yavaşlatır (yerel değişkeni artırmakla aynı miktarda). PHP muhtemelen global olup olmadığını görmek için bir kontrol yapar.

46. ​​Yöntem çağırma, sınıfta tanımlanan yöntem sayısından bağımsız görünüyor çünkü performansta hiçbir değişiklik olmadan test sınıfına (test yönteminden önce ve sonra) 10 yöntem daha ekledim.

47. Türetilmiş sınıflardaki yöntemler, temel sınıfta tanımlananlardan daha hızlı çalışır.

48. Bir parametre ve boş bir işlev gövdesi içeren bir işlev çağrısı, 7-8 $localvar++ işlemi yapmakla yaklaşık olarak aynı süreyi alır. Benzer bir yöntem çağrısı elbette yaklaşık 15 $localvar++ işlemidir.

49. Her şey OOP olmak zorunda değildir, genellikle sadece ek yüktür, her yöntem ve nesne çağrısı çok fazla bellek tüketir.

50. Kullanıcı verilerine asla güvenmeyin, SQL sorgularında kullandığınız dizelerinizden mysql_escape_string veya addlashes yerine mysql_real_escape_string kullanarak kaçın. Ayrıca, magic_quotes_gpc etkinse, önce eğik çizgi kullanmanız gerektiğini unutmayın.

51. PHP mail() işlev başlığı ekleme sorununu önleyin.

52. Veritabanı değişkenlerinizi (en az şifre) kaldırın, veritabanı bağlantısını yaptıktan sonra buna ihtiyacınız olmamalıdır.

53. RTFM! PHP, muhtemelen en iyilerinden biri olan harika bir el kitabı sunar, bu da onu dilde çok pratik yapar, çalışma örnekleri sağlar ve sade İngilizce konuşur.

Bunlar, PHP dilini öğrenmeye yeni başlayanlar ve aynı zamanda iyi bir zamandan beri gelişenler için çok yararlı olabilecek PHP Püf Noktaları ve İpuçlarından bazılarıdır. RTFM, PHP öğrenmenin en etkili yoludur.

Aishwar Babber

Aishwar Babber tutkulu bir blogcu ve dijital pazarlamacıdır. En son teknoloji ve gadget'lar hakkında konuşmayı ve blog yazmayı sever, bu da onu koşmaya motive eder GizmoBase. Şu anda dijital pazarlama, SEO ve SMO uzmanlığını çeşitli projelerde tam zamanlı pazarlamacı olarak uyguluyor. O aktif bir yatırımcıdır. Satış OrtağıBay ve ImageStation'da bir yönetmen.

“Yeni Başlayanlar ve Geliştiriciler için 22+ PHP Püf Noktası ve İpuçları” üzerine 50 düşünce

  1. Müthiş gönderi, bu php ipuçları ve püf noktaları, tüm yeni php geliştiricileri için çok yardımcı oluyor ve ondan, ayrıca hiç bilmediğim bazı php ipuçları ve püf noktaları da aldım.

    cevap
  2. Harika ipuçları, ama bence 37. maddeyi değiştirmelisiniz. Basit bir md5 karma, yaşadığımız dünyada gerçekten yeterince karmaşık değil.

    cevap
  3. 15 numara
    eğer/else geçişten daha hızlıysa, haklısın, bazı testler yaptım,
    ancak hangi durumda anahtarı kullanacağınızı düşünmelisiniz.

    10,1000,100000 ve 1 milyon döngüyü test ederek döngü yaptım ve sonuç:
    100k döngüde yerel makinede 0,13s fark elde edersiniz (dış sunucuda daha az fark almalısınız).

    Bu nedenle, if/else anahtarını kullanmayı düşünmelisiniz. Daha temiz kod nedeniyle anahtar kullanmayı tercih ederim. if/else yerine 1 anahtar, 2 anahtar, hatta 100 anahtar kullanmak… önemli değil, anlamsız.

    cevap
  4. 26 numara
    şimdi testi çalıştırıyorum,
    $i++ ve ++$i ile

    çok basit – 26 numara, 10mil'den fazlasını kullanmak istemedikçe anlamsızdır. döngüler.
    Ve fark?

    $i++ 10 s ile 2.67448 milyon döngü
    ++$i 10 s ile 2.605528mil döngü

    cevap
  5. 24. (…) Smarty veya Cache Lite'ı deneyin.
    33. Smarty gibi karmaşık şablon sistemlerini kullanmakla uğraşmayın

    Tamam.

    (kişisel olarak #33'ü silerdim; smarty (veya diğer şablonlama sistemleri) ob_ işlevlerine kıyasla birçok avantaja sahiptir…)

    cevap
  6. Yankı, bir işlem koduyla yazdırmaktan daha hızlıdır, bu yüzden gerçekten önemli değil, gerçekten. Ve print() bir fonksiyondur, echo değildir. Bunu dene:

    $değişken ve print 'değişken ayarlandı!';

    Ve artırma hakkında: $i += 1; en hızlısıdır.

    Harika bir makale, teşekkürler!

    cevap
  7. Bu, bazı PHP kod numaralarının güzel bir özeti. Bir geliştiricinin, geliştirdiği kodun performansını da göz önünde bulundurması önemlidir. Paylaşım için teşekkürler.

    cevap
  8. Merhaba, içeriği ve php'si çok güzel bir dildir, anlaşılması ve öğrenilmesi çok kolay olan özelliklerinden dolayı bu hileleri mutlaka uygulayacağım.

    cevap
  9. Harika bir yazı teşekkürler paylaşım için
    Harika ipuçları, ama bence 37. maddeyi değiştirmelisiniz. Basit bir md5 karma, yaşadığımız dünyada gerçekten yeterince karmaşık değil.

    cevap
  10. İnanılmaz 50 PHP ipucu, evet benim için gerçekten yardımcı oluyor çünkü bu alana yeni başlıyorum. Paylaşım için çok teşekkürler.

    cevap

Leave a Comment