6

ここで説明されている方法を使用して、いくつかのコアクラスのオートロードを行うために Codeigniter を使用していました。

http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY

function __autoload($class)
{
 if(strpos($class, 'CI_') !== 0)
 {
  @include_once( APPPATH . 'core/'. $class . EXT );
 }
}

ただし、(Eloquent を使用するために) composer をインストールすると、この機能は機能しなくなります。何か案は?

ありがとう!

4

1 に答える 1

15

__autoload は、1 つしか持てないため、オートロードを行う古い非推奨の方法です。

spl_autoload_registerを使用してオートローダーを登録する必要があります。例えば:

function customCIAutoload($class)
{
 if(strpos($class, 'CI_') !== 0)
 {
  @include_once( APPPATH . 'core/'. $class . EXT );
 }
}

spl_autoload_register('customCIAutoload');

このようにして、オートローダーとコンポーザはうまく共存できます。

于 2013-04-04T08:42:11.487 に答える