UPDATE:2019年09月18日
PHP の クラス名
- クラス名では 大文字小文字は区別されない
- クラス名 1 文字目
[ a~z ](大文字小文字区別されない) or
[ A~Z ](大文字小文字区別されない) or
[ Ox7F~0xFF ](ASCIIコード) or
[ _ ](アンダーバー) - クラス名 2 文字目以降
1 文字目+[ 0~9 ]数字が追加
クラス名の命名規則
- クラス名では大文字小文字は区別されない
- 1文字目使用できる文字
- 2文字目以降
[ A~Z ]
[ Ox7F~0xFF ] コードを持つ文字
[ _ ] アンダーバー
クラス名は識別子です。識別子についてはこちらをご参照下さい。クラス名の最初の1文字目として使用できるのは、「アルファベットの大文字と小文字」、「アンダースコア( _ )」、「ASCIIコードで、( 0x7F )から( 0xFF )までの文字」のいずれかのみとなります。0x7F~0xFF(ASCIIコード)を使用することで、日本語の変数名も付けることが出来ます。ひらがな、カタカナ、漢字などです。アルファベットは大文字小文字が区別されません。2番目以降には、1文字目で使用できる文字に加えて「数字」も使用できます。
※stdClassというクラス名はシステム予約のため使用できません。
クラス名の例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!-- サンプルコード --> <?php //クラス作成 クラス名を指定 class classname{ function print_identifier(){//print_identifier()を定義 echo "classname や CLASSNAMEがクラス名になります。<br>\n"; } } //クラス名でクラスを呼び出す 変数に格納 $className = new classname(); //$classNameのprint_identifier()を参照するという意味 $className->print_identifier(); //CLASSNAMEでも呼び出し可能 $className = new CLASSNAME(); $className->print_identifier(); ?> |
結果は
classname や CLASSNAMEがクラス名になります。
となります。
クラス名について
- クラス名は分かりやすい名前を付ける
クラスとはオブジェクトの雛形となるものです。クラスはデータ(プロパティ)と処理(メソッド)が組み合わさったものです。クラス名はそのクラスが保有する機能を考えて付与するようにしましょう。
PHP では クラス名 の命名規則として アッパーキャメルケース が採用されています。アッパーキャメルケース は、各単語の頭文字(先頭文字)を大文字で記述します。
1 2 3 | ErrorException LengthException SplObjectStorage |
また、フレームワーク(Zend Framework や symfony など)やCMS(WordPress や Joomla! など)など使用する場合は、それらのソフトウェアで独自のクラスが用意されており頻繁に使用することになります。それらと名前が被らないように自分が独自で作成するクラス名には固有の名前を付与するなど工夫するのもいいと思います。例えばクラス名の先頭に Myc などと付けるようなものです。
識別子の命名規則の例
アッパーキャメルケース(Upper Camel Case)(パスカルケース)
各単語の頭文字(先頭文字)を大文字で記述します。大文字と小文字の凹凸がラクダのコブのように見えることからキャメルケースと呼ばれます。Java、Python、PHP などの言語で クラス名 等で採用されています。
1 2 3 | VarVarVar FunctionFunctionFunction ClassClassClass |
ローワーキャメルケース(Lower Camel Case)
最初の単語の頭文字は小文字で記述し、以降の各単語の頭文字(先頭文字)を大文字で記述します。大文字と小文字の凹凸がラクダのコブのように見えることからキャメルケースと呼ばれます。Java、C#、Swift、JavaScript などの言語で、変数名や関数名 等で採用されています。
1 2 3 | varVarVar functionFunctionFunction classClassClass |
スネークケース(snake case)(アンダースコア記法)
すべての単語を小文字で記述し、各単語の間にアンダースコアを挿入して繋ぎ合わせます。データベースのテーブル名やフィールド名などで使用されます。WordPressでは変数名や関数名の命名規則として使用しており、PHPのフレームワークcodeigniterでも、クラス名、メソッド名、変数名などで採用されています。
c、C++、Python、PHP などの言語で、変数名や関数名 等で利用されています。
1 2 3 | var_var_var function_function_function class_class_class |
コンスタントケース(constant case)
すべての単語を大文字で記述し、各単語の間に「 _ (アンダースコア)」を挿入して繋ぎ合わせます。定数名などで使用されます。多くの言語で定数名として採用されています。
1 2 3 | VAR_VAR_VAR FUNCTION_FUNCTION_FUNCTION CLASS_CLASS_CLASS |
ケバブケース(kebab case)
各単語の間に「 – (ハイフン)」を挿入して繋ぎ合わせます。HTML や CSS で採用されています。
1 2 3 | var-var-var function-function-function class-class-class |
システムハンガリアン記法
一番最初にデータ型の頭文字を小文字で挿入し、以降をアッパーキャメルケース(各単語の頭文字を大文字で記述)で記述します。例えば数値であれば integer の i を頭文字に挿入します。文字列であれば string の s 、浮動小数点であれば float の f となります。
1 2 3 | iScore sName fRoot2 |
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <!-- サンプルコード --> <h3>クラス名</h3> <?php //クラス作成 クラス名を指定 class classname{ function print_identifier(){//print_identifier()を定義 echo "classname や CLASSNAMEがクラス名になります。<br>\n"; } } //クラス名でクラスを呼び出す 変数に格納 $className = new classname(); //$classNameのprint_identifier()を参照するという意味 $className->print_identifier(); //CLASSNAMEでも呼び出し可能 $className = new CLASSNAME(); $className->print_identifier(); ?> <h3>クラス名</h3> <?php //クラス作成 クラス名を指定 class _CLASSNAME{ function print_identifier(){//print_identifier()を定義 echo "_CLASSNAME や _classname がクラス名になります。<br>\n"; } } //クラス名でクラスを呼び出す 変数に格納 $className = new _CLASSNAME(); //$classNameのprint_identifier()を参照するという意味 $className->print_identifier(); //_classnameでも呼び出し可能 $className = new _classname(); $className->print_identifier(); ?> |
classname や CLASSNAMEがクラス名になります。
classname や CLASSNAMEがクラス名になります。
クラス名
_CLASSNAME や _classname がクラス名になります。
_CLASSNAME や _classname がクラス名になります。
タグ(=記事関連ワード)
日付
最終更新日:2019年09月18日