#codeigniter #extend #codeigniter-restserver
#codeigniter #расширить #codeigniter-restserver
Вопрос:
У меня такая ситуация, когда мне нужно получить доступ к глобальной функции, и обычно я делаю это в MY_Controller для обычного CodeIgniter. Но в этом случае я использую сервер REST, и я заметил, что обычный контроллер должен расширять REST_Controller, чтобы он функционировал.
Из моего AuthController
<?php defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH . 'libraries/REST_Controller.php';
class AuthController extends REST_Controller {}
REST_Controller
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
abstract class REST_Controller extends CI_Controller {}
Я хочу использовать MY_Controller
для создания глобальной функции, доступ к которой может получить любой контроллер. Например, from AuthController
я хочу расширить его до MY_Controller
, но при этом я не смогу использовать REST_Controller
.
Есть ли какой-либо способ, которым я могу одновременно расширить MY_Controller и REST_Controller, чтобы я мог использовать обе функции из этих двух контроллеров?
Ответ №1:
Из вашего контроллера авторизации расширяет MY_Controller, а в MY_Controller расширяет REST_Controller.
Это будет похоже
AuthController
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class AuthController extends MY_Controller {}
MY_Controller
<?php
require(APPPATH.'/libraries/REST_Controller.php');
class MY_Controller extends REST_Controller
Вы можете написать свои глобальные функции в своем MY_Controller.
Комментарии:
1. Да, я это сделал. Может быть слишком поздно для решения, но поскольку это ответ, я принял его
2. Спасибо за ваше согласие. Рад слышать, что вы уже нашли решение.