previousURL の例 (Previous) (Next) ファイルフォーマットnext

View this page in Last updated: Sun, 21 Jun 2009
English | Brazilian Portuguese | Chinese | Dutch | French | German | Hungarian | Japanese | Polish | Russian | Spanish | Turkish

命名規約

グローバル変数および関数

パッケージでグローバル変数を定義する場合は、 変数名の先頭はアンダースコアで始め、 その後にパッケージ名を続けてさらにもうひとつアンダースコアをつけます。 たとえば、PEAR パッケージでは $_PEAR_destructor_object_list という名前のグローバル変数を使用しています。

グローバル関数の名前は "studly caps" 形式 ("bumpy case" あるいは "camel caps" と呼ばれることもあります) で決めます。 さらに、パッケージ名を先頭につけることで パッケージ間での名前の競合を回避します。 (先頭のパッケージ名の部分に続く) 最初の文字は小文字とし、 その後は単語の先頭の文字のみを大文字とします。たとえばこのようになります。

XML_RPC_serializeData()

クラス

クラスには、内容が理解できるような名前を指定するべきです。 略語の使用は可能なかぎり避けます。 クラス名は、常に大文字で始めるべきです。 PEAR クラス階層は、クラス名にも反映され、各階層レベルは、 アンダースコアで区切られます。良いクラス名の例を以下に示します。

Log

Net_Finger

HTML_Upload_Error

クラス変数およびメソッド

クラス変数 (プロパティ) およびメソッドの名前は "studly caps" 形式 ("bumpy case" あるいは "camel caps" と呼ばれることもあります) で決めます。 以下に例を示します (これらは "public" メンバーです)。

$counter

connect()

getData()

buildSomeWidget()

プライベートなクラスメンバ (それが宣言されたクラスの内部からだけの使用を意図したクラスメンバ。 PHP は、プライベート名前空間をまだサポートしていません。)は、 アンダースコア 1 つを前に付けます。例を示します。

$_status

_sort()

_initTree()

Note: 次の内容は PHP5 に適用されます。
プロテクテッドなクラスメンバ(すなわち、それが宣言されたクラス内、 およびそのサブクラス内でだけ使用できるクラスメンバ)には、 前にアンダースコアを付けません。例を示します。

protected $somevar

protected function initTree()

定数

定数は、すべて大文字で記述し、単語の区切りにはアンダースコアを 使用するべきです。使用されるクラス/パッケージを大文字で表した名前を 定数の接頭辞として付加してください。たとえば次のようになります。

DB_DATASOURCENAME

SERVICES_AMAZON_S3_LICENSEKEY

Note: true, false および null は例外で、すべて小文字で記述します。

previousURL の例 (Previous) (Next) ファイルフォーマットnext

Download Documentation Last updated: Sun, 21 Jun 2009
Do you think that something on this page is wrong? Please file a bug report or add a note.
User Notes:
Note by: Carl
Yes, PHP 5.x has truly private methods and properties if they are preceded by the "private" keyword.
Note by: hablutzel1@hotmail.com
I supposed that in php5 private properties are really private. or is it wrong?
Note by: user@example.com
PHP does not yet support truly-enforceable private namespaces

In PHP 5 you have truly-enforceable private namespaces, don't you?