Contenu connexe
Similaire à PSR-1 と PSR-2 を5分でざっくり理解する (20)
Plus de Wataru Terada (11)
PSR-1 と PSR-2 を5分でざっくり理解する
- 1. PSR-1 と PSR-2 を
5分でざっくり理解する
2016-01-13 PHP BLT #2
GMOリサーチ 寺田 渉
Facebook:
twitter:
github:
寺田渉
@wa_terada
waterada
- 2. 自己紹介(仕事)
- PHP (CakePHP) を主に使って開発
- 継続的インテグレーション
- github + git flow で運用
- PHPUnit で カバレッジ 100%
- Behat (Selenium Driver 経由の画面テスト) 利用
- vagrant で開発環境構築
- 7. CakePHP に issue を立てて、
修正を pull request してみた
という記事を Qiita で公開致しました。
コーディングスタイル違反 の指摘が
結構ありまして、今一度、
PSR-1, PSR-2 を復習しておこう
と思った次第です。
- 38. $a = function() { return 1; };
どっちが準拠?
1.
2.
$a = function() {
return 1;
};
- 40. public static function is()
どっちが準拠?
1.
2.
abstract public function is();
static public function is()
public abstract function is();
- 44. for ($i = 0 ; $i < 3 ; $i++) {
どっちが準拠?
1.
2. for ($i = 0; $i < 3; $i++) {
- 46. $a = function ($a, $b) use ($c) {
どっちが準拠?
1.
2.
$a = function($a, $b) use($c) {
- 48. class A extends B implements
C,
D
{
どっちが準拠?
1.
class A
extends B
implements C, D
{
2.
- 52. $array = array_map(
function ($arg) use ($var) {
// ...
},
$array
);
どっちが準拠?1.
$array = array_map(function ($arg) use ($var) {
// ...
}, $array);
2.
- 54. switch ($expr) {
case 1:
echo 'A';
// no break
case 2:
case 3:
echo 'B';
break;
}
どっちが準拠?
1. 2.
switch ($expr) {
case 1:
echo 'A';
case 2:
case 3:
echo 'B';
break;
}
- 56. 以上、ご静聴ありがとうございました。
<?php か <?= のみ
BOM無し UTF-8
副作用有無でファイル分ける
大小文字: クラス名
大小文字: メソッド名
大小文字: 定数名
大小文字: true/false/null
インデント
ファイル末尾の改行
namespace 周りの空行
{}の改行: クラス/メソッド
Facebook:
twitter:
github:
寺田渉
@wa_terada
waterada
{}の改行: if
{}の改行: クロージャ {
{}の改行: クロージャ }
static/abstractの位置
前後の空白: if
前後の空白: for
前後の空白: クロージャ
複数行: クラス
複数行: 引数
複数行: 引数でクロージャ
switch でコメント必須
- 57. 参考情報:
• 承諾された PSR が置いてある公式github
• PSR-1 (英語)
• PSR-2 (英語)
• 上記を翻訳してくれているサイト
(infinite loop様の技術ブログ)
• PSR-1 (日本語)
• PSR-2 (日本語)