RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作

PHPのコーディング規則、PSRを学ぶ(5)

投稿日:

PHPのコーディング規則、PSRを学ぶ(4)の続きです。
この記事では、PHPのコーディング規則PSRの規則をまとめます。

1.規則概要

  1. 文字コードはUTF-8(BOM無し)
  2. 改行コードはLF
  3. PHP(開始)コードは「<?php」または 「<?=」
  4. PHPのみのファイルの場合は最後の「?>」を省略してよい
  5. 最後は改行して終わる
  6. インデント(字下げ)は「半角スペース4つ」でタブを使わない
  7. 開き「{」は改行して記述
  8. シンボル(クラス、関数、定数など)を宣言するためのファイルと、副作用のある処理(出力の生成、ini設定の変更など)を行うためのファイルは、分けるべき
  9. クラス名は、StudlyCaps(単語の先頭文字を大文字で表記する記法)記法で定義
  10. メソッド名はcamelCase(単語の先頭文字を大文字で表記するが、最初の1文字目は小文字とする記法)記法で定義
  11. クラス定数(const)は全て大文字とし、区切り文字にはアンダースコアを用いて定義
  12. 名前空間定義・use定義のあとには空行を挟む
  13. プロパティの命名規則は「StudlyCaps」「camelCase」「under_score」どれでもよいがファイル内で一貫させること
  14. PHPの予約語は小文字で使用
  15. PHP定数であるtrue、false、nullは小文字で使用
<?php
namespace Vendor\Package;

use FooInterface;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;

class Foo extends Bar implements FooInterface
{
    public function sampleFunction($a, $b = null)
    {
        if ($a === $b) {
            bar();
        } elseif ($a > $b) {
            $foo->bar($arg1);
        } else {
            BazClass::bar($arg2, $arg3);
        }
    }

    final public static function bar()
    {
        // メソッド本文
    }
}

2.名前空間とオートローダーについて

  1. PHP5.3.0以上が必要
  2. (namespaceを利用するためです。オートローダーを使わない場合は問題ありません。オートローダーについてはPSR-0(日本語)をご覧ください。)

  3. 名前空間は「\<ベンダー名>\(<名前空間>\)*<クラス名>」と設定すること。
  4. 言い換えると、「\製作者名\(機構名)\機能名」と設定して名前空間を汚染しないようにしてください。

  5. クラス名のアンダースコア「_」はディレクトリの区切りになる
  6. 名前空間の中のアンダースコア「_」はディレクトリの区切りにはならない

初心者の方の目線で見た名前空間は、PHPのコーディング規則、PSRを学ぶ(3)にまとめています。

最後に

サイトの改修が完了しましたにいただいたコメントをヒントに「PHPのコーディング規則、PSRを学ぶ」が始まりました。コメントありがとうございました。

参考にさせていただいたサイトの運営者の方々、ありがとうございました。すごく勉強になりました。

PHP・CGIプログラムは使われてこそ価値があります。PHPプログラムを配布し始めたのは最近ですが、それを誰もが改修出来るようにすることによって、さらに良いものが生まれてくることを願っています。

「面白い(個人制作の)ゲームをやりたい!」「いいプログラムを使いたい!」からこそやっております。もし面白いと感じるゲームや便利なプログラムがあったらコメントなどで紹介してください。( ^^)

各記事へのリンク

  1. PHPのコーディング規則、PSRを学ぶ(1)
  2. PHPのコーディング規則、PSRを学ぶ(2)
  3. PHPのコーディング規則、PSRを学ぶ(3)
  4. PHPのコーディング規則、PSRを学ぶ(4)
  5. PHPのコーディング規則、PSRを学ぶ(5)(当記事)

参考

-Web制作

執筆者:


  1. […] 次は、「PSRの規則をまとめてみる」を行います。 PHPのコーディング規則、PSRを学ぶ(5)へ […]

PHPのコーディング規則、PSRを学ぶ(4) – Rの考え方 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

「1秒でも早く読者を離脱させる」 – まとめサイトの新たな挑戦

あなたがテレビでニュースを見るのはなぜでしょうか? 綺麗なアナウンサーを見るため?時間をつぶすため? 確かにそういう人もいるでしょう。 ただ、間違いのないことは、 あなたは「情報を得るために」ニュース …

no image

PHPのコーディング規則、PSRのまとめ

「PHPのコーディング規則、PSRを学ぶ」(1)~(5)の集大成が完成しました。 PHPコーディング規則、PSRを学ぶで閲覧可能です。 正確を期していますが、誤りがあったらコメントをお願いします。m( …

TensorFlowまで到達

ちょいちょい数式に詰まりながらも、DeeplearningのフレームワークTensorFlowの学習まで漕ぎ着けました。 一番困ったのは「説明無しで数式使うよ!」 マジやめてください・・・まあ勉強する …

no image

PHPのコーディング規則、PSRを学ぶ(1)

PHPはかなり自由に書けることが魅力なのですが「自由に書ける」=「独自化する」=「その人以外わからない」等式が成り立ってしまいます。 これは困った。 つまり、コーディング(コードの書き方)の一般的な規 …

ゲームのつくり方

何で書こうとしたの? ゲーム制作者が自由な記事を作る Advent Calendar 2021があったのでつい… 昔からゲーム開発の方法論を簡単にまとめたいと思っていましたが、いいきっかけだと思って書 …