2015-06-17 52 views
0

在我笨自定义助手通过vairables我希望能够通过我的load_controller功能$ PARAMS无法通过助手功能笨

来传递数据,但我无法通过load_controller('controller', 'function', $setting);

自定义助手传递任何数据

<?php 

if (!function_exists('load_controller')) 
{ 
    function load_controller($controller, $method = 'index', $params = '') 
    { 
     require_once(APPPATH . 'controllers/' . $controller . '.php'); 

     $controller = new $controller(); 

     return $controller->$method(); 
    } 
} 

我希望能够做这样的事情下面

<?php 

class Column_left extends CI_Controller { 

    public function index() { 
     $data['modules'] = array(); 

     $setting = array('width' => '100', 'height' => '100'); 

     $data['modules'][] = load_controller('Slideshow', 'index', $setting); 

     return $this->load->view('column_left_view', $data, true); 
    } 
} 

然后在幻灯片控制器上能够得到宽度或高度

<?php 

class Slideshow extends CI_Controller { 

    public function index($setting) { 

     echo $setting['width']; 

     return $this->load->view('slideshow_view', null, true); 
    } 
} 

问题我怎样才能让我的助手可以通过函数来​​传递数据

回答

1

不要你需要将数据$setting传递到您的控制器?

试试这个:

function load_controller($controller, $method = 'index', $params = ''){ 
     require_once(APPPATH . 'controllers/' . $controller . '.php'); 
     $controller = new $controller(); 
     return $controller->$method($params); //<-- here we are passing the $setting info 
    } 
} 
+0

谢谢@CodeGodie工作,并感谢所有其他人的建议和意见 – user4419336

+0

没问题,anyitime :) – CodeGodie

0

你可以返回来自该函数的数组。

对于防爆:

function your_helper_function(){ 
    $variable1 = 10; 
    $variable2 = 20; 
    $dataArray = array($aVariable, $aVariable2); 
    return $dataArray; 
} 
+0

有什么办法来与我的助手功能工作像笨与有意见 – user4419336

+0

看看这个link..I认为这将有助于你做什么,尽管我从来没有尝试过它http://stackoverflow.com/questions/21086011/load-view-from-helper-codeigniter – Abhinav