同じ親クラスと 2 つのサブクラスが互いのメソッドを呼び出していることに関連する問題

WBOY
リリース: 2016-06-13 12:26:41
オリジナル
979 人が閲覧しました

同じ親クラスと 2 つのサブクラスが互いのメソッドを呼び出していることに問題がありますか?

<br /><br />include 'model.php';<br />include 'user.php';<br /><br />class caiji extends model{<br /><br /> public function hi($name){<br />   <br />   echo "$name to you say hi \n";<br />   user::say('jack'); //这里调用非静态的类。<br />   user::hello('kate');//这里可以调用静态的没错<br /> }<br /><br />/***************两个类是分开两个文件,用include包含进来的<br /><br />class user extends model{<br /><br /> public static function hello($name){<br />   <br />     echo "$name url ".self::$weburl."\n";	<br /><br />  }<br />	<br />  public function say($name){<br />	echo "$name say hello world~~ \n";<br />  }<br /><br /><br /><br />想请问下:同一个父类,子类之间互相调用对方的方法,非静态类如果使用 类名::方法名  会提示Strict Standards: Non-static method caiji::hi() should not be called statically  这种错误。<br /><br />是不是需要调用先实例化类后 ,才能调用user 类的方法?<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
ログイン後にコピー

-----解決策のアイデア----------------------
はい、非静的メソッドは、

を呼び出す前にインスタンス化する必要があります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート