問題タブ [codesniffer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP での状態の後の空白のスニフはどれですか?
私は探しているか、次を検出するスニフです。
だけだから
許可されています!
ありがとう
php - ジュムラ!PHP CodeSniffer
PHP Code Sniffer で次のメッセージが表示されます。
Expected "if (...)\n"; found "if (...)"
私のコード:
<?php if ($user->authorise('core.admin')): ?>
<li><a href="<?php echo $this->baseurl; ?>/index.php?option=com_affiliates&view=config"><?php echo JText::_('COM_AFFILIATES_LINK_GLOBAL_CONFIG'); ?></a></li>
<?php endif; ?>
php - PHP CodeSniffer Fixer に名前空間宣言を無視させるにはどうすればよいですか?
PHP Coding Standards Fixerに sublime text 2 プラグインを使用しています。名前空間が無効であると見なされることを除いて、正常に動作しています(実際には無効であり、私はそれで問題ありません)。このエラーにより、スクリプトはファイルの残りの部分を修正できなくなります。次のエラーが表示されます。
名前空間の制約を無視するようにスクリプトに指示するにはどうすればよいですか。コマンドライン引数と Sublime text 2 ユーザー設定の両方を変更できます。
php - PHP 5.4 で PHP ソースコードをコンパイルする方法
私は、PHP ソース コードをコンパイルし、コンパイルされたコードをロードして PHP スクリプトで使用する方法を探してきました。まだ結果は出ていません。bcompilerを使用して少し試してみましたが、Zend コア API の変更によりコンパイルされません。小さな部品を交換する必要があるかもしれません。
成功しなかった他の試みは、phpc を使用することでした。コンパイラの推奨バージョンは PHP 5.2 であるため、API は 5.4 への変更をサポートしなくなりました。
php - 何回かインストールおよびアップグレードした後、codesniffer コマンドが認識されない
pear を使用して Codesniffer をインストールしようとしましたが、Mac が phpcs コマンドを認識しません。
梨の設定
私はphp_binをチェックし、php実行可能ファイルがそこにあります。
phpcs を実行すると、command not found
私はナシをアップグレードしようとしましたが、コードスニファーをアンインストールし、再インストールしました。インストールリストを実行すると、
梨一覧
php - PHPコードの依存関係グラフを生成するためのCodeSnifferスニフ?
目標: PHPプログラムでクラスの依存関係のDOT形式の記述を 生成することに興味があります。
アイデア: PHPソースで次のパターンを検出(およびDOTレコードを発行)できるCodeSniffer「スニフ」を作成するのは難しいことではありません。
しかし、この情報(および私が見逃した可能性のある「実際の」クラス依存関係を示す他のパターン)を出力する公開されたスニフは見つかりませんでした。
注: 私は特にPHPのinclude()およびrequire()ステートメントを気にしません(その動作が明確に定義されているとは確信していません)。この質問の目的のために、すべてのPHPクラス解決が自動ロードを介して処理され、静的コード分析のみを使用してクラス依存関係図を作成しようとしていると仮定しましょう。
編集: 残念ながら、私は以下に対処する一般的な方法を見ていません:
ただし、もちろん、generateClassName()メソッドに依存するThatClassNameを表示することで、依存関係グラフでこのシナリオを表すことは可能です。メソッド名をクラス名と簡単に区別できるようにするために、おそらく親で表示されます。また、クラス名を動的に生成するメソッドには、生成される可能性のあるすべてのクラス名を示すアノテーション(関連するコメント内)を含める必要があるという規則を確立することは、おそらく悪い考えではありません。これらの「文書化された動的依存関係」です。その後、依存関係グラフに自動的に含めることができます。
php - ファイルごとに使用されている phpcs ルールセットをオーバーライドできますか?
最近、私たちは git に移行し、開発者にレポートを送信するために中央サーバーに受信フックを実装しました (今のところ投稿)。また、開発環境で phpcs を使用してコード標準を自動的にチェックできるようにするいくつかのツールを作成しました。
これはすべて素晴らしく、うまく機能しますが、論理的な理由で準拠していないすべてのファイルを無視するのではなく、コード標準に常に依存できるようにしたいと考えています。これで、デフォルトの PEAR 標準の一部をオーバーライドする独自のルールセットができましたが、可能であればもう少し先に進みたいと考えています。
私たちの問題は、PEAR 標準はすべてのクラス/ビジネス ロジックに最適ですが、ビュー ファイルでは、閉じ括弧を独自の行に配置する必要があるなどのルールを緩めたいということです。問題は、ほとんどの場合、これらのファイルで html を定義していて、制御構造が単純な if-else または foreach ステートメントしかなく、php を開いてから改行、閉じ括弧、改行を追加し、php を閉じるのは少しばかげていることです。
有効にするために必要な構文:
代わりにビューに使用したいもの:
これにより、コードが読みやすくなります...
私たちは wel ( ) のような代替構文を嫌いますif(..): ... endif;
。これは主に、ここでも有効性にいくつかの問題があったためです (すべては空白に関するものです...)。
ファイル全体を ( で) 無視すること// @codingStandardsIgnoreFile
は、オプションではありません。
tl;dr
そこで、私たちがやりたいことは、ビュー ファイル用に別のルールセットを定義することです。これにより、従うべき標準が残りますが、これらの面でのルールが緩和され、コードを読みやすくすることができます。
私はまだphpcsについてあまり知識がなく、論理的であるとはいえ、キーワードを使用して自分で解決策を見つけることができませんでした... PEARにも準拠したきちんとしたビューファイルを作成するための提案も大歓迎です...
php - phpcs の PEAR 標準の変更
phpcs 検証のために PEAR 標準に小さな変更を加えたいと思います。現在、PEAR では次のような else ステートメントを記述する必要があります。
次のように記述します。
この変更を行うにはどうすればよいですか?
php - PHP_CodeSniffer 1.4.3 でのスニフのサブセットの読み込みエラー
標準に外部スニフを含めるのに問題があります。PHP_CodeSniffer 1.4.3 の最新バージョンを使用すると、スニフのグループを含めることができません。それらを個別に含めることもできますが、メンテナンスを減らして、不要なものだけをリストしたいと思います。
作業 ruleset.xml
これは機能し、簡単なテストが含まれています。ただし、このグループにすべてを含めて、単一のスニフを除外したいと考えています。
PHP_CodeSniffer の ruleset.xml ICAP コーディング標準も動作
動作しない ruleset.xml
このルールセットは機能せず、PHPCS の実行時に例外を返します。
これは、リリースされたばかりのバージョン 1.4.3 で、PHP 5.4.8 を使用しています。
私の PHPCS -i は Generic をインストールされた標準として表示します:
私は混合環境で作業しており、Windows と Ubuntu 12.10 ではパスがかなり異なるため、できるだけパスを使用しないようにしています。
php - PHP_CodeSniffer - 失敗した Sniff を表示する
失敗したスニフを表示する PHP_CodeSniffer の設定はありますか? 出力をコーディング標準と比較していますが、1 つずつ使用すると、どのテストが失敗しているかを解読し、どれを無視する必要があるかを確認するのが困難です。
失敗のスニフを表示する簡単な方法があれば、構成をはるかに簡単かつ迅速に完了することができます。