Trong PHP, nếu một thuộc tính tĩnh được định nghĩa trong lớp cha, nó không thể được ghi đè trong lớp con. Nhưng tôi tự hỏi nếu có bất kỳ cách nào xung quanh điều này.Thừa kế các thành viên tĩnh trong PHP
Tôi đang cố gắng viết một trình bao bọc cho chức năng của người khác (hơi clunky). Hàm được đề cập có thể được áp dụng cho nhiều loại dữ liệu khác nhau nhưng yêu cầu các cờ và tùy chọn khác nhau cho mỗi loại. Nhưng 99% thời gian, mặc định cho mỗi loại sẽ đủ.
Sẽ tốt hơn nếu điều này có thể được thực hiện với kế thừa, mà không cần phải viết các hàm mới mỗi lần. Ví dụ:
class Foo {
public static $default = 'DEFAULT';
public static function doSomething ($param = FALSE) {
$param = ($param === FALSE) ? self::$default : $param;
return $param;
}
}
class Bar extends Foo {
public static $default = 'NEW DEFAULT FOR CHILD CLASS';
}
echo Foo::doSomething() . "\n";
// echoes 'DEFAULT'
echo Bar::doSomething() . "\n";
// echoes 'DEFAULT' not 'NEW DEFAULT FOR CHILD CLASS'
// because it references $default in the parent class :(
Điều này sẽ rất đáng yêu và cảm ơn thông tin. Nhưng than ôi, tôi cần một cái gì đó sẽ chạy trong môi trường sản xuất hiện tại của tôi (5.2.6). CẢM ƠN! – PartialOrder