بخش هفتم آموزش Codeigniter

بخش هفتم آموزش Codeigniter – کتابخانه ها

بخش هفتم آموزش Codeigniter – کتابخانه ها

در این جلسه‌ از سری آموزش Codeigniter قصد داریم تا در مورد کتابخانه‌های این فریم‌ورک بحث کنیم.

یکی از مهم‌ترین اجزای فریم‌ورک Codeigniter کتابخانه‌های آن است. این فریم‌ورک شامل تعداد زیادی کتابخانه‌ی از پیش آماده بوده که به صورت غیر مستقیم می‌تواند سرعت توسعه و ساخت یک اپلیکیشن تحت وب را افزایش دهد. در ادامه با ما همراه باشید تا شما را با کتابخانه‌ها در فریم‌ورک مورد بحث آشنا کنیم.

همانطور که در جلسات پیشین آموزش Codeigniter گفته بودیم، کتابخانه‌های سیستمی فریم‌ورک در مسیر system/libraries قرار گرفته‌اند. برای استفاده از هر کدام از کتابخانه‌های موجود در این مسیر باید ابتدا آن‌ها را بارگذاری کنیم. بدین منظور می‌توان از کدی شبیه به کد زیر استفاده کرد:

$this->load->library('class name');

کد بالا به جای عبارت class name باید نام کتابخانه‌ی مورد نظری که قصد بارگذاری‌اش را داریم، وارد کنیم. اگر بخواهیم چندین کتابخانه را به صورت همزمان با یک دستور بارگذاری کنیم، می‌توان این کار را با ارسال آرگومان به تابع ()library انجام داد. به عنوان مثال با استفاده از کد زیر دو کتابخانه‌ی email و table را به صورت همزمان و با یک خط کد بارگذاری کرده‌ایم.

$this->load->library(array('email', 'table'));

 

کلاس‌های کتابخانه

هر کدام از کلاس‌هایی که در مسیر system/libraries قرار گرفته‌اند، شمال توابع مختلفی هستند که کار توسعه اپلیکیشن‌های تحت وب را برای ما بسیار آسان و ساده می‌کنند. در جدول زیر لیستی از پر استفاده‌ترین کتابخانه‌های فریم‌ورک Codeigniter را به همراه توضیحات آن‌ها مشاهده می‌کنید.

Benchmarking Class-1

کلاس بنچمارکینگ همیشه در حال فعالیت بوده و فاصله‌ی زمانی بین هر دو زمان مورد نظری که به آن داده شود را محاسبه می‌کند.

Caching Class-2

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

Calendaring Class-3

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

Shopping Cart Class-4

این کلاس همانطور که از نامش پیداست به منظور افزودن یا حذف آیتم به سبد خرید آنلاین به کار گرفته می‌شود. آیتم‌ها در Session ها ذخیره شده و تا زمانی که کاربر وب‌سایت شما را مرور می‌کند به صورت فعال باقی خواهند ماند.

Config Class-5

تنظیمات مربوط به پیکربندی را می‌توان با استفاده از این کلاس دریافت کرد. این کلاس نیز به صورت خودکار فعال است.

Email Class-6

این کلاس توابع مختلفی را برای کار با ایمیل در اختیار شما قرار می‌دهد که از جمله می‌توان به ارسال یا پاسخ به ایمیل‌ها اشاره کرد.

Encryption Class-7

این کلاس دو روش مختلف را به منظور رمزنگاری داده‌ها در اختیار شما قرار می‌دهد.

File Uploading Class-8

این کلاس توابع لازم برای آپلود فایل را در اختیار توسعه‌دهندگان قرار می‌دهد. شما می‌توانید تنظیمات مختلفی را برای این کلاس تعریف کنید که از جمله این تنظیمات می‌توان به تعیین نوع فایل‌های مجاز، برای آپلود شدن، حجم فایل‌ها و … اشاره

Form Validation Class-9

این کلاس توابع لازم برای اعتبارسنجی مقادر وارد شده در فرم‌ها را در اختیارتان می‌گذارد.

FTP Class-10

این کلاس نیز شامل توابع مختلفی برای کار با FTP است. از جمله قابلیت‌های این کلاس می‌توان به امکان انتقال یا حذف، تغییر نام یا جابجا کردن فایل‌ها به سرور اشاره کرد.

Image Manipulation Class-11

این کلاس امکاناتی را برای کار با تصاویر در اختیار شما قرار می‌دهد. از جمله قابلیت‌های این کلاس می‌توان به تغییر اندازه، ایجاد تصویر بندانگشتی، برش، چرخاندن، نوشتن متن واترمارک و … اشاره کرد.

Input Class-12

این کلاس شامل پردازش‌های از قبل انجام شده برای داده‌های ورودی است تا از این طریق امنیت بیشتری برقرار شود.

Language Class-13

این کلاس برای بین‌المللی سازی اپلیکیشن تحت وب شما بکار می‌رود. در واقع برای ایجاد سایت‌های چند زبانه می‌توانید از این کلاس بهره بگیرید.

Loader Class-14

این کلاس می‌تواند فایل‌های مختلفی از جمله، فایل‌های ویو یا نما، درایورها، هلپرها، مدل‌ها و … را در فریم‌ورک بارگذاری کند.

Migrations Class-15

