ホームページ >バックエンド開発 >PHPチュートリアル >php5 の 2 つの呼び出し記号 (->) のうち、最後に呼び出された関数はどこにありますか?

php5 の 2 つの呼び出し記号 (->) のうち、最後に呼び出された関数はどこにありますか?

WBOY
WBOYオリジナル
2016-06-13 12:03:32869ブラウズ

php5 の 2 つの呼び出し記号 (->) のうち、最後に呼び出された関数はどこにありますか?
$app = JFactory::getApplication();
$app->login();

最後の login() 関数の特徴はどのクラスにありますか?この関数のソースコードはどうやって見つけますか?

JFactory::getApplication(); ソース コードはおおよそ次のとおりです。

<br />abstract class JFactory {<br />	public static function getApplication($id = null, $config = array(), $prefix = 'J')<br />	{<br />		if (!self::$application)<br />		{<br />			if (!$id)<br />			{<br />				JError::raiseError(500, 'Application Instantiation Error');<br />			}<br /><br />			self::$application = JApplication::getInstance($id, $config, $prefix);<br />		}<br /><br />		return self::$application;<br />	}<br />}<br />

---- --解決策--------------------
JFactory は抽象クラスであり、インスタンス化できません
したがって、それを継承するクラスにする
すべてのクラス JFactory で可能です。名前はファクトリーにする必要があります
JFactory::getApplication はパラメータに従ってオブジェクト ポインタを返しますself::$application = JApplication::getInstance ($id, $config, $prefix);$app が具体的にどのクラスに属しているかを確認するには、JApplication::getInstance に移動してください


-----解決策--- -----------------

IDE ツールの CTRL クリックにより、このメソッドが追跡されます...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPの基礎(2)次の記事:PHPの基礎(2)