在 CodeIgniter 中一次扩展 REST_Controller 和 MY_Controller

Extends REST_Controller and MY_Controller at once in CodeIgniter

我遇到这种情况,我需要访问一个全局函数,通常我会在 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 创建一个可以被任何控制器访问的全局函数。例如,我想将它从 AuthController 扩展到 MY_Controller,但这样做我将无法使用 REST_Controller.

有什么方法可以同时扩展到 MY_Controller 和 REST_Controller 以便我可以使用这两个控制器的两个功能?

从您的 Auth 控制器扩展 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 中编写您的全局函数。