PHPの変数の支配的な命名規則は何ですか:キャメルケースまたはアンダースコアですか?[閉まっている]


51

コンセンサスは、開発対象のプラットフォームの規則に従う必要があるということです。見る:

アンダースコアまたはラクダケース?

命名規則:camelCase対underscore_case?

ただし、PHPはメソッドや関数(mysqli::set_local_infile_default、 など)についても、内部的には規則に厳密に従っていないようです(そこに驚くことはありませんPDOStatement::debugDumpParams)。ただし、関数名ではアンダースコアが支配的であるようです。

しかし、私が見つけることができなかったのはこれでした:PHPの変数の支配的な命名規則は何ですか?


1つを選んでそれを使い続けます。あなたがそれに固執する限り、どれを選ぶかは問題ではありません。タブとスペースで同じです。
ヤニス

2
リンクされた議論で一般的な意見に強く同意します。つまり、条約に従うべきです。そのため、質問の範囲をPHPに限定しました。しかし、PHPに支配的な命名規則あるかどうか疑問に思っています。
sbichenko

5
そうではありません。命名規則は、PHPを非常にすばらしいものにする小さな矛盾の1つです。PSRは私が従う価値があると思う1つの努力ですが、...それは完全にあなた次第です。関連する質問:PHPの標準スタイルガイドはありますか?Bootstrap 3がcamelCaseをダッシュ​​に変更する理由-読みやすいですか?
ヤニス

この質問はあなたを助けるかもしれない:programmers.stackexchange.com/questions/149303/...
プログラマ

第一リンクは死んでいるが、ここアーカイブです:web.archive.org/web/20130417105957/http://stackoverflow.com/...
ドミトリ・ザイツェフ

回答:


50

PHPには明確な命名規則はなく、フレームワークによって異なります。

フレームワークで使用されているものを使用するか、独自の命名規則を作成します。

関数名とクラスメソッドのための少なくとも、そこに考慮すべき一つのことですが、いくつかのフレームワークは、それを捨てる:PHPは、その場合のケース鈍感であるので、aTonalFunction()atonalFunction()同じ機能の両方に呼び出しです。


1
methondの命名の議論に反することはありませんが、それは絶対に慣習ではありません。Zend Framework 2Doctrine 2Symfony 2のような最新のフレームワークとライブラリはすべて、メソッド名にcamelCaseを使用します。
ルドルフゴッテスハイム

@RudolphGottesheim良い点。それに応じて回答を編集しました。
残余

1
面白い。私がここに来たのは、ワードプレスのコーディング規約が不当であることがわかったからです。今では、少なくとも彼らはそれが不公平であることを意味していることがわかりました
カービー

14

PHPで10年以上コーディングを行っているため、アンダースコアからcamelCaseへの変化が見られます。特に、ZendやSymfonyのような大きなフレームワークは、アンダースコアを禁止しない場合でもcamelCase上に構築されますが、コア機能はすべてcamelCaseです。

古いTypo3ブランチ(Typo3 NeoもcamelCaseに変更されました)のような古いシステムで多くのアンダースコアソリューションを見ることができます。

しかし、すべての人が使用している厳密なルールは絶対にありません。これは過去数年間で見たものです。


1

これは、プログラマー/開発者、および彼らが取り組んでいるフレームワークまたはオープンソースに依存します。たとえば、Yiiフレームワークでは、ラクダケースを使用することをお勧めしますが、Codeigniterフレームワークでは、ほとんどの人が変数名にアンダースコアを付けます。確かなことの1つは、使用するフレームワークに関係なく、変数名は理解可能で識別可能でなければならないということです。


0

個人的には、これはどちらの方法でも可能です。CamelCaseの書き方を好むプログラマーもいれば、アンダースコアを好むプログラマーもいます...ですから、このような質問をすることは、各プログラマーがそれぞれ異なる意見を持っているので無意味です...個人的に、私は状況に応じて両方を行う習慣があります。 ..

状況1:

プログラミングチームに参加し、進行中のプロジェクトに参加した場合、サンプル変数が設定されていることがわかります。

$theString = "This is a camelcase example";

ただし、次のスタイルをお勧めします。

$the_string = "This is not a camelcase example"; 

このような状況では、ラクダケースを使用することをお勧めします。

状況2:

プロジェクトのソロを開始したい。

この種の場合...それは単にあなたが快適に感じるものになります、以下の点で悪い習慣に留意してください:

$theString = "This is a sample String"; 
$the_string = "This is another sample string within the same project"; 

これにより、予期しない出力が簡単に発生する可能性があります。


9
参考までに、あなたが言及しているのはパスカルケースです-キャメルケースは小文字で始まります。
ジョンワイズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.