私は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個のデータすべてを使用可能にするため、コーダーは20 LOCの代わりに1つのLOCを書きやすいです。
Laravel 5.2で上記の作業を行うにはどうすればよいですか?
にあなた」という概念が欠落している場合は追加してください実装されたLaravelは完全に間違っています。 Laravelの基礎を最初に学ぶことをお勧めします。このようなスタイルで他のファイルを必要としないようにする。 –
あなたは設定でそれを保持することもできます。コントローラの必要はありません –