Table->init()


مقداردهی

توضیحات

زمانی که کلاس خود را میسازید، این تابع را تعریف کنید تا هنگام لود شدن یک سطر عملیات های خود را انجام دهید

ترکیب این تابع با تابع getData می تواند بسیار کمک کننده باشد


ورودی

شکل تابع:

class Table { public function init(); }


خروجی

این تابع خروجی ندارد

مثال

مثال #1:

class Posts extends Table { public $create_at; // Table column public $difTime; public static function defaults() { return [ 'create_at' => time() ]; } public function init() { $this->difTime = time() - $this->create_at; } }


مثال #2:

class CustomJson extends Table { public $json; // Type in sql: TEXT public function init() { $this->json = json_decode($this->json, true); } public function getData() { return array_replace(parent::getData(), [ 'json' => json_encode($this->json) ]); } } $js = CustomJson::insert([ 'json' => '' ]); // در زمان اینسرت کار نمی کند $js->json = [1, ['a'=>'b'], [[[9,9]]]]; $js->save(); $js = CustomJson::get(5); print_r($js->json);

   قبلی حذف این سطر
گرفتن دیتا بصورت آرایه بعدی