| 제목 | basecontroller 에서 모델 선언시 다른 컨트롤러에서 상속이 안되네요 | ||
|---|---|---|---|
| 카테고리 | CI 4 관련 | ||
| 글쓴이 | 엑스 | 작성시각 | 2021/12/30 22:34:18 | 
|  | |||
| basecontroller 에서 아래와 같이 작성했습니다. 
class BaseController extends Controller
{
 ......
  
    /**
     * Constructor.
     */
    public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
    {
        // Do Not Edit This Line
        parent::initController($request, $response, $logger);
        // Preload any models, libraries, etc, here.
        // E.g.: $this->session = \Config\Services::session();
        $this->stay_m = new Stay_m();
        $this->session = \Config\Services::session();
    }
}
 그리고 일반 컨트롤러에서 사용하려 하니 undefined 에러가 발생하네요. 일반 컨트롤러에서는 아래와 같이 작성하였습니다. 
    Class Auth extends BaseController
    {
        ......
        $usr_info = $this->stay_m->get_usr_info($usr_id);
 초보의 오류겠지만, 오류의 이유를 모르겠네요. 도움 부탁드립니다. | |||
| 다음글 | Routes에 제대로 동작하지 않습니다 (4) | ||
| 이전글 | curl 통신에서 데이터값이 실려가지 않습니다. (2) | ||
| 
                                프레드윤
                                /
                                2021/12/31 00:48:33 /
                                추천
                                0
                             | 
| 
                                엑스
                                /
                                2021/12/31 20:01:44 /
                                추천
                                0
                             이 부분을 말씀하시는 것 같은데요. namespace App\Controllers; use CodeIgniter\Controller; use App\Models\Stay_m; 본문엔 적지 않았지만 선언했었습니다. 그래도 에러가 나서 원인을 모르겠습니다. | 
| 
                                프레드윤
                                /
                                2021/12/31 23:12:14 /
                                추천
                                1
                             
                                protected $stay_m 선언후에 쓰셔야되여
                             | 
| 
                                엑스
                                /
                                2022/01/01 00:22:23 /
                                추천
                                0
                             도움 감사합니다. php 에서 별다른 선언없이 쓰던 것에 너무 익숙해 진 모양이네요. 하아... | 
$this->stay_m 이 변수가 선언하셨나요? 네임스페이스까지 하셨어요?