این کلاس شامل توابعی است که با استفاده از آن‌ها می‌توان داده‌های موجود در یک دیتابیس را به دیتابیس‌های دیگر منتقل ک

Output Class-16

این کلاس خروجی را به مرورگر ارسال کرده و صفحه‌ی وب مورد نظر را کش می‌کند.

Pagination Class-17

این کلاس قابلیت‌های مربوط به صفحه‌بندی را برای صفحات وب در اختیار توسعه دهندگان قرار می‌دهد.

Template Parser Class-18

این کلاس می‌تواند از متون ساده به منظور نمایش متغیرهای مختلف در فایل‌های نما یا ویو استفاده کند. با استفاده از این کلاس می‌توان متغیرهای ساده و نیز متغیرهای پیچیده‌تر مثل آرایه‌ها را در فایل ویو به نمایش درآورد.

Security Class-19

این کلاس شامل قابلیت‌های امنیتی چون فیلترینگ XSS، CSRF و … است.

Session Library-20

این کلاس شامل توابعی برای مدیریت کامل سشن‌ها در اپلیکیشن‌های تحت وب شما است.

HTML Table-21

این کلاس برای ایجاد خودکار جداول بر اساس نتایج دریافت شده از بانک‌های اطلاعاتی یا یک آرایه به کار می‌رود.

Trackback Class-22

این کلاس توابعی دارد که شما را قادر می‌سازد تا داده‌های ترک‌بک مورد نظر خود را دریافت و ارسال کنید.

Typography Class-23

کلاس تایپوگرافی متدهایی دارد که برای فرمت‌بندی متون می‌توان از آن‌ها بهره برد.

Unit Testing Class-24

این کلاس شامل توابعی است که می‌تواند واحدهای مختلف اپلیکیشن شما را تست کرده و سپس نتیجه این تست را ایجاد کند.

URI Class-25

اگر از URI Routng استفاده می‌کنید این کلاس شامل متدهایی است که به شما کمک می‌کند تا اطلاعات را از رشته‌های متنی URI بیرون بکشید.

User Agent Class-26

این کلاس نیز شامل توابعی است که به شما کمک می‌کند تا اطلاعاتی در مورد مرورگر، دستگاه موبایل یا رباتی که وب‌سایت را مشاهده می‌کند بدست آورید. علاوه بر این می‌توانید اطلاعات مربوط به وب‌سایت رجوع کننده، زبان و اطلاعات مربوط به نوع کاراکتربندی کاربر را با استفاده از این کلاس بدست آوردید.

XML-RPC and XML-RPC Server Classes-27

کلاس‌های XML-RPC در فریم‌ورک Codeigniter امکان ارسال درخواست به دیگر سرورها را برای شما محیا می‌کنند. همچنین می‌توانید سرور XML-RPC مخصوص به خود را برای دریافت درخواست از جانب دیگران ایجاد کنید.

Zip Encoding Class-28

این کلاس برای ایجاد فایل‌های فشرده‌ی زیپ از داد‌ه‌های شما مورد استفاده قرار می‌گیرد.

ساختن کتابخانه‌ها

فریم‌ورک Codeigniter شامل کتابخانه‌های بسیار قدرتمندی است که می‌توانید آن‌ها را در مسیر system/libraries مشاهده کنید. اما این فریم‌ورک فقط به کتابخانه‌های پیش‌فرض محدود نشده و شما می‌توانید کتابخانه‌های مورد نظر خود را نیز ایجاد کرده و به آن اضافه کنید. کتابخانه‌های ایجاد شده توسط شما باید در مسیر application/libraries قرار بگیرند. برای ایجاد کتابخانه‌ی جدید می‌توانید از سه روش اقدام کنید.

ایجاد یک کتابخانه کاملا جدید

ارث‌بری از کتابخانه‌های پیش‌فرض فریم‌ورک

جایگزینی یک کتابخانه‌ی جدید با کتابخانه‌های پیش‌فرض

ایجاد یک کتابخانه‌ی کاملا جدید

– هنگام ساختن یک کتابخانه‌ی جدید باید نکات زیر را در نظر داشته باشید:

نام فایل‌ کلاس شما باید با یک حرف انگلیسی بزرگ شروع شود. مثال: Myroojan.php

نام خود کلاس نیز باید با یک حرف بزرگ انگلیسی شروع شود. مثال: Myroojan

نام کلاس و نام فایل آن باید با یکدیگر یکسان باشند.

به عنوان مثال ما یک کتابخانه به نام Myroojan.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(‘myroojan’);

نام myroojan در واقع نام کتابخانه‌ی شما خواهد بود و باید آن را با حروف کوچک بنویسید. فرقی نمی‌کند که در نام فایل و نام خود کتابخانه‌ی ایجاد شده کدام حروف را بزرگ نوشته‌اید و در هنگام بارگذاری این کتابحانه‌های باید تمام حروف نام ان‌ها را با حروف کوچک تایپ کنید. همچنین پسوند php. را نیز در انتهای نام کلاس نمی‌نویسیم. پس از بارگذاری کلاس مورد نظر می‌توانید مثل کد به توابع داخلی آن کلاس دسترسی داشته باشید.

$this->myroojan->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 آشنا شدید. در جلسات آینده با سایر اجزای مهم این فریم‌ورک به طور کامل آشنا خواهید شد.




پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *