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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:52:57929ブラウズ

$app = JFactory::getApplication();
$app->login();
最後の login() 関数の特徴はどのクラスにあるのでしょうか?この機能の?

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

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

ディスカッションへの返信 (解決策)

JFactory は抽象クラスであり、単独で使用することはできません インスタンス化

したがって、それを継承するクラスが存在する必要があります

したがって、JFactory を拡張するクラス XXXXX はすべて可能です

JFactory は抽象クラスであり、インスタンス化できません。 $app->login();???終了?。

JFactory という名前はファクトリーである必要があります

JFactory::getApplication はパラメータに従ってオブジェクト ポインタを返します

self::$application = JApplication::getInstance($id, $config, $prefix);
どのクラスが $app を実行しますかJApplication::getInstance はここにあります


IDE ツール CTRL+クリックでこのメソッドが追跡されます...

JFactory は抽象的でインスタンス化できません。 $app->login();???終了?。

何も問題はありません。これは他の人が書いたコードです。質問するために使用しました...


JFactory 名前はファクトリーである必要があります

JFactory::getApplication はパラメーターに従ってオブジェクト ポインターを返します

self: :$application = JApplication::getInstance( $id, $config, $prefix);
$app がどのクラスに属しているかを確認するには、JApplication::getInstance にアクセスして見つけてください

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