- چهارشنبه 29 مهر 1405 ساعت 11:00
- 3.1.9
- کامل شده
- منقضی شده
Loader Class یکی از اجزای اصلی CodeIgniter است و بارگذاری Model، View، Library، Helper، Driver، فایل زبان، تنظیمات و فایلهای دیگر را مدیریت میکند. بسیاری از قابلیتهای فریمورک از طریق همین Loader در اختیار Controller قرار میگیرند.
ساختار و API اصلی
متد view() قالب را رندر میکند، model() مدل را بارگذاری میکند، library() کلاس کتابخانه را میسازد، helper() توابع کمکی را در دسترس قرار میدهد، database() اتصال دیتابیس را بارگذاری میکند و config() فایل تنظیمات را میخواند. گزینه سوم در بعضی متدها برای تعیین نام نمونه یا مقداردهی اولیه استفاده میشود.
نمونه استفاده
$this->load->model('Product_model', 'products');
$this->load->helper(array('url', 'form'));
$this->load->library('form_validation');
$data['products'] = $this->products->all();
$this->load->view('products/index', $data);نکته مهم
بارگذاری مکرر یک Library بدون نیاز، کد را پیچیده میکند. برای منابعی که در تمام درخواستها نیاز هستند از Autoload استفاده کنید و برای بقیه، بارگذاری را نزدیک محل استفاده انجام دهید.
مطالعه مرتبط
برای ادامه مطالعه، MVC، کوئری، ترنزکشن را ببینید.
متدهای Loader
| متد یا مفهوم | کاربرد |
|---|---|
view() | بارگذاری View. |
model() | بارگذاری Model. |
library() | ساخت و بارگذاری Library. |
helper() | بارگذاری توابع Helper. |
driver() | بارگذاری Driver. |
config() و language() | بارگذاری تنظیمات و فایل زبان. |
vars() و file() | افزودن متغیر یا بارگذاری فایل. |
نحوه استفاده و عیبیابی
در یک Controller ابتدا Library را با Loader بارگذاری کنید، سپس تنظیمات محیطی را به آن بدهید و عملیات را اجرا کنید. نتیجه را از مسیر مشخص دریافت کنید و در صورت شکست، پیام خطا را در Log ثبت کنید. اگر Library به Driver خارجی وابسته است، وجود افزونه PHP یا برنامه موردنیاز را روی سرور بررسی کنید.
در محیط توسعه، مسیر موفق و مسیر خطا را جداگانه آزمایش کنید. ورودی خالی، مقدار نامعتبر، فایل بزرگ، Timeout سرویس خارجی و نبود مجوز نوشتن از سناریوهایی هستند که باید بررسی شوند. منابعی مانند اتصال شبکه و فایلهای موقت را پس از پایان عملیات آزاد کنید.
در بازبینی کد، ترتیب و نتیجه متدهای view()، model()، library()، helper() را بررسی کنید. نام متد بهتنهایی تضمین نمیکند ورودی معتبر یا خروجی امن باشد، بنابراین رفتار هر متد را با تست و مستندات همان نسخه کنترل کنید.