クラスのメンバーにはプロパティとメソッドがある。 キーワードを指定することで各メンバーへのアクセス権を設定できる。 キーワードはpublic,private,protectedの3種類。定義時にキーワードを宣言する。
あるクラスのメソッドを呼び出したいとき、 メソッドをpublicにしておけば、インスタンスからアクセスすることができる。 privateだと直接アクセスできない。(そのクラス内からしかアクセスできない)
<?php class MyClass { public function PublicFunc() { echo "useful function." , PHP_EOL; } private function PrivateFunc() { echo "another useful function." , PHP_EOL; } } $obj = new Myclass(); $obj->PublicFunc(); //呼び出せる $obj->PrivateFunc(); //Fatal error
ただ、安易にpublicにするのは危険な気がする。どういう危険があるのか、どういうときならpublicにしてもいいのか、わかったら書こう。
<追記>
単にメソッドを使いまわしたいな、というときは、staticを宣言したほうがインスタンスを作らずに済むので良い。
<?php class MyUtil { public static function StaticFunc() { echo "useful function." , PHP_EOL; } } MyUtil::StaticFunc(); //=> "useful function."