Hata ayıklama PHP kodu [kapalı]

13 Cevap php

PHP kodu hata ayıklamak için en iyi yolu nedir? Ben bu nedenle bazı aracı Dreamweaver özgü olduğunu PHP geliştirme için Dreamweaver kullanıyorum? Eğer JSP veya Java kod hata ayıklama Netbeans'ı kullanılan varsa, ben arıyorum ne bileyim.

13 Cevap

Kesinlikle değil - baskı etrafında alay ediyor, hata ayıklama değildir.

Ben şahsen kullanmak PHPEd ve ben orada hemen hemen her PHP IDE denedim. PHPEd üstüne çıktı.

PhpED en debugger destekleyen inanılmaz bir görsel hata ayıklayıcı içerir

  • kesme noktaları ile,
  • (dizi, nesne taşıma, vb dahil), yerel ve global değişkenler,
  • izle,
  • yığını diyoruz,
  • Eğer birlikte ayıklamak gibi verileri değiştirmek için kullanabileceğiniz yerinde PHP kabuk.

Başka bir alternatif ve ücretsiz ÖSS olan XDebug hangi. Ben emin değilim ama aslında, PhpED en debugger bile, ona dayalı olabilir.

Ben sadece (399 $ ya da öylesine) pahalıya mal olan Zend Development Environment (ZDE) ve Zend Platform kullanarak durdu, ama onlar sadece FreeBSD 7.x destek düştü, ben de onları düştü. Ama onlar çok iyi araçları ve kullanımı kolay. (Ben 4 ay önce kullanıldığı zaman zde bir Eclipse sürümü gereken bazı işler olsa da.)

Ben sadece ikisi de ücretsiz olan ve on-par zde ve ZP ile vardır, NetBeans ve xdebug geçti:

http://www.netbeans.org/downloads/index.html

http://www.xdebug.org/

Ve son bir not olarak: Degugging Debugging'i kadar eğlenceli değil.

PHP hata ayıklamak için en iyi yolu, başkalarının önerdi gibi, bir hata ayıklayıcı kullanmak olacaktır.

Şahsen ben kullanmak eclipse PDT, hem XDebug ve Zend Debugger destekler. Zend Debugger (çerçeve aksine) aslında serbest ama reklamı olarak genellikle değil. O da profil ve kod kapsama destekler çünkü Şahsen ben XDebug iyi bir seçim olma bulabilirsiniz. Her iki SimpleTest ve PHPUnit kod kapsama raporlar üretmek için XDebug gerektirir.

Ayrıca, hata ayıklama yapmak için printf() kullanarak hareketsiz bir hata ayıklayıcı kullanarak kadar zarif bir valid yol olduğunu söyleyebilirim. Ama gerçekten basit sorunlar için, biz basit araçlarını kullanın. Iyi uygulama hata ayıklama bilgisi böylece printf("I am a point A") debug("I am at point A") yerine söylüyorlar ve daha sonra [(4 {değiştirerek tüm hata ayıklama maddeleri devre dışı bırakmak mümkün olacaktır ayrı bir işlevi içine maddeler saklanması olacaktır )]}

Yerine gerçek çıktı "kirletici" bir Firebug konsoluna hata ayıklama bilgilerini yazdırmak hangi ile de, FirePHP bakabilirsiniz.

Google Chrome tarayıcısı kullanıyorsanız, bu yüzden kontrol PHP Console.

Benim kişisel favori ayrıca Artem ve Nathan gibi phpED (NuSphere) zaten yazdı den ayıklama aracıdır. Ben de bazı diğer araçları test ettik ama büyük PHP hata ayıklayıcı ile kombine özellik zengin IDE benim için en iyi ve en yararlı bir kombinasyon oldu ve bana zaten çok zaman kurtardı.

