ホームページ >バックエンド開発 >PHPチュートリアル >PHP コードの自動検出 (git/svn は PHP_CodeSniffer を統合します)

PHP コードの自動検出 (git/svn は PHP_CodeSniffer を統合します)

不言
不言オリジナル
2018-07-06 15:28:362257ブラウズ

この記事では主に、特定の参照値を持つ PHP コードの自動検出 (git/svn 統合 PHP_CodeSniffer) について紹介します。今回はそれを共有します。必要な友人は参照してください。

背景

会社が開発している場合、svn か git に関係なくコードが送信されるたびに、コードは単純に自動的に検出されます。コードのロジックをチェックすることはできませんが、少なくとも全体的なコーディング形式の一貫性は確保できます。この機能はとても便利で、どのように実装されているのかずっと知りたいと思っていたのですが、最近になってこの自動検出が何なのかを理解し始めました。

調査アプローチ

  1. 一般に、企業のドキュメント文書には、さまざまなシステムの特定の機能の具体的な実装が記録されており、複数の文書が存在する場合があります。会社のドキュメント このドキュメントをさまざまなキーワードで検索しても関連する情報は見つかりませんでした。

  2. 該当する部門の同僚を見つけて、それがどのように実装されているかを尋ねました。同僚は、それは PHP_CodeSniffer であると答え、github リンクを通知しました。そして明確な情報: ドキュメント?不可能。そして、すべてはインターネットで入手できると付け加えました。

  3. 最後に、Baidu/Google に関する記事をいくつか読んで、その実践方法をほぼ理解しました。

Part

PHP_CodeSniffer のインストール参考資料

pear install PHP_CodeSniffer

私は、pear メソッドを直接使用してインストールしました。これは、より簡単で便利です。 pear を使用してインストールされた拡張ライブラリは、基本的にデフォルトで PHP インストール ディレクトリにあります (例: /opt/php-7.1.9/lib/php/PHP/CodeSniffer)。独自のインストール ディレクトリを参照できます。
次のようにコマンド ラインから PHP_CodeSniffer を直接使用します。

phpcs test.php

PHP_CodeSniffer のコード仕様形式を設定します。

# /opt/php-7.1.9/lib/php/PHP/CodeSniffer/src/Standards 
# 这个目录下列出了所有可以设置的格式(PSR1,PSR2,PSR12,Zend,Squiz等)
phpcs --config-set default_standard Zend

svn/gitのインストール

仮想マシンへのインストールに時間がかかったのでここでは説明しませんが、参考にさせていただきました。インターネット上の情報に。

PHP_CodeSniffer を git/svn に統合する
svn プロジェクトがデプロイされるたびに、事前コミットを含むフック フォルダーを含む対応する設定ファイルが作成されます。 phpcs コマンドをファイルに追加するだけです。
git の原理は同じで、フックのあるフォルダーがあり、その中にプリコミットが含まれています。
違い: 当社の svn はコミットプロセス中に自動的に検出されますが、git は git Push 中に検出されます。自動コード検出がエンジニアリング コードが置かれているサーバーに統合されているのが最善だと思います。 svn がコミットすると、リモート ホストに直接アクセスされます。ただし、git コミットするとコードはローカル ブランチに保存され、git Push が実行された場合にのみリモート ホストに送信されるため、git は git Push 中に実行される自動検出操作です。

最後に書きました

PHPコードの自動検出を理解することで、多くの問題点を発見しました。

  1. 私はこの問題について率先して考えることはなく、最初はこの関数がどのように実装されているかを考えるのではなく、ドキュメント内の情報を調べることだけを考えていました。ドキュメントで情報が見つからず、同僚

  2. に直接問い合わせたとき、ビジネス ニーズに取り組んでいたとき、学習を続けて他のことを考えることを忘れることがよくありました。たとえば、Linux のコマンドは忘れ去られているものが多く、拡張ライブラリ PHP_CodeSniffer は非常に優れているので、具体的な実装については時間があるときに勉強したいと思います。頻繁に考える必要がある

  3. この自動コード検出を通じて、pear、PSR、svn/git、yum/apt-get などを含めて何も理解していないことがわかりました。 . 以前使ったことはあっても、深く勉強したり、対応する記録を作成したりしていなかったので、すぐに忘れてしまいました。もう少し読んでみると、自分の知識が少なすぎることに気づくでしょう。

  4. このプロセスで使用したいくつかの資料に感謝します

以上がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

以上がPHP コードの自動検出 (git/svn は PHP_CodeSniffer を統合します)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。