late-static-binding

    -1熱度

    1回答

    基類:從它 abstract class Base { abstract public function getLenth(); abstract public function getName(); } 兩類: final class ObjA extends Base { public function getLenth() { r

    0熱度

    2回答

    我在PHP中遇到了一些似乎很奇怪的東西。我試圖從一個非靜態方法訪問一個靜態屬性。我需要使用static關鍵字來訪問此屬性,因爲它可以在每個子類中具有不同的值。 但是,不是從預期的類中訪問屬性,而是從調用類訪問屬性。這對我來說似乎是一個錯誤,但如果不是,我想知道是否有人可以向我解釋這種行爲,並解釋我如何訪問這個靜態屬性。 在這裏,我的期望是,靜態屬性$爲什麼會從類B.採取我困惑,爲什麼反而會從A類採

    0熱度

    1回答

    我正在使用Laravel及其驗證器。 我在我的控制器下面的代碼: class ResellerController extends BaseController{ public function add() { //some code before $userValidator = new App\Services\Validators\UserCreate

    0熱度

    1回答

    我在做一些在PHP的oop,當我只是想知道它是否很好做到這一點? 當我使用$this->functionName(),它工作得很好,我甚至具有自我嘗試::和靜::和他們的工作如我所料: 自::將使用父方法實現,靜態將使用最後執行的方法如果被覆蓋(後期靜態綁定)。但問題在於它在非靜態函數上使用。這個好嗎?它有什麼缺點?爲什麼我不應該使用它?

    2熱度

    3回答

    我有一個靜態函數被調用,這是一個奇怪的錯誤。下面是PHP代碼的示例: class foo { public $stat; public function __construct() { $this->stat = stat::isValid('two'); } } class stat { protected static $invalid

    2熱度

    1回答

    我正在尋找SELF和STATIC之間的中間地帶,沒有出現Late Static Binding的意外行爲。 下面是我的代碼,與實際結果和預期的結果: <?php class A { public function get_self() { return new self(); } public function get_static() { return new s

    0熱度

    1回答

    我有許多類擴展了一個抽象的DatabaseRecord類。實質上,DatabaseRecord類處理一些常用的功能,所有子類用於與數據庫進行交互(例如,通過id進行搜索,更新等)。 現在,我想不必每次都不斷地訪問數據庫來獲取記錄,例如,某個用戶在頁面加載時被引用。我有一個適度巧妙的想法,這樣我可以做以下事情,因爲PHP有​​遲到的靜態綁定。 abstract class DatabaseRecor

    3熱度

    1回答

    在this StackOverflow question我瞭解到self::不是遺傳感知,其中static::(在PHP中)。當涉及到在類中定義一堆常量時,如果要覆蓋子類中的那些常量以更改默認「行爲」,則有必要使用static::,以便引用常量,榮譽的父類方法「覆蓋」。 在2歲,因爲我問原來的問題,我一直在使用static::廣泛,給我很少用self::因爲self::點似乎限制使用常量類的可擴展

    2熱度

    1回答

    我試圖在父類上使用get_called_class(),並檢索父類名稱而不是子類名稱。在這種情況下我不能使用__CLASS__,因爲我在動態環境中需要它,因爲這些方法實際上是使用Closure::bind和__call插入到現有類中的。 簡單的例子: <?php class Test { function doSomething() { echo(get_cal

    3熱度

    1回答

    說我有這個類 class Grandpa { public function call(){ // Well, I want to know who calls me here } } class Father extends Grandpa { } class GrandsonOne extends Father { } class Gra