2010-10-29 11 views
22

sto cercando di fare questo codice nella mia domanda Codeigniterfunzione di chiamata Codeigniter entro stessa classe

<?php 
class Inventory extends Controller { 

function current_stock() 
{ 
//do something 
} 

function add_stock() 
{ 
//do something-else 
****then do function current_stock()***** 

} 

} 

Come faccio a eseguire un'altra funzione all'interno di un secondo. L'approccio delineato here (sull'estensione dei controller) è un po 'eccessivo per me.

Mi manca un modo molto più semplice?

risposta

90

OK, sono d'accordo sul fatto che si tratta di un errore decisivo; deriva dalla mancanza di comprensione OOP;

<?php 
class Inventory extends Controller { 
    function current_stock() { 
     //do something 
    } 

    function add_stock() { 
     //do something-else 
     $this->current_stock(); 
     // and we called the other method here! 
    } 
} 

Solo che io didn "t aspettatevi che sia così facile

+2

ho appena Ho avuto lo stesso problema Grazie per aver postato la soluzione – xbonez

+1

anche io, grazie –

+1

anche io grazie: P – cjmling

7

Basta usare $this->your_function_name();

-1

Solo $ this-> nameFunction();
esempio

<?php 

class Hello extends CI_Controller{ 

public function index(){ 
    $this->hello(); 
} 
function hello(){ 
    return "hello world"; 
} 
} 
Problemi correlati