تبدیل اشیاء به آرایه

تبدیل اشیاء به آرایه در PHP

در برنامه‌نویسی PHP، گاهی نیاز داریم یک شیء (Object) را به آرایه تبدیل کنیم. این کار به ویژه هنگام کار با پایگاه داده یا انتقال داده‌ها بین لایه‌های مختلف برنامه بسیار کاربردی است. در این مقاله به روش‌های مختلف این تبدیل می‌پردازیم.

روش‌های اصلی تبدیل

PHP چندین روش برای تبدیل اشیاء به آرایه ارائه می‌دهد:

  1. استفاده از تابع (array): ساده‌ترین روش
  2. تابع get_object_vars(): برای دسترسی به ویژگی‌های عمومی
  3. پیاده‌سازی JsonSerializable: برای کنترل دقیق‌تر فرآیند
روش مزایا معایب
(array) سریع و ساده عدم کنترل روی ویژگی‌های خصوصی
get_object_vars() دسترسی به ویژگی‌های عمومی عدم پشتیبانی از خصوصی/محافظت‌شده

مثال عملی

در این مثال یک شیء ساده را به آرایه تبدیل می‌کنیم:

class User {
    public $name = 'علی';
    private $age = 30;
}

$user = new User();
$array = (array)$user;

نتیجه تبدیل شامل ویژگی‌های عمومی و خصوصی خواهد بود، اما نام ویژگی‌های خصوصی به شکل خاصی تغییر می‌کند. برای اطلاعات بیشتر درباره ایجاد آرایه‌ها در PHP می‌توانید اینجا را چک کنید.

تبدیل پیشرفته با JsonSerializable

برای کنترل دقیق‌تر فرآیند تبدیل، می‌توانیم اینترفیس JsonSerializable را پیاده‌سازی کنیم:

  • انعطاف‌پذیری بیشتر در تعیین فیلدها
  • امکان فیلتر کردن داده‌های حساس
  • قابلیت فرمت‌دهی خاص به خروجی

توجه: هنگام تبدیل اشیاء پیچیده با روابط ارجاعی، ممکن است نیاز به روش‌های خاصی داشته باشید.