Dürüst olmak gerekirse, ben hata ayıklama PHP için en iyi yol olarak çıkış içine baskı verileri bulmak: (

gogo printf hata ayıklama.

Aptana Studio PHP modülü entegre ayıklamayı içerir başka bir seçenektir. Onlar ücretsiz bir sürümü var ve hatta onların pro sürümü makul fiyatlı.

http://www.aptana.com/php

Tutulma, komodo, zend (her ne kadar bir kaç versiyonları arka), Visual Studio ve metin editörleri baskı / kalıp ile kullandım.

I Visual Studio with the VS.php plugin PHP için en iyi hata ayıklama ortamı olduğunu düşünüyorum. Bu kendi web sunucusu ile birlikte geliyor ve hemen hemen sıfır yapılandırma / güçlük yoktur. Sen, proje oluşturmak bir kesme noktası ayarlamak ve uygulamayı çalıştırın. Intellisense harika çalışıyor ve kod boyunca adım zaman nesne / değişken izleme kolaydır.

Önemlisi, size kesme kaldırdığınızda, size bir metin editörü kullanarak sanki sadece tarayıcıda / görünüm sonuçları kodu olabilir. Ben bir hata ayıklama oturumu yönetmek için iş olduğunu, diğer IDE buldum. Visual Studio ile çok sezgisel ve sadece uygulama geliştirmeye odaklanıyoruz.

Bu ücretsiz Visual Studio Express ile çalışır, ancak eklenti yaklaşık $ 100 ABD maliyeti. Iyi değer.

Sadece işaret etmek istiyorum: Yukarıdaki tüm IDE Mac sürümleri VS (Visual Studio) ve PhpED için beklemek zorunda. Çoğu Eclipse IDE dayanmaktadır.

Firebug'ın yapımcıları, FirePHP göz atın. Her ikisi de kullanışlı araçları konum.

PhpED ayıklayıcı gerçekten güçlü olduğu - diğer araçlar mevcut özelliklerin üstüne, ben başka bir yerde bulamadık bazı benzersiz vardır. Örneğin yürütme noktasını ayarlayabilirsiniz - f.ex. isteği bütün yeniden başlatmadan bazı kod yeniden başlatın. Bu özellikleri veya değişkenleri izlemek için kullanışlı ve kod onlara modifikasyonları gerçekleştirmek bulmak - koşul true olursa olanları belirli bir yerde olmadan, onlar tetikleyecektir - Eğer küresel kesme noktaları ekleyebilirsiniz. (Şifreler de dahil) tüm değişkenlerin içeriğini ele böylece nihayet tüm diğer ayıklayıcıları düz metin biçiminde veri göndermek. Bu güçlü şifreleme destekler PhpED debbugger ile durum değil.

Ben birkaç yıl için debugger ile PhpEd kullanarak oldum ve en iyisi - Nathan tarafından getirilen tüm noktalar geçerlidir, aynı zamanda paralel hata ayıklama destekler.

Sadece netleştirmek için - onlar XDebug, DBG, kendi hata ayıklayıcı değil kullanıyoruz.

DBG Nusphere tabii ki daha iyi ve daha fazla özelliklere sahip ticari sürümünü kullanıyor bazı ürünler ve PhpEd tarafından kullanılan ücretsiz sürümü vardır.

Php debuging için dört sınıf vardır.

İlk basit hata ayıklama, sen php funciton eski kullanabilirsiniz. var_dump, print_r.

İkinci dll debug ontime yani xdebug, zend_debug debuging için harici dll kütüphane kullanabilirsiniz vardır.

Üçüncü bazı aracı yani zend_log kendi çerçevesinde, cakephp günlüğü, symfony günlüğü için özel tasarım, çerçeve hata ayıklama olduğunu.

Dördüncü düz php ile yazılmış oluyor, php hata ayıklama, herhangi bir çerçeveye aittir, yani Kint, Log.Vkit, dbug yok.

Tüm sınıf deneyebilirsiniz. Bir süre süre sonra, kendiniz için uygun olan onları bazı araçlar birleştirebilirsiniz.