@aassdds
Люблю борщ и PHP

Как вынести некоторые функции из контроллеров на уровень выше?

Добрый день
Постигаю CODEIGNITER

Есть некоторые функции, которые используются в любом разделе сайта...
Т е - к этим функциям нужен прямой доступ из любого контроллера
Как это правильно реализовать ?
Я сделал так: (но чувствую что это не правильный подход)

в роутах:

$route['default_controller'] = 'main';

далее
Сам Main.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require_once('Base.php');

class Main extends Base {

    public function __construct(){
        parent::__construct();
    }


Класс Base

<?php
class Base extends CI_Controller{

    public function __construct(){
        parent::__construct();
    }
}


И вот в Base складываю все "универсальные" функции....
Все остальные контроллеры, так же как и main наследуются от Base

Как это все сделать правильно ?
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 3
@lyeskin
Делайте Helper (если методы не связаны с контроллерским функционалом), иначе кастомизируйте родительский контроллер, а от него наследуйте ваши.
Ответ написан
maximw
@maximw
Если эти функции вы используете в контроллерах, это и есть правильно.
Если эти функции вы используете в шаблонах, то тогда логично делать хелперы.
Ответ написан
Комментировать
Recosh
@Recosh
Программист студент
Для таких ленивых случаев сделал модель, воткнул её в автозагрузку. А потом в любом месте шаблона или контроллера вызываю.
Типа <?=$this->mymodel->get_url_logo()?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы