CodeIgniter - функции доступны в нескольких контроллерах - PullRequest
4 голосов
/ 01 апреля 2011

Я относительно новичок в CodeIgniter, и пока мой проект полностью создан с использованием Controllers и Views. Однако, поскольку это становится все более сложным, я обнаружил, что есть определенные функции, которые я скопировал в несколько контроллеров - это вряд ли идеально, так как редактирование требует не только редактирования всех остальных.

Существует множество функций CI, о которых я ничего не знаю - модели, помощники, расширение «Контроллера» и т. Д. И т. Д. Куда мне обратиться, чтобы выполнить вышеизложенное? Я полагаю, что я мог бы также import() блок кода напрямую, хотя у меня возникает ощущение, что это не «Путь CodeIgniter».

Ответы [ 3 ]

4 голосов
/ 01 апреля 2011

Поместите все свои «служебные» функции в «помощник менеджера» и получите к нему доступ.

http://codeigniter.com/user_guide/general/helpers.html

2 голосов
/ 01 апреля 2011

base_controller.php

<?php
class Base_Controller extends CI_Controller {
    function __construct()
    {
        parent::__construct();
    }
    function base_function(){

        }
}
?>

other_controller.php

<?php
require_once('base_controller.php');
class Other_Controller extends Base_Controller{
    function __construct()
    {
        parent::__construct();
    }
    function index()
    {
    $this->base_function(); 
    }
}
?>
2 голосов
/ 01 апреля 2011

Или создайте базовый контроллер и расширьте из него другие контроллеры.

Я уверен, что Фил Стерджен имеет руководство: http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...