2012-02-13 12 views
6

मैं क्लाइंट की 3500-लाइन PHP फ़ाइल डिबग कर रहा हूं। इस फ़ाइल को शामिल करने से PHP Parse error: syntax error, unexpected $end in ... त्रुटि होती है, इसलिए मुझे लगता है कि कहीं लापता ब्रेस है। क्या ब्रेस डिस्कवरी खोने के लिए कोई आसान टूल या तरीका है, या तो ऑनलाइन या कॉमोडो आईडीई में मैं उपयोग कर रहा हूं?बड़ी PHP फ़ाइल में गायब ब्रेसिज़ खोजें?

+3

3000-लाइन फ़ाइल? युक। http://stackoverflow.com/questions/378959/is-there-a-static-code-analyzer-like-lint-for-php-files – Frankie

+0

अधिकांश आईडीई में, आप उस स्थान की तलाश करके लापता ब्रेसिज़ पा सकते हैं प्रत्येक पंक्ति एक त्रुटि बन जाती है। –

+0

नेटबीन :) जो मेरे मन में है। । । – tomexsans

उत्तर

2

लगातार और साफ टैबबिंग का उपयोग करें। मैंने पाया है कि एक बंद ब्रेस याद करने के लिए यह बहुत मुश्किल बनाता है।

इसके अलावा, आपने यहां अपनी खुद की कब्र खोद दी है। आप कोडिंग क्या कर रहे हैं जिसके परिणामस्वरूप 3500-लाइन PHP फ़ाइल है?

संपादित करें: अपना कोड नोटपैड ++ में डंप करने का प्रयास करें। मुझे पूरा यकीन है कि अगर आप ओपनिंग पर क्लिक करते हैं तो संबंधित बंद ब्रेस को हाइलाइट करेंगे, लेकिन बड़ी फाइलों के साथ, मुझे इसके साथ कुछ अविश्वसनीय प्रदर्शन मिल गया है।

+0

टोरी- यदि आप अपना कोड जन्म देते हैं तो अच्छी सलाह है, लेकिन यह क्लाइंट कोड है, मेरा नहीं - मैं सलाहकार के रूप में बस पैराच्यूटिंग कर रहा हूं। – Yarin

+1

यह वैकल्पिक प्रारूप 'if (true) में नहीं लेता है: अन्य: endif; ' – Ray

0

आप किस टेक्स्ट एडिटर का उपयोग कर रहे हैं? मैं आपको ग्रहण का उपयोग करने की सलाह दूंगा और इसे पहचानना बहुत आसान होगा :) या आप भी अपना कोड सार्वजनिक कर सकते हैं और हम इस तरह से मदद कर सकते हैं :)

+0

मैं कमोडो आईडीई का उपयोग कर रहा हूं और मैं कोड को सार्वजनिक रूप से ग्राहक कोड के रूप में सार्वजनिक नहीं कर सकता। – Yarin

+0

मुझे यकीन नहीं है कि कोमोडो आईडीई कैसे काम करता है लेकिन मैं आपको ग्रहण, जावास्क्रिप्ट, एचटीएमएल ... के लिए अत्यधिक अनुशंसा करता हूं ... ग्रहण [यहां] http://www.eclipse.org/downloads/) के साथ काम करना शुरू करने के लिए मुझे ईमेल द्वारा अपना कोड भेज सकते हैं =] [email protected] यह सब मैं कर सकता हूं :) –

0

PHP के लिए नेटबीन आईडीई का उपयोग करें।
http://netbeans.org/features/php/

आपके वाक्यविन्यास की जांच करेगा और कई अन्य अच्छी सुविधाओं के बीच मुद्दों को हाइलाइट करेगा। और यह मुफ़्त है।

1

Komodo संपादित एक अच्छा विशेषता यह है कि प्रकाश डाला गया है कि अंदर क्या है धनुकोष्ठक

Ctrl + Alt +]

2

एक और विकल्प (नोटपैड के समान ++) जुड़े बंद टैग लगाने के लिए Dreamweaver उपयोग करने के लिए है। ,
उद्घाटन मिलान और घुंघराले ब्रेसिज़, कोष्ठक, या कोष्ठक बंद करने का चयन करने के लिए खोलने या बंद करने प्रतीक के अंदर क्लिक करें, और शेष राशि कोडिंग उपकरण पट्टी पर बटन ब्रेसिज़ क्लिक करें (यह है: How do I make Dreamweaver to show me closing tags?

Dreamweaver में:
यह लिंक देखें तत्काल अभिभावक टैग का चयन करें)। वैकल्पिक रूप से, कीबोर्ड शॉर्टकट, Ctrl + '/ Cmd +' का उपयोग करें।

1

मैं सिर्फ एक संबंधित समस्या पर काम कर रहा हूं (JSON-object में अनुपलब्ध सरणी वर्ग ब्रैकेट ढूंढें)। तो मुझे मदद करने में सक्षम होने की उम्मीद है।

 $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.'; 

यह मिस मैच और घुंघराले ब्रेसिज़ के लिए त्रुटि होने तक स्रोत को प्रतिबिंबित करता है।

0

हम वास्तव में सराहना करते हैं कि सभी कितने स्मार्ट हैं! कभी-कभी उस उपकरण से चिपकने के लिए बेहतर होता है जिस पर व्यक्ति उपयोग कर रहा है और वास्तव में वे क्या पूछ रहे हैं। मुझे नहीं पता कि आपको अपना जवाब मिल गया है लेकिन मैं इसका उपयोग करता हूं।

  1. तो उद्घाटन ब्रेस पर अपने कर्सर रखें - मैक पर
  2. : [कमान] '

या संपादन मेनू> शेष ब्रेसिज़ 3. परिणाम: इस Dreamweaver पर कोड पर प्रकाश डाला जाएगा ब्रेसिज़ के बीच और कोडिंग समस्या को हल करने में मदद करें।

उम्मीद है कि इससे मदद मिलती है। अनुलेखकभी-कभी आपको कोड की 3000 लाइनों की आवश्यकता होती है :)

संबंधित मुद्दे