Методы расширения основных контроллеров в CodeIgniter 3 для нескольких контроллеров

Чтобы создать несколько основных контроллеров в CodeIgniter 3, вы можете использовать несколько методов. Вот несколько подходов:

  1. Расширьте класс CI_Controller:
    • Создайте новый файл PHP в каталоге application/core, например, MY_Controller.php.
    • Определите в этом файле новый класс, расширяющий класс CI_Controller.
    • Добавьте в этот новый класс свои общие функции и возможности.
    • Создайте отдельные контроллеры, расширив новый класс вместо класса CI_Controller.

Пример:

// application/core/MY_Controller.php
class MY_Controller extends CI_Controller {
    // Add your common functionality here
}
// application/controllers/Welcome.php
class Welcome extends MY_Controller {
    // Controller specific code
}
  1. Создание пользовательских библиотек:
    • Создайте собственную библиотеку в каталоге application/libraries.
    • Реализуйте свои общие функции в этой библиотеке.
    • Загрузите библиотеку в контроллеры, где вы хотите использовать общий код.

Пример:

// application/libraries/Common.php
class Common {
    // Add your common functionality here
}
// application/controllers/Welcome.php
class Welcome extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->library('common');
    }
// Use common library functions
}
  1. Используйте черты характера:
    • Создайте файл свойств с вашим общим кодом, например, CommonTrait.php.
    • Определите желаемую функциональность в рамках этой характеристики.
    • Используйте оператор useв своих контроллерах, чтобы импортировать и применить признак.

Пример:

// application/traits/CommonTrait.php
trait CommonTrait {
    // Add your common functionality here
}
// application/controllers/Welcome.php
class Welcome extends CI_Controller {
    use CommonTrait;
    // Use common trait methods
}

Эти методы позволяют расширять или импортировать общие функции в несколько контроллеров в CodeIgniter 3.