2012-02-13 26 views
6

クライアントの 3500行のPHPファイルをデバッグしています。このファイルを含めるとPHP Parse error: syntax error, unexpected $end in ...というエラーが発生するので、どこかに括弧がないと仮定しています。オンラインでも、私が使用しているKomodo IDEでブレース発見を見逃す簡単なツールや方法がありますか?大きなPHPファイルに括弧がありませんか?

+3

3000行ファイル? Yuk。 http://stackoverflow.com/questions/378959/is-there-a-static-code-analyzer-like-lint-for-php-files – Frankie

+0

ほとんどのIDEでは、欠けている括弧は、すべての1行がエラーになります。 –

+0

NetBeans :) thatsは私が心に留めていることです。 。 。 – tomexsans

答えて

2

一貫性のあるきれいなタブを使用します。私は閉鎖ブレースを見逃すことが非常に難しいことがわかった。

これ以外にも、自分で墓を掘ったことがあります。 3500行のPHPファイルで何をコーディングしていますか?

EDIT:Notepad ++にコードをダンプしてみてください。あなたが最初のものをクリックすると、関連する閉じ括弧がハイライト表示されることは間違いありませんが、大きなファイルでは、これでやや信頼性の低いパフォーマンスが得られます。

+0

Tory-あなた自身のコードを誕生させたらいいですが、これは私のものではなくクライアントコードです。私はただコンサルタントとしてパラシュートしています。 – Yarin

+1

これは、別の形式を考慮していません。if(true):else:endif; – Ray

0

あなたはどのテキストエディタを使用していますか? Eclipseを使用することをお勧めします。それを検出する方がはるかに簡単です:)また、公開コードを公開して、その方法で助けてもらえますか?

+0

私はKomodo IDEを使用しており、独自のクライアントコードとしてコードを公開することはできません。 – Yarin

+0

私はコモドIDEがどのように機能するのか分かりませんが、私はPHP、javascript、html ...をお勧めします。Eclipse [HERE](http://www.eclipse.org/downloads/)またはメールであなたのコードを送ることができます=] [email protected]これは私ができるすべてです:) –

0

NetBeans IDE for PHPを使用してください。
http://netbeans.org/features/php/

多くの他の優れた機能の中で、構文とハイライトの問題を確認します。それは無料です。

1

コモド編集が内側に何浮き彫りに優れた機能を持っているブレース

はCtrl + Alt +]

2

(メモ帳に似++)別のオプションは、関連する終了タグを見つけるために、Dreamweaverのを使用することです。 (それはだマッチング開口部を選択し、中括弧、括弧、または括弧を閉じ、開閉シンボル内をクリックして、コーディングツールバー上のバランスサスペンダーボタンをクリックし
:DreamweaverでHow do I make Dreamweaver to show me closing tags?


は、このリンクを参照してください。 [親タグの選択]のすぐ下にあります)。または、キーボードショートカットCtrl + '/ Cmd +'を使用します。

1

私は関連する問題(JSONオブジェクト内の配列の角括弧が見つからないこと)に取り掛かりつつあります。だから私は援助できることを願っています。

 $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. をMacでは: [コマンド]」

または[編集]メニュー> [バランスサスペンダー 3.結果:これは、Dreamweaverのコードをハイライト表示します中かっこの間に配置し、コーディングの問題を解決します。

これが役に立ちます。 P.S.ときには、3000行のコードが必要になることがあります。

関連する問題