شخصی سازی دیتای کاربر


شخصی سازی دیتای کاربر

شخصی سازی

برای اینکه شخصی سازی کنید، باید کلاس UserRow را خودتان بسازید! در صورتی که قبل از Atom::start این کلاس را نساخته باشید، خودکار ساخته می شود

توجه کنید که ساخت کلاس UserRow با ارث بری از UserRowBase باعث می شود که ابزار های ام ام بی را هم در دست داشته باشید و کار شما آسان شود

class UserRow extends UserRowBase { public function init2() { } public function getData2() { } }

متغیر جدید

برای اینکه ستون جدیدی را معرفی کنید، کافیست که متغیر آن را بصورت public و با نام دقیق ستون، در کلاس قرار دهید

/** * توضیحات دلخواه * * @var string */ public $col;

توجه کنید که با وارد نکردن این بخش همچنان ام ام بی متغیر را معرفی می کند


شخصی سازی متغیر

برای اینکه متغیری را شخصی سازی کنید و روی آن عملیات انجام دهید، می توانید از دو تابع init2 و getData2 استفاده کنید:

public function init2() { } public function getData2() { }

تابع init2 زمانی که متغیر ها تعریف می شوند صدا زده می شود. می توانید برای عملیات های خود استفاده کنید

به عنوان مثال می خواهیم $col بصورت جیسون باشد و بعد از تعریف دیکد شود:

public function init2() { $this->col = json_decode($this->col, true); }

تابع getData2 در زمان ذخیره سازی صدا زده می شود و از ما نام ستون ها و مقدار های آن ها را میخواهد

این مقدار ها ابتدا توسط ام ام بی تعریف می شوند و از متغیر ها گرفته می شوند! اما اگر قصد ویرایش آنها را دارید می توانید از این متد استفاده کنید

به عنوان مثال می خواهیم $col بصورت جیسون باشد و در زمان ذخیره سازی انکد شود:

public function getData2() { return [ 'col' => json_encode($this->col) ]; }

نتیجه

در نهایت به عنوان نمونه داریم:

class UserRow extends UserRowBase { /** * توضیحات دلخواه * * @var string */ public $col; public function init2() { $this->col = json_decode($this->col, true); } public function getData2() { return [ 'col' => json_encode($this->col) ]; } // تابع دلخواه و شخصی public function getCol() { return $this->col; } }
   قبلی ذخیره تغییرات ردیف