2011-06-21 9 views
1

私はCodeIgniterを使用しています。興味深い問題が出てきました。ある関数の変数を別の関数に使う必要があります。私はフレームワークでグローバル変数(これまでできなかった)を宣言するだけでこれを行う予定でした。だから私は別の機能の中から1つの機能を呼び出すことを試みた(これはすべてコントローラ内で起こっている)。明らかにこれを行うことができないので、私は、共通の機能をヘルパーファイルを作った後、それをロードしようとしたが、私はこのエラーを取得:codeigniterを使用して別の関数を呼び出す

Fatal error: Call to undefined method ReporteNominas::getValues() 

ヘルパーファイルは、ヘルパーのフォルダ内にあると、それは、この含まれています。

function getValues($getThem, $tpar, $vpiso, $tcomi, $tgas, $ttotal){ 
      $totalPares = $tpar; 
      $ventasPiso = $vpiso; 
      $totalComisiones = $tcomi; 
      $totalGastos = $tgas; 
      $totalTotal = $ttotal; 
      if($getThem){ 
       return $totalPares . "," . $ventasPiso . "," . $totalComisiones . "," . $totalGastos . "," . $totalTotal; 
      } 
     } 

と、私はこれをやって、それを呼び出すようにしようとしている:私はここ

$this->load->helper('helper_common_functions_helper'); 
       $this->getValues(false, $query['cant'], $query['sum'], $query['com'], $query['gas'], $query['tot']); 

何が不足していることだろうか?

答えて

3

このお試しください:(適切に行われている場合)

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

getValues(false, $query['cant'], $query['sum'], $query['com'], $query['gas'], $query['tot']); 

ヘルパーは機能のほんのグループ、NOTクラスであるので、あなたは、通常の関数呼び出しとしてそれを呼び出すことができます。

あなたはまた、あなたのヘルパーで、これを行う必要があります

if (! function_exists('get_values')) 
{ 
    function getValues($getThem, $tpar, $vpiso, $tcomi, $tgas, $ttotal) 
    { 
    //rest of code 
    } 
} 

0

ヘルパーさんだけではなく、クラスのようにそれらを呼び出すように機能している複数回ロードされたときに「再宣言の関数」エラーを回避するには$ this->あなたは普通のPHP関数のように呼び出すだけです。したがって、この

$this->getValues(false, $query['cant'], $query['sum'], $query['com'], $query['gas'],$query['tot']); 

この

getValues(false, $query['cant'], $query['sum'], $query['com'], $query['gas'],$query['tot']); 
に変更
関連する問題