저는 Laravel을 처음 사용합니다. Codeigniter의 다른 컨트롤러에서 공통 컨트롤러를 확장했습니다. 다음은 CI 공통 컨트롤러입니다.Laravel 5.2에서 다른 컨트롤러로 공용 컨트롤러를 확장하는 방법은 무엇입니까?
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Common extends CI_Controller {
protected $_data = array();
public function __construct() {
parent::__construct();
$this->load->helper(array('url','form','html'));
$this->load->library(array('session','authentication','upload','image_lib','pagination'));
$this->_data['totalUser'] = 10;
$this->_data['newUser'] = 2;
$this->_data['totalChallenge'] = 1;
$this->_data['totalReport'] = 1;
}
}
이 내가 다른 CI 컨트롤러에서 확장하는 방법입니다 -
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
include_once('common.php');
class Dashboard extends Common {
public function __construct() {
parent::__construct();
$this->load->model('login_model');
}
public function index()
{
$data['globalData'] = $this->_data;
$entity = 'dashboard';
$action = 'view';
$data['action'] = $action;
$data['entity'] = $entity;
$this->authentication->is_loggedin($this->session->userdata('user_name'));
$this->load->view('admin/dashboard',$data);
}
}
이제보기 페이지에서, 난 그냥 <?php echo $globalData['totalUser'];?>
내가 왜이 일을하고 같은 값을 인쇄 할 수 있습니다 ?
오늘 모든 컨트롤러에 20 개의 데이터를 추가해야한다고 가정합니다. 그런 다음 공용 제어기에서만 변경해야합니다. $data['globalData'] = $this->_data;
은 모든 컨트롤러에서 20 개의 데이터를 모두 사용할 수 있기 때문에 코더가 LOC 대신 20 개의 LOC를 쓰기 쉽습니다.
Laravel 5.2에서 위의 작업을 어떻게 수행 할 수 있습니까?
개념없는 경우 추가하십시오 당신 ' 구현 된 Laravel 완전히 잘못되었습니다. 먼저 Laravel 기본을 배우는 것이 좋습니다. 이런 식으로 다른 파일을 요구하지 마십시오. –
유엔 그 설정을 유지할 수 있습니다 .. 그 컨트롤러에 대한 필요가 없습니다 –