Memulakan Pembolehubah Statik dalam PHP
Apabila memulakan pembolehubah statik, anda mungkin menghadapi ralat sintaks seperti yang ditunjukkan dalam coretan kod yang diberikan. Ini kerana PHP tidak boleh menghuraikan ungkapan kompleks dalam pemula pembolehubah.
Kaedah Permulaan Alternatif
Untuk menyelesaikan isu ini, pertimbangkan untuk menggunakan kaedah alternatif berikut:
class Registration { static $dates; } Registration::$dates = array( 'start' => mktime(0, 0, 0, 7, 30, 2009), 'end' => mktime(0, 0, 0, 8, 2, 2009), 'close' => mktime(23, 59, 59, 7, 20, 2009), 'early' => mktime(0, 0, 0, 3, 19, 2009), );
class Registration { private static $dates; static function init() { self::$dates = array( 'start' => mktime(0, 0, 0, 7, 30, 2009), 'end' => mktime(0, 0, 0, 8, 2, 2009), 'close' => mktime(23, 59, 59, 7, 20, 2009), 'early' => mktime(0, 0, 0, 3, 19, 2009), ); } // Call the init function to initialize the variable public function __construct() { static::init(); } }
Sokongan PHP 5.6
PHP 5.6 memperkenalkan sokongan terhad untuk ungkapan bukan remeh dalam pemula pembolehubah statik. Walau bagaimanapun, adalah disyorkan untuk menggunakan kaedah yang disebutkan di atas untuk kejelasan dan keserasian dengan versi PHP yang lebih awal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memulakan Pembolehubah Statik dengan Betul dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!