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 ] コードを持つ文字
[ _ ] アンダーバー
PHPでは独自の関数、ユーザー定義関数を作成することが可能です。その際、関数名を決める作業があり、命名規則に従って名前を付与しなければなりませんん。関数名は識別子です。識別子についてはこちらをご参照下さい。関数名の最初の1文字目として使用できるのは、「アルファベットの大文字と小文字」、「アンダースコア( _ )」、「ASCIIコードで、( 0x7F )から( 0xFF )までの文字」のいずれかのみとなります。0x7F~0xFF(ASCIIコード)を使用することで、日本語の関数名も付けることが出来ます。ひらがな、カタカナ、漢字などです。アルファベットは大文字小文字が区別されません。2番目以降には、1文字目で使用できる文字に加えて「数字」も使用できます。
関数名の例
1 2 3 4 5 6 7 8 9 | <!-- サンプルコード --> <?php //関数名 function function_name(){ echo 'function_nameが関数名になります。'; } //実行 function_name(); ?> |
結果は
となります。
関数名について
- 関数名には機能が連想できる名前を付ける
関数名はその関数が保有する機能を考え、名前から機能が連想できるように付与しましょう。関数名に限らず、変数名やクラス名など、ネーミング作業はとても大切です。良い名前を付与すれば、それが何をしたいコードであるかも分かりやすくなるはずです。多くのプログラミング言語では、「動詞+目的語」(英語)という形でネーミングするのが基本です。
例:get_user_id_from_database();
また、フレームワーク(Zend Framework や symfony など)やCMS(WordPress や Joomla! など)など使用する場合は、それらの独自の関数が用意されており頻繁に使用することになります。それらと名前が被らないように自分が独自で作成する関数名には固有の名前を付与するなど工夫するのもいいと思います。例えば関数名の先頭に my_ などと付けるようなものです。
実行中の関数名を取得
- マジック定数 __FUNCTION__ で呼び出し
現在実行中の関数名を取得するには、マジック定数の __FUNCTION__ を関数内に記述することで、取得することが出来ます。
1 2 3 4 5 6 7 8 9 10 11 | <?php //関数定義 function call_day(){ //本日の曜日 echo date('l')."<br>\n"; //関数名の呼び出し echo __FUNCTION__ ; } //関数呼び出し call_day(); ?> |
call_day
識別子の命名規則の例
アッパーキャメルケース(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 | <!-- サンプルコード --> <h3>関数名</h3> <?php //関数定義 function functionname(){ echo "functionname や FUNCTIONNAME が関数名になります。<br>\n"; } //実行 functionname(); //実行 大文字小文字区別されない FUNCTIONNAME(); ?> <h3>関数名</h3> <?php //関数定義 function _FUNCTIONNAME(){ echo "_functionname や _FUNCTIONNAMEが関数名になります。<br>\n"; } //実行 _functionname(); //実行 大文字小文字区別されない _FUNCTIONNAME(); ?> |
functionname や FUNCTIONNAME が関数名になります。
functionname や FUNCTIONNAME が関数名になります。
関数名
_functionname や _FUNCTIONNAMEが関数名になります。
_functionname や _FUNCTIONNAMEが関数名になります。
タグ(=記事関連ワード)
日付
最終更新日:2019年09月18日