آموزش Codeigniter - جلسه هفتم: کتابخانه ها
یکی از مهمترین اجزای فریمورک Codeigniter کتابخانههای آن است. این فریمورک شامل تعداد زیادی کتابخانهی از پیش آماده بوده که به صورت غیر مستقیم میتواند سرعت توسعه و ساخت یک اپلیکیشن تحت وب را افزایش دهد. در ادامه با زومیت همراه باشید تا شما را با کتابخانهها در فریمورک مورد بحث آشنا کنیم.
همانطور که در جلسات پیشین گفته بودیم، کتابخانههای سیستمی فریمورک در مسیر system/libraries قرار گرفتهاند. برای استفاده از هر کدام از کتابخانههای موجود در این مسیر باید ابتدا آنها را بارگذاری کنیم. بدین منظور میتوان از کدی شبیه به کد زیر استفاده کرد:
$this->load->library('class name');
کد بالا به جای عبارت class name باید نام کتابخانهی مورد نظری که قصد بارگذاریاش را داریم، وارد کنیم. اگر بخواهیم چندین کتابخانه را به صورت همزمان با یک دستور بارگذاری کنیم، میتوان این کار را با ارسال آرگومان به تابع ()library انجام داد. به عنوان مثال با استفاده از کد زیر دو کتابخانهی email و table را به صورت همزمان و با یک خط کد بارگذاری کردهایم.
$this->load->library(array('email', 'table'));
کلاسهای کتابخانه
هر کدام از کلاسهایی که در مسیر system/libraries قرار گرفتهاند، شمال توابع مختلفی هستند که کار توسعه اپلیکیشنهای تحت وب را برای ما بسیار آسان و ساده میکنند. در جدول زیر لیستی از پر استفادهترین کتابخانههای فریمورک Codeigniter را به همراه توضیحات آنها مشاهده میکنید.
ساختن کتابخانهها
فریمورک Codeigniter شامل کتابخانههای بسیار قدرتمندی است که میتوانید آنها را در مسیر system/libraries مشاهده کنید. اما این فریمورک فقط به کتابخانههای پیشفرض محدود نشده و شما میتوانید کتابخانههای مورد نظر خود را نیز ایجاد کرده و به آن اضافه کنید. کتابخانههای ایجاد شده توسط شما باید در مسیر application/libraries قرار بگیرند. برای ایجاد کتابخانهی جدید میتوانید از سه روش اقدام کنید.
- ایجاد یک کتابخانه کاملا جدید
- ارثبری از کتابخانههای پیشفرض فریمورک
- جایگزینی یک کتابخانهی جدید با کتابخانههای پیشفرض
ایجاد یک کتابخانهی کاملا جدید
- هنگام ساختن یک کتابخانهی جدید باید نکات زیر را در نظر داشته باشید:
- نام فایل کلاس شما باید با یک حرف انگلیسی بزرگ شروع شود. مثال: Myzoomit.php
- نام خود کلاس نیز باید با یک حرف بزرگ انگلیسی شروع شود. مثال: Myzoomit
- نام کلاس و نام فایل آن باید با یکدیگر یکسان باشند.
به عنوان مثال ما یک کتابخانه به نام Myzoomit.php در زیر ایجاد کردهایم.
Myzoomit.php
php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Myzoomit { public function some_function() { } }/* End of file Myzoomit.php */
بارگذاری کلاس ایجاد شده
برای بارگذاری کتابخانههای ایجاد شدهی خود میتوانید از کدی مثل کد زیر استفاده کنید.
$this->load->library(‘myzoomit’);
نام myzoomit در واقع نام کتابخانهی شما خواهد بود و باید آن را با حروف کوچک بنویسید. فرقی نمیکند که در نام فایل و نام خود کتابخانهی ایجاد شده کدام حروف را بزرگ نوشتهاید و در هنگام بارگذاری این کتابحانههای باید تمام حروف نام انها را با حروف کوچک تایپ کنید. همچنین پسوند php. را نیز در انتهای نام کلاس نمینویسیم. پس از بارگذاری کلاس مورد نظر میتوانید مثل کد به توابع داخلی آن کلاس دسترسی داشته باشید.
$this->myzoomit->some_function();
ارثبری از کتابخانههای پیشفرض فریمورک
گاهی نیاز پیدا میکنید تا قابلیتهای مورد نظر خود را به کتابخانههایی که به صورت پیشفرض در فریمورک Codeigniter وجود دارند اضافه کنید. بدین منظور میتوانید کتابخانهی جدیدی ایجاد کرده و از کلاس مورد نظر خود ارثبری کنید تا علاوه بر متدهای پیشفرض آن کلاس، بتوانید متدهای جدیدی را برای کتابخانهی مورد نظر تعریف کنید. بدین منظور باید در انتهای نام کلاس جدید خود از یکی از کلاسهای پیشفرض فریمورک ارثبری کنید.
- به مثال زیر توجه کنید. ما در اینجا قصد داریم کتابخانهی جدیدی ایجاد کنیم که از کتابخانهی Email ارثبری میکند.
Class MY_Email extends CI_Email { }
در مثال بالا کلاس MY_Email از کلاس ایمیل پیشفرض فریمورک مورد بحث یعنی CI_Email ارثبری کرده است. این کتابخانه را میتوان مثل سایر کتابخانهها در فریمورک Codeigniter بارگذاری کرد. نام فایل مثال بالا نیز My_Email.php خواهد بود.
جایگزینی کتابخانهی جدید با کتابخانهی پیشفرض
گاهی اوقات نیز شرایطی پیش میآید که نیاز پیدا میکنید تا از کتابخانههای پیشفرض به روشی غیر از روش اصلی ارائه شده توسط فریمورک بهره ببرید و در واقع باید روش مخصوص خود را جایگزین کنید. این کار با جایگزینی کتابخانهی جدید با کتابخانههای پیشفرض امکانپذیر خواهد بود. بدین منظور باید کلاس جدیدی ایجاد کرده و نام آن را دقیقا مشابه نام کتابخانهی پیشفرض مورد نظر تعیین کنید. به عنوان مثال اگر قصد دارید کلاس جدیدی را با کلاس Email جایگزین کنید، در این شرایط باید از کد زیر استفاده کنید. سپس باید این کد را در فایلی به نام Email.php ذخیره کرده و نام کلاس را نیز CI_Email تعیین کنید.
Email.php
Class CI_Email { }
در این جلسه شما به طور کامل با کتابخانههای فریمورک Codeigniter آشنا شدید. در جلسات آینده با سایر اجزای مهم این فریمورک به طور کامل آشنا خواهید شد.
لطفا نظرات و سوالات خود را نیز در بخش دیدگاهها با زومیت و سایر کاربران به اشتراک بگذارید.
نظرات