php5 兩個調用符號(->) 最後被調用的函數座落哪裡

來源:互聯網
上載者:User
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+點擊 會跟蹤到這個方法上...
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.