Ayudantes en Codeignitor

Los ayudantes son el código reutilizable en codeignitor como bibliotecas. La única diferencia es que las bibliotecas son una colección de clases, mientras que el ayudante se define como un conjunto de funciones individuales e independientes. Las funciones auxiliares deben cargarse antes de usarlas. Podemos encontrar todos los ayudantes en la documentación de codeignitor Codeignitor Helpers y que se pueden usar según el tipo de requisito.
Cree un controlador users.php y luego podemos usar el código a continuación para usar el asistente.

Controlador: usuarios.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Users extends CI_Controller {
    public function index() {
  
        // Load form helper
        $this->load->helper('form');
    }   
}
?>

Si necesitamos cargar varios ayudantes, podemos crear una array y luego podemos definir el nombre de todos los ayudantes en esa array.

$this->load->helper(array('form', 'email', 'url'));

Ayudantes personalizados: Codeignitor ya tiene muchos ayudantes integrados, pero si necesitamos crear una función que no está en el ayudante, podemos crear nuestro propio ayudante personalizado y usarlo de la misma manera que los ayudantes incorporados. Los ayudantes incorporados están disponibles en la carpeta del sistema, pero es necesario crear un ayudante personalizado en la carpeta de aplicación/ayudantes. Cree un archivo abc_helper.php en la carpeta application/helpers. A continuación se muestra el ejemplo de creación de funcionalidad en nuestro asistente personalizado.

Asistente personalizado: abc_helper.php

<?php 
    function test() {
      echo "Custom helper for codeignitor";
    }
?>

Los ayudantes personalizados se pueden usar como ayudantes integrados en el controlador. Entonces, en nuestro controlador users.php , use el código a continuación para verificar esto.

Controlador: usuarios.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Users extends CI_Controller {
    public function index() {  
  
         // Load custom helper
         $this->load->helper('abc');
         test();
       }    
  }
?

Producción:

Custom helper for codeignitor

Extensión de ayudantes: si queremos agregar alguna otra función en los ayudantes ya incorporados, podemos hacerlo fácilmente. Extender un asistente significa agregar más funciones en los asistentes incorporados o anular las funciones incorporadas. También se crea en la misma carpeta application/helpers tal como lo estábamos haciendo para los ayudantes personalizados. Ahora aquí debemos tener en cuenta que debemos agregar el prefijo ‘MY_’ cuando le damos el nombre a nuestro archivo de ayuda. Así que cree un archivo MY_array_helper.php en la carpeta application/helpers y use el código a continuación.

Ayudante extendido: MY_array_helper.php

<?php 
    // Add a function in array inbuilt helper
    function test() {
       echo "Extend array helper in codeignitor";
    }
?>

Una vez que se extiende el asistente de array, podemos usar su función adicional ‘prueba’ en nuestro controlador. Entonces, en el controlador users.php, use el código a continuación para llamar a la función ‘prueba’ desde el asistente de array y luego podremos usar nuestra propia función.

Controlador: usuarios.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Users extends CI_Controller {
    public function index() {  
        $this->load->helper('array');
  
        // Call the function
        test();
    }    
 }
?>

Producción:

Extend array helper in codeignitor

Hasta ahora estábamos ampliando nuestros ayudantes y agregando nuestra propia funcionalidad, ahora si queremos anular una función del ayudante incorporado, también podemos hacerlo. Para anular una función del asistente incorporado, debemos dar el mismo nombre de función que ya existe en ese asistente. Por lo tanto, cree un archivo MY_array_helper.php en la carpeta application/helpers y cree un ‘elemento’ de función que ya existe en system/helpers/array_helper.php.

Ayudante extendido: MY_array_helper.php

<?php 
    // Override the element function of array helper.
    function element() {
        echo "Overridden extended array helper in codeignitor";
    }
?>

Ahora, en nuestro controlador users.php, si cargamos el asistente de array y llamamos a la función ‘elemento’, dará el resultado de nuestra función anulada de asistente de array en lugar de la función ‘elemento’ de system/helpers/array_helper.php. Anulará por completo la funcionalidad de la función del elemento auxiliar de array y dará un nuevo resultado que hemos definido en ‘MY_array_helper.php’.

Controlador: usuarios.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Users extends CI_Controller {
    public function index() {  
        $this->load->helper('array');
  
        // Define array for element function
        $arr= ['abc'=>'ABC', 'xyz'=>'XYZ'];
  
        // Call element function but it won't 
        // give the result of element function from 
        // inbuilt array helper exist in system folder
        echo element('abc', $arr, 'Not Found');
    }    
}
?>

Producción:

Overridden extended array helper in codeignitor

Entonces, del ejemplo anterior, está claro que una vez que anulamos la función de la array de ayuda incorporada, nos da el resultado de nuestra propia función de ‘elemento’ definida en MY_array_helper.php en lugar de la función anterior de ‘elemento’ en la array de ayuda. Si borramos nuestro archivo MY_array_helper.php, obtendremos el resultado de la función ‘elemento’ que existe en system/helpers/array_helper.php
Salida:

ABC

Publicación traducida automáticamente

Artículo escrito por anuupadhyay y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *