- پنجشنبه 9 فروردین 1397 ساعت 09:30
- 3.1.9
- در حال تکمیل
- فعال
هلپرفانکشنها همانطور که از نام آنها مشخص است، فانکشنهایی هستند که در انجام تسکها به شما کمک میکنند. هر فایل هلپر، مجموعهای از فانکشنها است که در یک دستهبندی خاص قرار میگیرند. برای مثال هلپرهای URL به شما در ساخت URLها کمک میکند، هلپرهای Form امکان ساخت عناصر فرم را فراهم میکنند، هلپرهای Text عملیات مختلف برای فرمتدهی متن را اجرا میکنند، هلپرهای Cookie کار تنظیم و خواندن کوکیها را انجام میدهند و هلپرهای File در هنگام کار با فایلها به کمک شما میآیند. در کدایگنایتر برخلاف اغلب سیستمهای دیگر، به صورت شیگرا نوشته نشدهاند. هر هلپرفانکشن یک تسک خاص را انجام میدهد و هیچ وابستگی به فانکشنهای دیگر ندارد. کدایگنایتر فایلهای مربوط به هلپرفانکشنها را به صورت پیشفرض لود نمیکند، بنابراین اولین قدم در استفاده از یک هلپر، لود آن است. هنگامی که هلپر مورد نظر لود شد، در تمام کنترلرها و ویوهای برنامه قابل استفاده است. هلپرها معمولا در دایرکتوری system/helpers یا application/helpers ذخیره میشوند. کدایگنایتر ابتدا در دایرکتوری application/helpers به دنبال هلپر مشخص شده میگردد، اگر پیدا نکرد سپس دایرکتوری system/helpers را بررسی میکند.
بارگذاری یک هلپر
لود یک هلپر به سادگی و با استفاده از متد زیر امکانپذیر است:
$this->load->helper('name');
پارامتر name نام هلپر است که بدون اکستنشن .php
و _helper
استفاده میشود. برای مثال برای لود هلپر URL که نام فایل آن url_helper.php است از متد زیر استفاده میشود:
$this->load->helper('url');
یک هلپر میتواند هرجایی در متدهای کنترلر (یا حتی در فایلهای ویو، گرچه روش خوبی نیست) لود شود، فقط باید قبل از استفاده لود شود. هلپر میتواند در متد سازنده (constructor
) لود شود، بدین صورت در تمام متدهای کلاس قابل دسترسی و استفاده است. یا میتوان فقط در متدهایی لود شود که به آن هلپر نیاز است.
بارگذاری چندین هلپر
اگر نیاز به لود چندین هلپر دارید، آنها را در یک آرایه قرار دهید.
$this->load->helper(
array('helper1', 'helper2', 'helper3')
);
بارگذاری خودکار هلپرها
اگر نیاز به لود هلپر خاصی در کل اپلیکیشن دارید، باید به کدایگنایتر بگویید آن هلپر را در هنگام راهاندازی اولیه سیستم لود کند. برای اینکار فایل application/config/autoload.php را باز کنید و هلپر مورد نظر را به آرایه autoload
اضافه کنید.
استفاده از هلپر
هنگامی که یک فایل هلپر را لود کنید، از فانکشنهای داخل آن مانند سایر فانکشنهای استاندارد PHP میتوانید استفاده کنید. برای مثال برای ساخت لینک در یک فایل ویو، میتوان از فانکشن anchor()
استفاده کرد.
<?php echo anchor('blog/comments', 'Click Here');?>
در این مثال یک لینک ساخته میشود که متن آن Click Here است و کلیک روی آن متد comments از کنترلر blog را فراخوانی میکند.
توسعهی هلپرها
برای توسعهی هلپرها، یک فایل در پوشه application/helpers با نامی یکسان با نام هلپر موجود بسازید، البته باید اول نام آن پیشوند MY_
را اضافه کنید. (این نام پیشوند قابل تنظیم و تغییر است.) اگر قصد دارید قابلیتهایی به هلپر موجود اضافه کنید یا نحوه عملکرد یک فانکشن خاص را تغییر دهید. بهتر است به جای ویرایش فایل هلپر موچود، آن را توسعه دهید.
برای مثال، برای توسعهی هلپر Array باید یک فایل با نام application/helpers/MY_array_helper.php بسازید و فانکشنهای موردنظرتان را اضافه یا بازنویسی کنید.
// any_in_array() is not in the Array Helper, so it defines a new function
function any_in_array($needle, $haystack)
{
$needle = is_array($needle) ? $needle : array($needle);
foreach ($needle as $item)
{
if (in_array($item, $haystack))
{
return TRUE;
}
}
return FALSE;
}
// random_element() is included in Array Helper, so it overrides the native function
function random_element($array)
{
shuffle($array);
return array_pop($array);
}
پیشوند خودتان را تنظیم کنید
پیشوند نام فایل برای توسعهی هلپرها، مشابه پیشوندی است که برای توسعهی کلاسهای هسته و لایبرریها استفاده میشود. برای تنظیم پیشوند خودتان، فایل application/config/config.php را باز کنید و کد زیر را در آن تغییر دهید:
$config['subclass_prefix'] = 'MY_';
توجه کنید که کلیه لایبرریهای نیتیو (Native) کدایگنایتر با پسوند CI_
مشخص میشوند و نباید از آن به عنوان پیشوند خود استفاده کنید.
بارگذاری یک هلپر
لود یک هلپر به سادگی و با استفاده از متد زیر امکانپذیر است:
$this->load->helper('name');
پارامتر name نام هلپر است که بدون اکستنشن .php
و _helper
استفاده میشود. برای مثال برای لود هلپر URL که نام فایل آن url_helper.php است از متد زیر استفاده میشود:
$this->load->helper('url');
یک هلپر میتواند هرجایی در متدهای کنترلر (یا حتی در فایلهای ویو، گرچه روش خوبی نیست) لود شود، فقط باید قبل از استفاده لود شود. هلپر میتواند در متد سازنده (constructor
) لود شود، بدین صورت در تمام متدهای کلاس قابل دسترسی و استفاده است. یا میتوان فقط در متدهایی لود شود که به آن هلپر نیاز است.
بارگذاری چندین هلپر
اگر نیاز به لود چندین هلپر دارید، آنها را در یک آرایه قرار دهید.
$this->load->helper(
array('helper1', 'helper2', 'helper3')
);
بارگذاری خودکار هلپرها
اگر نیاز به لود هلپر خاصی در کل اپلیکیشن دارید، باید به کدایگنایتر بگویید آن هلپر را در هنگام راهاندازی اولیه سیستم لود کند. برای اینکار فایل application/config/autoload.php را باز کنید و هلپر مورد نظر را به آرایه autoload
اضافه کنید.
استفاده از هلپر
هنگامی که یک فایل هلپر را لود کنید، از فانکشنهای داخل آن مانند سایر فانکشنهای استاندارد PHP میتوانید استفاده کنید. برای مثال برای ساخت لینک در یک فایل ویو، میتوان از فانکشن anchor()
استفاده کرد.
<?php echo anchor('blog/comments', 'Click Here');?>
در این مثال یک لینک ساخته میشود که متن آن Click Here است و کلیک روی آن متد comments از کنترلر blog را فراخوانی میکند.
توسعهی هلپرها
برای توسعهی هلپرها، یک فایل در پوشه application/helpers با نامی یکسان با نام هلپر موجود بسازید، البته باید اول نام آن پیشوند MY_
را اضافه کنید. (این نام پیشوند قابل تنظیم و تغییر است.) اگر قصد دارید قابلیتهایی به هلپر موجود اضافه کنید یا نحوه عملکرد یک فانکشن خاص را تغییر دهید. بهتر است به جای ویرایش فایل هلپر موچود، آن را توسعه دهید.
برای مثال، برای توسعهی هلپر Array باید یک فایل با نام application/helpers/MY_array_helper.php بسازید و فانکشنهای موردنظرتان را اضافه یا بازنویسی کنید.
// any_in_array() is not in the Array Helper, so it defines a new function
function any_in_array($needle, $haystack)
{
$needle = is_array($needle) ? $needle : array($needle);
foreach ($needle as $item)
{
if (in_array($item, $haystack))
{
return TRUE;
}
}
return FALSE;
}
// random_element() is included in Array Helper, so it overrides the native function
function random_element($array)
{
shuffle($array);
return array_pop($array);
}
پیشوند خودتان را تنظیم کنید
پیشوند نام فایل برای توسعهی هلپرها، مشابه پیشوندی است که برای توسعهی کلاسهای هسته و لایبرریها استفاده میشود. برای تنظیم پیشوند خودتان، فایل application/config/config.php را باز کنید و کد زیر را در آن تغییر دهید:
$config['subclass_prefix'] = 'MY_';
توجه کنید که کلیه لایبرریهای نیتیو (Native) کدایگنایتر با پسوند CI_
مشخص میشوند و نباید از آن به عنوان پیشوند خود استفاده کنید.
سایر پستهای داکیومنت
- به کدایگنایتر خوش آمدید
- نصب
- بررسی اجمالی
- شروع به استفاده از کدایگنایتر
- کدایگنایتر در یک نگاه
- فیچرهای کدایگنایتر
- فلوچارت اپلیکیشن
- مدل ویو کنترلر
- اهداف طراحی و معماری
- خودآموز
- مشارکت در کدایگنایتر
- نوشتن مستندات کدایگنایتر در صف ترجمه
- گواهی مبدأ توسعه دهنده 1.1 در صف ترجمه
- مباحث کلی
- URLها در کدایگنایتر
- کنترلرها
- نامهای رزرو شده
- ویوها
- مدلها
- هلپرفانکشنها
- استفاده از لایبرریهای کدایگنایتر
- ساخت لایبرری
- استفاده از درایورهای کدایگنایتر
- ساخت درایور
- ساخت کلاسهای هسته سیستم
- ساخت کلاسهای کمکی
- هوکها - توسعه هسته فریمورک
- بارگذاری خودکار ریسورسها
- فانکشنهای عمومی
- فانکشنهای سازگاری
- مسیریابی URI
- هندل کردن خطاها
- کش کردن صفحات وب
- ارزیابی و تجزیه و تحلیل عملکرد اپلیکیشن
- اجرای کدایگنایتر به وسیله خط فرمان
- مدیریت چندین اپلیکیشن
- هندل کردن محیطهای چندگانه
- سینتکس جایگزین PHP برای فایلهای ویو
- Security در صف ترجمه
- راهنمای کدنویسی در PHP
- لایبرریها در صف ترجمه
- کلاس بنچمارک
- درایور کش در صف ترجمه
- Calendaring Class در صف ترجمه
- Shopping Cart Class در صف ترجمه
- Config Class در صف ترجمه
- Email Class در صف ترجمه
- Encrypt Class در صف ترجمه
- Encryption Library در صف ترجمه
- File Uploading Class در صف ترجمه
- Form Validation در صف ترجمه
- FTP Class در صف ترجمه
- Image Manipulation Class در صف ترجمه
- Image Manipulation Class در صف ترجمه
- Javascript Class در صف ترجمه
- کلاس زبان
- Loader Class در صف ترجمه
- کلاس مایگریشن
- Output Class در صف ترجمه
- Pagination Class در صف ترجمه
- Template Parser Class در صف ترجمه
- Security Class در صف ترجمه
- Session Library در صف ترجمه
- HTML Table Class در صف ترجمه
- Trackback Class در صف ترجمه
- کلاس تایپوگرافی در صف ترجمه
- Unit Testing Class در صف ترجمه
- URI Class در صف ترجمه
- User Agent Class در صف ترجمه
- XML-RPC and XML-RPC Server Classes در صف ترجمه
- کلاس انکود کردن آرشیو Zip در صف ترجمه
- رفرنس دیتابیس در صف ترجمه
- شروع سریع دیتابیس: کد نمونه
- پیکربندی دیتابیس در صف ترجمه
- Connecting to your Database در صف ترجمه
- Queries در صف ترجمه
- Generating Query Results در صف ترجمه
- Query Helper Methods در صف ترجمه
- Query Builder Class در صف ترجمه
- Transactions در صف ترجمه
- Database Metadata در صف ترجمه
- فراخوانی سفارشی فانکشن
- Database Caching Class در صف ترجمه
- Database Forge Class در صف ترجمه
- Database Utility Class در صف ترجمه
- DB Driver Reference در صف ترجمه
- هلپرفانکشنها
- هلپرفانکشن Array
- هلپرفانکشن CAPTCHA در صف ترجمه
- هلپرفانکشن Cookie
- Date Helper در صف ترجمه
- هلپرفانکشن Directory
- Download Helper در صف ترجمه
- Email Helper در صف ترجمه
- File Helper در صف ترجمه
- هلپرفانکشن Form در صف ترجمه
- HTML Helper در صف ترجمه
- Inflector Helper در صف ترجمه
- هلپرفانکشن Language
- هلپرفانکشن Number
- Path Helper در صف ترجمه
- Security Helper در صف ترجمه
- Smiley Helper در صف ترجمه
- هلپرفانکشن String
- Text Helper در صف ترجمه
- Typography Helper در صف ترجمه
- URL Helper در صف ترجمه
- XML Helper در صف ترجمه