کمک کننده (Helper)در کد ایگنایتر

کمک کننده (Helper)در کد ایگنایتر

کمک کننده (Helper)در کد ایگنایتر  , همانطور که از اسم آن پیداست ، وقتی شما به کمک نیاز دارید helper ها به کمک شما می آیند مثلا در مواقعی که به اجزای فرم نیاز دارید کمک کننده فرم به کمک شما می آید و اجزای فرم را برای شما فراهم می سازد.

توجه داشته باشید کمک کننده ها در پوشه helper ساخته می شوند هم در system و هم در application  و در هنگام صدا زدن ابتدا پوشه application/helper چک می شود و بعد پوشه system/helper  ، به طور ساده می توان گفت که فایلهای کمک کننده های خود را درون application/helper بسازید و استفاده کنید.

همانند اجزای دیگر کد ایگنایتر برای استفاده از کد ایگنایتر باید آنها را صدا بزنیم به طور مثال :

$this->load->helper('name');

بارگزاری چندین helper به صورت همزمان

به منظور بارگزاری چندین فایل کمک کنندده به طور همزمان بجای یک فایل در تابع صداکننده چندین فایل را در یک آرایه صدا می زنیم همانند مثال زیر:

$this->load->helper(

        array('helper1', 'helper2', 'helper3')

);

همچنین برای لود شدن اتوماتیک یک کمک کننده می توانید آن را در فایل application/config/autoload.php در قسمت helper صدا بزنید.

استفاده ازکمک کننده (Helper)در کد ایگنایتر

استفاده از کمک کننده ها بسیار راحت و جذاب است ، بعد از صدا زدن کمک کننده ، تابع مورد نظر را در هرجایی که بخواهیم صدا می زنیم مانند مثال زیر:

<?php echo anchor('blog/comments', 'Click Here');?>

 وراثت در کمک کننده ها“Extending” Helpers

برای ارث گرفتن یک کمک کننده ابندا فایل مورد نظر را درون  application/helpers/ folder با همان اسم کمک کننده اصلی بسازید ولی باید اسمش با MY_ شروع شود که این اسم درون تنظیمات قابل تغییر است.

پیشنهاد پیرو برای شما :   آموزش REDIS در php

نکته : درون فایل config  برای تغییر پیشوند کلاس مقدار روبه رو را مقدار دهی کنید :

$config['subclass_prefix'] = 'MY_';

توجه نمایید اگر نیاز دارید کمک کننده ها را طبق سلیقه و نیاز خود تغییر بدهید بهتر است دست به فایل اصلی نزنید و از روش بالا برای تغییر آن کمک کننده استفاده نمایید.

به مثال زیر توجه کنید:

برای بازسازی کمک کننده آرایه به ثرتیب زیر ئیش می رویم:

فایل مورد نظر را ساخته و تابع آن را بازنویسی می کنیم 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);

}