2017-01-12 9 views
2

では見られない私はMY_head.phpの名前でファイルを作成codeigniter.inアプリケーション/コアでコアクラスを作成しようとしていますとMY_head.phpのコードが私のコアクラスMy_headはCodeIgniterの

class MY_head extends CI_Controller{ 

public function __construct(){ 

    parent::__construct(); 
    } 


    public function load_header(){ 
     //some code here 


     } 

} 
です

は、今私はコードが

class Practice extends MY_head{ 
    public function __construct(){ 

    parent::__construct(); 

     } 
    function index(){ 


     } 


    } 

あるpractice.php私のコントローラでこのクラスを拡張しようとしていますが、私は、ブラウザでの練習コントローラをロードするとき、それは致命的なエラー言う:問題はあるクラスのMY_head "で見つかりません。 ?事前に感謝します 注:$ config ['subclass_prefix'] = 'MY_';

答えて

1

は /application/config/config.php

設定ファイルの一番下にある機能以下

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

と手動をコントローラ

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Practice extends MY_head 
{ 
    public function __construct() 
    { 
    parent::__construct(); 
    } 
} 

OR含んを拡張を入れてみてください

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

// include the base class 
require_once("application/core/MY_head.php"); 

//Extend the class 
class Practice extends MY_head 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
    } 
} 

?> 
+0

なぜこのクラスを含める必要がありますか? codeigniterはコアクラスを自動的にロードしませんか? –

+0

あなたのオートロードがうまくいかないと思ったのですが –

+0

MY_Controller.phpコアクラスは自動的にロードされますが、他のクラスはロードされません。理由は何でしょうか? –

関連する問題