Я просто не имею в виду, как определить глобальную переменную / константу в CodeIgniter. Позвольте мне объяснить: я создал движок темы, который можно выбрать из текущей входной панели управления пользователя. Этот движок не очень сложный, но простая папка. во всяком случае, то, что я делаю во всем приложении, заключается в том, что я пишу одну строку кода, чтобы получить текущую тему, выбранную пользователем. Я использую одну строку кода для получения имени, а затем сохраняю его в переменной:
$theme_name = $this->theme->get_theme_with_slash(false);
И затем, я пользователь $ theme_name, как это, чтобы получить правильное представление:
$this->load->view($theme_name.'result', $data);
И во всех моих контроллерах, которые загружают представление, я должен повторить этот процесс. То, что мне нужно, это вызвать функцию, которая получает имя_имя и хранить в переменной, а затем использовать переменную / сессию / функцию в приложении. Мой подход в настоящее время является вспомогательной функцией, которая немного менее удобна по сравнению с сеансом / переменной.
Создайте основной контроллер, так как ваш процесс требует логических операций, тогда вам нужен метод для этого.
приложение / ядро / MY_Controller.php
class MY_Controller Extends CI_Controller { protected $default_theme = 'theme'; public function __construct() { parent::__construct(); } public function get_theme() { //your code for selecting the current theme selected from //the database $theme_from_db = ''; return $theme_from_db == NULL ? $this->default_theme : $theme_from_db; } }
Ваш контроллер должен продлить MY_Controller
Применение / контроллер / view.php
class view extends MY_Controller { public function index() { $this->load->view($this->get_theme().'result', $data); } }
в глобальных воспламенителях кода могут быть определены в
config->constants.php
даже вам не нужно его загружать, автоматически автоматически загружать CI.
Я получил это из руководства, и это то, что у меня на вершине моего файла config / config.php: (у меня есть настраиваемая конфигурация, установленная для тестирования PayPal)
// HOW TO USE - For example if there's $config['foo'] = 'bar'; // in the config // using $this- >config->item('foo') will be 'bar'. // example for my paypal testing: $config['paypaltest']=0;
http://ellislab.com/codeigniter%20/user-guide/libraries/config.html
и как получить доступ к контроллеру:
$paypaltest = $this->config->item('paypaltest');
In Codeigniter all constant is defined inside application/config/constant.php. like: define("CONSTANTNAME","value"); Constant degined here is accessible throughout all pages, ie; controllers, models and views