php5 兩個調用符號(->) 最後被調用的函數位於哪裡?
$app = JFactory::getApplication();
$app->login();
最後這個login()函數有什麼特點 在哪個類中能找到,應該怎麼找到這個函數的原始碼?
JFactory::getApplication();原始碼大概如下:完全沒有看出login這個函數和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 是抽象類別,本身不可執行個體化
所以必定有類繼承他
因此所有 class XXXXX extends JFactory 都有可能
------解決方案--------------------
JFactory 看名字應該是個工廠
JFactory::getApplication 根據參數返回一個對象指標
self::$application = JApplication::getInstance($id, $config, $prefix);
$app具體屬於哪個類,去JApplication::getInstance這裡找吧
------解決方案--------------------
IDE 工具 CTRL+點擊 會跟蹤到這個方法上...