はじめに PSR-12 とは PSR-2 と PSR-12 の違い PHP_CodeSniffer とは IntelliJ / PHPStorm でスタイルチェックする Jenkins でコーディングスタイルチェック まとめ はじめに この記事は PHP アドベントカレンダー 4日目の記事です。 qiita.com 昨日は @taro-hida さんでした。 qiita.com 僕は新卒から5年間ずっとPHPを触っているので、PHPのアドベントカレンダーにはなるべく参加しようと思っています。 PSR-12 とは PSR-12 とは、 PHP のコーディング規約です。 PHP のコーディング規約には PSR-1 と PSR-12 があり、 PSR-1 は Basic Coding Standard https://www.php-fig.org/psr/psr-1/ PSR-12 は Ext
TL;DR PHPアプリケーションにおいて、表題のような「PHPを使う上で自制心を持とうな」みたいな温度感でstrictな書き方を推奨される昨今 こういうのは往々にして人間が言うのはそのうちげんなりしてくるし、逆に言われる方も同じ PHPStanが提供しているカスタムルール phpstan/phpstan-strict-rules を使おう 前提 PHPStanを使うことを前提としています。 phpstan/phpstan-strict-rules github.com PHPStanは、「PHPStanでCustomRuleを作る」という発表でも解説されている通り、任意のカスタムルールをクラスとして定義することで、ルールを追加できます。しかし、すでにPHPStanが提供しているルールもいくつかあります。その一つが phpstan/phpstan-strict-rules です。 導入方法
Clean Code PHP / Clean Code JavaScript 以下はClean Code PHPの日本語訳です。 Introduction Robert C. Martinの著書Clean Codeは、PHPにも当てはまることばかりです。 これはスタイルガイドではありません。 PHPで3R(Readable、Reusable、Refactorable)なコードを推進するためのガイドです。 ここに書いてあることの全てに従わねばならないわけではなく、普遍的に合意されているわけでもありません。 ただのガイドラインであり、それ以上のものではありません。 しかしこれらは、Clean Codeの著者らが長年の集合知の結果をまとめたものです。 このガイドはclean-code-javascriptに影響されました。 多くの開発者は未だにPHP5を使っていますが、このガイドはPHP7.1以
もくじ はじめに 変数 関数 オブジェクトとデータ構造 クラス S: 単一責任の原則 (SRP) O: オープン/クローズドの原則 (OCP) L: リスコフの置換原則 (LSP) I: インターフェイス分離の原則 (ISP) D: 依存逆転の法則 (DIP) 同じことを繰り返すな (DRY) はじめに この記事はRobert C. Martinの本「Clean Code」のソフトウェアエンジニアリングの法則をPHPに適合させたものです。これはスタイルガイドではありません。読みやすく、再利用しやすく、そしてリファクタリングしやすいPHPコードを書くためのガイドです。 ここで挙げられるすべての原則は厳密に守らなくてはいけないわけではなく、少し守らなかったところで一般には許容されます。あくまでガイドラインですが、Clean Codeの著者たちがみな長年に渡って経験してきたことです。 この記事(
2014年に書いた PHP CS Fixer の記事 が今でも読まれているのですが、2016年末にリリースされた PHP CS Fixer v2.0 で後方互換のない変更が多く入っており情報が古くなっているため、改めて v2 について書いてみようと思います。なお現時点での最新版は v2.1.2 となります。 fivestar.hatenablog.com PHP CS Fixer とは PHP CS Fixer は PHP コードをコーディング規約 (CS = Coding Standards) に沿って補正してくれるライブラリです。歴史を辿ると、元々は Symfony のプロジェクトリードの fabpot 氏が作成したもので、 PSR-½ 、あるいは Symfony のコーディング規約 に沿ってコードを補正する機能が実装されています。 github.com チームでコードを書くときはコー
"require-dev": { "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "phpspec/phpspec": "~2.1", "squizlabs/php_codesniffer": "*", "phpmd/phpmd" : "*" }, #!/usr/bin/env bash set -eu echo "********************" echo "* install gems *" echo "********************" gem install --no-document checkstyle_filter-git saddler saddler-reporter-github pmd_translate_checkstyle_for
PHP コーディングルールの整理にあたり、 phpcs と phpcbf について色々触ってみたので、メモ。 あくまで、メモ程度。(予防線) 概要 phpcs / phpcbf とは下記を略したコマンド名であり、それぞれの役目は下記の通り。 phpcs : PHP Code Sniffer 設定したルールに基づき、指定したファイルのコーディングスタイルを 判定 phpcbf : PHP Code Beautifier and Fixer 設定したルールに基づき、指定したファイルのコーディングスタイルを 整形 phpcs / phpcbf ともにソースコードは GitHub 上の squizlabs/PHP_CodeSniffer で公開されている。 インストール方法 インストール方法は README に書いてある通りだが、管理のしやすさから composer でインストールした方が良さそう
This project follows a Code of Conduct. Build statuses Master: Requirements PHP >= 5.6.0 to run the formatter. Note that the formatter can parse even a PHP file version 4 in case needed. HHVM is not supported. Plugins Sublime Text 2/3 Vim PHPStorm PHPStorm beta Usage $ php fmt.phar filename.php $ php fmt.phar --help Usage: fmt.phar [-hv] [-o=FILENAME] [--config=FILENAME] [--cache[=FILENAME]] [opt
03 Jul Coding standards tend to vary between projects. Even projects that use the same written standard can vary in a number of ways as standards tend to leave a lot of room to apply your own coding style in various areas. To get a better idea of what coding styles PHP developers are using, I used PHP_CodeSniffer to analyse and report on a number of big and small public PHP projects hosted on Gith
「ママ向けNo.1アプリ」の 更なる成長を支える仕組み / startup-engineer-night-connehito
Collaborate on solutions, not syntax. Automatic comments on PSR-2 violations in one click, so your team can focus on better code review.
関連記事: コーディング規約自動調整ツールCodeSnifferとphp-cs-fixer CodeSnifferのインデントをタブ対応にする方法 gsherwood氏の記事より https://gist.github.com/gsherwood/9d22f634c57f990a7c64 ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪ ------------------- ↓ 余談はここから ↓------------------- コーディング標準を自身で決める環境であれば、 あまり関係ないけれども。 プロジェクトに途中から参画したときは、 すでに存在しているコーディング標準に併せることは珍しくない。 なので、世の中はスペース字下げの方向に向かってるからと言って、 タブ字下げに対応しなくていいのかという話にはならない。 実際私もかかわっているプロジェクトはタブインデント。 Fuelphp
2017/03/30 追記 新しいバージョン (v2.0) の記事を書きましたのでこちらもご覧ください fivestar.hatenablog.com この記事は PHP Advent Calendar 2014 の8日目の記事です。 コーディング規約が守れない方とお悩みの方も、チームメンバーがなかなか守ってくれないとお悩みの方も、 PHP CS Fixer があればもう安心。PHP CS Fixer が PHP コードをコーディング規約に沿って整えてくれるので、秩序ある PHP ライフが約束されるでしょう。 そんなこんなで PHP Advent Calendar 2014 の 8 日目ですね。みなさんこんにちは、 fivestar こと小川です。いつのまにかクロコスがなくなって Y の人になっちゃいましたね。 昨今は PSR (PHP Standard Recommendation) の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く