#php 開発におけるルール・規約

#php で開発におけるルール設定

※参考PHP コーディング規約(opens new window)

#エディター設定

.editorconfig

## EditorConfig is awesome: https://EditorConfig.org

## top-most EditorConfig file
root = true

## Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

## Matches multiple files with brace expansion notation
## Set default charset
[*.{js,php}]
charset = utf-8

## 4 space indentation
[*.php]
indent_style = space
indent_size = 4

## Tab indentation (no size specified)
[Makefile]
indent_style = tab

## Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2

## Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2

#シングルクォートとダブルクォート

シングルクォートとダブルクォートは混ぜて使用しても構いません

#インデント

spaces: 4 途中を揃える場合にスペースを使用してください(非推薦)

#ブレース (波かっこ) の形式

  • if 内容が長い場合、ブレースではなく endif; 使う

  • if: endif; の中に if の場合はブレース使う

  • 「elseif」を使うこと。「else if」は使わない

  $i = 0;
  $k = 1;

  if( $i === 0 ):

  /*
   * 長い処理....
   */

    if( $k > $i ){
        echo $k;
    }

  endif;

#正規表現

POSIX 互換関数 ではなく、Perl 互換の正規表現 (PCRE(opens new window)preg_ 関数) を使用

#PHP ショートタグは使用可

重要 絶対に PHP のショートタグは echo のみ使用可

NG:

<? ... ?>

OK:

<?= $var ?>

#文末の空白の除去

コードの各行末尾のスペースは削除してください。

#スペースの使い方

コンマの後ろや、論理演算子、比較演算子、文字列演算子、代入演算子の両側には、常にスペースを入れてください。

x == 23
foo && bar
! foo
array( 1, 2, 3 )
$baz . '-5'
$term .= 'X'

「if」「elseif」「foreach」「for」「switch」ブロックの開きかっこ、閉じかっこの両側にも入れてください。

foreach ( $foo as $bar ) { ...

論理比較の場合

if ( ! $foo ) { ...

型のキャストの場合

foreach ( (array) $foo as $bar ) { ...

$foo = (boolean) $bar;

配列要素を参照する場合には、添字が変数の場合のみ前後にスペースを入れてください。

$x = $foo['bar']; // 正しい $x = $foo[ 'bar' ]; // 間違い

$x = $foo[0]; // 正しい $x = $foo[ 0 ]; // 間違い

$x = $foo[ $bar ]; // 正しい $x = $foo[$bar]; // 間違い

#命名規則

定数はすべて大文字で、アンダースコアで区切ります。

define( 'APP_DEBUG', true );

#Controller

ファイル名はアルファベットの小文字単語と Controller の連結を使用して、内容を説明する名前にしてください。単語はアンダースコアで区切ります。

userController.php

※例外:継承専用の controller は MY_Controller

MY_Controller.php

#Model

ファイル名はアルファベットの小文字を使用して、内容を説明する名前にしてください。単語はアンダースコアで区切ります。

user_model.php

#三項演算子

三項演算子は使用しても構いません

2019-06-01
  • php

関連記事

twig 3 人気 PHP テンプレートエンジンがバージョンアップ
php curl 使って クリックなしで POST 送信
allowurlinclude の設定で ftp_connect()エラー
Lumen と Laravel 違い比較
Laravel5.7 の MVC 使う時のメモ
PHP 7.4 にアップグレードして使えなくなる機能
解決!phpMyAdmin テーブル構造の内容が表示されない問題
正規表現一覧 よく使う検索・置換のパターン
開発時によく使うゼロ埋めパディング作業まとめ
知ってるようで知らなかった composer のコマンドとオプションの世界
Laravel 5.1 から 8.1 にバージョンアップ
laravel vuejs 初期設定
HTML から PDF に変換 PHP ライブラリ mPDF の設定
nuxtjs と codeigniter で jwt システム構築
爆速・軽量フレームワーク codeigniter PHP 開発
Laravel Error についてのメモ