簡體   English   中英

PHP自動加載擴展類

[英]PHP Autoloading Extended Classes

基於對這個問題的回答,我希望我的代碼能夠正常工作,但是由於某種原因卻無法正常工作。 我有一個簡單的類,可以從我的類庫中擴展一個類。

_custom.php

$custom = new MyClass();
class MyClass extends MyAbstractClass{

  public function __construct(){
      parent::__construct();
  }

}

不幸的是,我得到了這個致命錯誤:

致命錯誤 :在...中找不到類“ MyClass”

但是,如果我刪除了extends MyAbstractClass則錯誤消失了。 似乎問題在於,當嘗試擴展該類時,它不會嘗試加載MyAbstactClass ,這將導致根本找不到MyClass

有什么想法或建議嗎?

PHP是一種解釋型語言,這意味着什么是PHP,可定義為一個語句之前解析的代碼。

class MyClass extends MyAbstractClass{

  public function __construct(){
      parent::__construct(); #you are forcing a construct call, it is not required if the parent constructor has no args.
  }

}

$custom = new MyClass();

對於類,您可以通過使用自動加載器來防止此行為,當調用對象且未定義對象時,它將嘗試通過給定的代碼注入並解析該類。

您可以定義魔術函數__autoload(),但首選spl_autoload_register() ,因為它更具動態性,而不是__autoload()函數的常量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM