2009-12-12 8 views
4

J'ai une application CodeIgniter, mais un de mes contrôleurs doit appeler une fonction de traitement de données que j'ai aussi écrite moi-même. Le seul problème est que je n'arrive pas à comprendre comment faire cela. En regardant à travers le mode d'emploi, il semble que je devrais mettre ma fonction dans la déclaration de classe, et le préfixe avec un trait de soulignement (_) afin qu'il ne peut pas être appelé via l'URL. Cependant, cela ne fonctionne pas. Voici un exemple de ce que je veux dire:créer des fonctions dans les contrôleurs CodeIgniter

<?php 
class Listing extends Controller 
{ 
    function index() 
    { 
     $data = "hello"; 
     $outputdata['string'] = _dprocess($data); 
     $this->load->view('view',$outputdata); 
    } 
    function _dprocess($d) 
    { 
     $output = "prefix - ".$d." - suffix"; 
     return $output 
    } 
} 
?> 

La page ne cesse de me dire que j'ai un appel à un _dprocess de fonction non définie()

Comment appeler mes propres fonctions?

Merci!
Mala

Edit:
J'ai eu à travailler en plaçant la fonction en dehors de la déclaration de classe. Est-ce la bonne façon de le faire?

+0

idéalement, il devrait être à l'intérieur du contrôleur – Sarfraz

+0

voir ma réponse ci-dessous si cela fonctionne pour vous aussi. – Sarfraz

Répondre

7

Cette ligne crée problème pour vous:

$outputdata['string'] = _dprocess($data); 

Remplacer par:

$outputdata['string'] = $this->_dprocess($data); 
+0

Merci beaucoup :) – Mala

Questions connexes