استفاده از درایورهای کدایگنایتر

مجتبی پاکزاد کدایگنایتر 3.1.9 در حال تکمیل رایگان

درایورها نوع خاصی از لایبرری هستند که یک کلاس والد و احتمالا تعدادی کلاس فرزند دارد.  کلاس‌های فرزند به کلاس‌های والد دسترسی دارند، اما به کلاس‌های هم‌نیا (دارای والد مشابه) خود دسترسی ندارند. درایورها برای لایبرری‌ها در کنترلر شما، سینتکسی به اصطلاح elegant ارائه می‌دهند که مزایای آن تقسیم‌بندی کلاس به کلاس‌های مجزا است.

درایورها در دایرکتوزی system/libraries/ قرار دارند، درایورها دارای یک ساب‌دایرکتوری با نام کلاس لایبرری والد خود هستند. همچنین داخل آن دایرکتوری یک ساب‌دایرکتوری دیگر با نام "drivers" قرار دارد که تمام فایل‌های کلاس فرزند درایور در آن قرار دارند.

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

$this->load->driver('class_name');

در کد بالا، class_name نام کلاس درایوری است که می خواهید آن را فراخوانی کنید. برای مثال، برای لود یک درایور با نام "Some_parent" باید کد بالا را به شکل زیر بنویسید:

$this->load->driver('some_parent');

متدهای این کلاس نیز به صورت زیر می توانند فراخوانی شوند:

$this->some_parent->some_method();

کلاس‌های فرزند یک درایور را، می‌توان به صورت مستقیم از طریق کلاس والد و بدون لود مجددشان فراخوانی کرد:

$this->some_parent->child_one->some_method();
$this->some_parent->child_two->another_method();

درایور خودتان را بسازید

برای ساخت درایور خودتان، پست ساخت درایور را بخوانید.