2012-02-13 14 views
6

Bir müşterinin 3500 satırı PHP dosyasını ayıklama ediyorum. Bu dosya da dahil olmak üzere bir PHP Parse error: syntax error, unexpected $end in ... hata neden olur, bu yüzden bir yerde eksik bir ayraç var varsayalım. Çevrimiçi veya Komodo IDE kullanıyorum brace keşif eksik için basit bir araç veya yöntem var mı?Büyük PHP dosyasında eksik parantezleri bulun?

+3

3000 satırlık dosya? Yuk. http://stackoverflow.com/questions/378959/is-there-a-static-code-analyzer-like-lint-for-php-files – Frankie

+0

Çoğu IDE'de, eksik parantezleri, her bir satır bir hata olur. –

+0

NetBeans :) aklımda olan şey. . . – tomexsans

cevap

2

Kullanım tutarlı ve temiz sekme. Kapanış aylığını kaçırmayı çok zor buldum. Bunun dışında

, sen tür burada kendi mezarını kazdı ettik. 3500 satırlık bir PHP dosyasında bunun sonucunda ne yazıyorsunuz?

DÜZENLEME: ++ Not Defteri'ne kodunuzu damping deneyin. Açılışı tıklarsanız, ilgili kapanış ayracıyla ilgili olarak vurgu yapacağımdan eminim, ancak daha büyük dosyaları olan bir şekilde, bununla birlikte güvenilir olmayan bir performans elde ettim.

+0

Tory- Kendi kodunuzu doğurduğunuzda size iyi bir tavsiye, ancak bu müşteri kodu, benim değil, sadece bir danışman olarak paraşütle çeviriyorum. – Yarin

+1

Bu, 'if (true): else: endif; ' – Ray

0

Hangi metin düzenleyicisini kullanıyorsunuz? Eclipse kullanmak için size tavsiye edecek ve bunu tespit etmek çok daha kolay olacaktır :) ya da kamu kodunuzu ve biz bu şekilde :) PHP

+0

Komodo IDE'yi kullanıyorum ve kodun özel istemci kodu olarak herkese açık olmasını sağlayamam. – Yarin

+0

Komodo IDE'nin nasıl çalıştığından emin değilim ancak Eclipse [HERE] (http://www.eclipse.org/downloads/) ile çalışmaya başlamak için php, javascript, html ... e-posta ile bana kod gönderebilirsiniz =] [email protected] Bu tek yapabileceğim şey :) –

0

Kullanım NetBeans IDE yardımcı olabilir olabilir olabilir.
http://netbeans.org/features/php/

Sözdizimini kontrol edip sahip olduğu diğer birçok güzel özellik arasında sorunları vurgulayacaktır. Ve ücretsizdir.

1

Komodo Edit içeride

2

] başka bir seçenek (not defteri benzer ++)

Ctrl + Alt + parantezi noktaların vurgulandığı ilişkili kapanış etiketini bulmak için Dreamweaver kullanmaktır güzel özelliği vardır. öyle (açma veya kapama sembolünün içinde tıklatın
küme parantezleri, köşeli parantez veya parantez açılmasını eşleşen ve kapanış seçmek için, ve Denge Kodlama araç çubuğundaki düğmesini Ayraçla tıklayın: How do I make Dreamweaver to show me closing tags?

dreamweaver içinde:
bu bağlantıya bakın Hemen Altında Üst Etiketi Seç). Alternatif olarak, Ctrl + '/ Cmd +' klavye kısayolunu kullanın.

1

Sadece (JSON-nesne eksik dizi köşeli ayraç bulmak) ilgili sorun üzerinde çalışıyorum. Bu yüzden yardım edebilmeyi umuyorum. Bir bayan maç ve küme parantezleri için bir hata kalmayıncaya kadar

 $pos=0; 
    $braceCount=0; 
while(preg_match('~\{|\}~S', $source, $out, PREG_OFFSET_CAPTURE, $pos)){ 
    if($out[0][0] === '{'){ 
     $braceCount++; 
     if($braceCount === 1)$startPos=$out[0][1]; 
    } 
    elseif($out[0][0] === '}'){ 
     $braceCount--; 
     if($braceCount === 0){ 
     //echo 'Up to that position:'.$out[0][1].' every thing seems to be ok?<br>'; 
     echo substr($source,$startPos,($out[0][1]+1-$startPos)).'<br>'; 
     } 
     elseif($braceCount < 0){ 
     echo 'To many closing brace right before '.($out[0][1]+1).'<br>'; 
     exit; 
     } 
    } 
    $pos = $out[0][1]+1; 
} 
if($braceCount > 0) echo 'Closing brace is missing somewhere.'; 

Bu

kaynağını yankı.

0

Gerçekten herkesin ne kadar akıllı olduğunu takdir ediyoruz! Bazen, kişinin kullandığı araca yapışması ve tam olarak ne sordukları konusunda daha iyi olur. Cevabınızı buldunuz mu bilmiyorum ama burada kullandığım şey.

  1. ardından açılış Brace üzerine imleci koyun -
  2. Mac'te: [Komut]'

veya Düzen Menüsü> Denge Braketler 3. Sonuç: Bu Dreamweaver kod vurgulayacaktır parantez arasında ve kodlama sorunu çözmek yardımcı olur.

Bu yardımcı olur umarım. Not;Bazen 3000 satır kod gerekir :)

İlgili konular