PHPでは、クラス内でメソッドを宣言することの違いは何ですか
public function
VS function
例えば:
public function contact()
{
$data['header'] = "Contact";
$this->load->view('admin/admin_contact', $data);
}
VS
function contact()
{
$data['header'] = "Contact";
$this->load->view('admin/admin_contact', $data);
}
public functionまたはfunctionを使用する方が良いのでしょうか?その理由は?
明示的な可視性キーワードで宣言されたメソッドがベストプラクティスです。見た目も肌触りも良く、人を混乱させません。
PHP.net によると
クラスメソッドは、public、private、またはprotectedとして定義できます。 明示的な可視性キーワードなしで宣言されたメソッドは、publicとして定義されます。
ベストプラクティスとして、可視性キーワードを使用することをお勧めします(より高いバージョンのPHPを使用する場合はesp)。 (今のような)混乱を防ぎ、コーディングの標準的な実践を促進します。
これら2つの間に違いはありません。どちらも同じです。 codeigniterではどちらも同じ意味を持ち、関数名の前に '_'を付けない限り、標準のURIタグを使用して呼び出すことができます_fname()
は呼び出されません
それらは同じものです。可視性メソッド/関数を指定しない場合、public
として宣言されます。
明示的な可視性キーワードなしで宣言されたメソッドはパブリックとして定義されています
ドキュメントはこちら から
ベストプラクティスが本当に必要な場合は、常にpublicを使用します。しかし、codeigniterフレームワークの場合、それをパブリックに宣言するかどうかにかかわらず、それはまとまりません。コントローラーをプライベートにしたい場合は、プライベートを使用しないでください。ただし、コントローラー名の前にアンダースコア(_)を使用すると、コントローラーが表示されなくなります。