فریمورک Codeigniter شامل توابع داخلی بسیار خوبی است که در شرایط مختلف میتوانند برای توسعهی اپلیکیشنهای تحت وب مورد استفاده قرار بگیرند. البته توابعی که در این مطلب به آنها خواهیم پرداخت، مثل توابع ارائه شده در کتابخانهها، هلپرها و ... نبوده و این یعنی به منظور استفاده از آنها نیازی به اینیشیالایز کردن ندارند. در ادامهی مطلب با زومیت همراه باشید تا شما را با ساختار و روش استفاده از توابع داخلی و عمومی Codeigniter آشنا کنیم.
در جدول زیر هرتابع به صورت کامل توضیح داده شده است:
قالب کلی | is_php($version) |
---|---|
پارامترها | $version (string) − شمارهی نسخه |
مقدار بازگشتی | اگر نسخهی پیاچپی در حال اجرا بر روی سرور کمتر از نسخهی تعیین شده در این تابع باشد، مقدار True را بر میگرداند و در غیر این صورت مقدار Flase برگردانده خواهد شد. |
نوع مقدار بازگشتی | تهی (void) |
توضیح | برای شناسایی اینکه نسخهی پیاچپی سرور از نسخهی مد نظر ما بزرگتر است یا خیر به کار میرود. |
قالب کلی | is_really_writable($file) | ||
---|---|---|---|
| $file (string) − مسیر فایل | ||
| اگر مسیر فایل قابل نوشتن باشد مقدار True و در غیر این صورت مقدار False برگشت داده میشود. | ||
نوع مقدار بازگشتی | صحیح یا غلط (True / False) | ||
توضیح | برای بررسی اینکه یک فایل قابل نوشتن است یا خیر. |
قالب کلی | config_item($key) |
---|---|
پارامترها | $key (string) − پیکربندی کلید یک آیتم |
مقدار بازگشتی | مقدار ذخیره شده در کلید یکی از تنظیمات یا در غیر این صورت NULL |
نوع مقدار بازگشتی | چندگانه (mixed) |
توضیح | این تابع به منظور دریافت مقدار ذخیره شده در آیتمهای تنظیمات مورد استفاده قرار میگیرد. |
قالب کلی | set_status_header($code[, $text = '']) |
---|---|
پارامترها | $code (int) − HTTP کد پاسخ $text (string) − یک پیام سفارشی برای هر کد پاسخ |
مقدار بازگشتی | |
نوع مقدار بازگشتی | تهی (void) |
توضیح | این تابع برای تنظیم دستی وضعیت هدرهای یک سرور مورد استفاده قرار میگیرد. |
قالب کلی | remove_invisible_characters($str[, $url_encoded = TRUE]) |
---|---|
پارامترها | $str (string) − رشتهی ورودی $url_encoded (bool) − اینکه کاراکترهای انکد شدهی آدرس یو آر ال حذف شوند یا خیر |
مقدار بازگشتی | رشتهی متنی بررسی شده |
نوع مقدار بازگشتی | رشتهی متنی (string) |
توضیح | این تابع از درج کاراکترهای خالی بین کاراکترهای اسکی جلوگیری میکند. |
قالب کلی | html_escape($var) |
---|---|
پارامترها | $var (mixed) − مقدار مورد نظر برای صرف نظر شدن |
مقدار بازگشتی | رشتههای متنی html |
نوع مقدار بازگشتی | چندگانه (mixed) |
توضیح | این تابع همانند تابع ()htmlspecialchars در پیاچپی عمل میکند. |
قالب کلی | get_mimes() |
---|---|
مقدار بازگشتی | آرایهای از پسوند فایلها |
نوع مقدار بازگشتی | آرایه (array) |
توضیح | این تابع، یک آرايهی مرجع از MIMe ها application/config/mimes.php ایجاد میکند. |
قالب کلی | is_https() |
---|---|
مقدار بازگشتی | اگر از HTTP-over-SSL استفاده شده باشد مقدار True و در غیر این صورت مقدار False را بر میگرداند |
نوع مقدار بازگشتی | صحیح یا غلط (bool) |
توضیج | اگر از HTTPS استفاده شده باشد، مقدار True را بر میگرداند و اگر از هر پروتکل دیگری استفاده شده باشد مقدار False برگردانده میشود. |
قالب کلی | is_cli() |
---|---|
مقدار بازگشتی | اگر CLI در حال اجرا باشد مقدار True را بر میگرداند و در غیر این صورت مقدار بازگشتی False خواهد بود. |
نوع مقدار بازگشتی | صحیح یا غلط (bool) |
توضیح | اگر اپلیکیشن با ابزار خط فرمان اجرا شده باشد True را بر میگرداند و در غیر این صورت False برگردانده خواهد شد. |
قالب کلی | function_usable($function_name) | |
---|---|---|
پارامترها | $function_name (string) − نام تابع | |
نوع مقدار بازگشتی |
| |
توضیح | اگر یک تابع وجود داشته باشد مقدار True را بر میگرداند و در غیر این صورت مقدار False برگردانده خواهد شد. |
در ادامه مثالی برای استفاده از توابع رایج در Codeigniter آوردهایم تا با این مبحث بهتر آشنا شوید.
مثال
نرمافزار سرور مجازی Xampp را اجرا کرده و دو سرور آپاچی و مایاسکیوال را در حالت فعال قرار دهید.
حالا یک پروژهی جدید Codeigniter ایجاد و آن را مطابق با آموزشهای جلسات اولیه نصب و پیکربندی کنید. ما این پروژه را در پوشهای به اسم codei-funcs که در پوشهی htdocs ساختهایم نصب و پیکربندی کردهایم.
برای استفاده از توابع رایج در Codeigniter باید یک کنترلر ایجاد کنید. بدین منظور در مسیر application/controller یک فایل جدید به نام CommonFun_Controller.php ایجاد کرده و سپس کد زیر را در آن قرار دهید.
<?php class CommonFun_Controller extends CI_Controller { public function index() { set_status_header(200); echo is_php('5.3')."<br>"; var_dump(is_really_writable('./Form.php')); echo config_item('language')."<br>"; echo remove_invisible_characters('This is a test','UTF8')."<br>"; $str = '< This > is \' a " test & string'; echo html_escape($str)."<br>"; echo "is_https():".var_dump(is_https())."<br>"; echo "is_cli():".var_dump(is_cli())."<br>"; var_dump(function_usable('test'))."<br>"; echo "get_mimes():".print_r(get_mimes())."<br>"; } public function test() { echo "Test function"; } } ?>
در مثال بالا از توابعی که در ابتدای مطلب به طور کامل توضیح داده بودیم، استفاده کردهایم. بدین ترتیب در متد ()index این تابع و با کد:
set_status_header(200);
عدد ۲۰۰ را به عنوان وضعیت هدر سرور تعیین کردهایم. سپس با کد زیر:
echo is_php('5.3')."<br>";
بررسی میکنیم که آیا نسخهی پیاچپی سرور ما ۵.۳ است یا خیر و خروجی تابع را چاپ کردهایم.
به همین ترتیب سایر توابع نوشته شده در کنترلر فوق را در این پروژه مورد استفاده قرار دادهایم.
حال قصد داریم تا مثل سایر مثالهای این سری آموزشی، آدرس مخصوص به آن را با استفاده از فایل routes.php تعیین کنیم. بدین منظور این فایل که در مسیر application/config/routes.php قرار گرفته را باز کنید و سپس خط زیر را به پایین کدهای موجود در آن بیافزایید.
$route['commonfunctions'] = 'CommonFun_Controller';
کد بالا باعث میشود تا با فراخوانی آدرس commonfunctions در مسیر نصب فریمورک، کنترلر CommonFun_Controller که در مرحلهی اول این مثال ایجاد کرده بودیم فراخوانی شود. حال اگر همه چیز را به درستی انجام داده باشید با باز کردن آدرس زیر در مرورگر رایانهی خود میتوانید نتیجهی کار را مشاهده کنید.
http://127.0.0.1/codei-funcs/index.php/commonfunctions
اگر در مورد مباحث مطرح شده در این جلسه سوال یا پیشنهادی دارید از طریق بخش نظرات آن را با ما و سایر کاربران به اشتراک بگذارید.