CI4 공부중입니다.
App하위 메뉴가 아닌 root 바로 아래에 module 이라는 폴더를 생성하여,
해당 폴더안에서 view,controller,model 기능을 처리하고싶습니다.
module/board/views
module/board/model
module/board/controllers
이런식으로 만들어 게시판 기능을 구현하려는데
접근이 안됩니다.
module/board/controllers/board.php
로 컨트롤러 생성하였고,
namespace modules\board;
use App\Models\NewsModel;
use CodeIgniter\Controller;
class Board extends Controller
{
}
이렇게 작성하였고,
Autoload 파일에 psr4 에 'Board' => ROOTPATH.'modules/board', 추가하였습니다.
Routes 파일에는
$routes->group('board', ['namespace' => '_modules\board'], function ($routes) {
$routes->get('/', 'controllers/Board::index');
});
주었는데 접근이 안됩니다.
http://도메인/board 로 접속했을때
module/board/controllers/board.php 파일의 index로 접근했으면 좋겠습니다.
메뉴얼 참고해서 공부중인데 잘 모르겠습니다. 도와주세요~
404에러로
Controller or its method is not found: \modules\board\controllers\Board::index
이렇게 뜹니다ㅠㅠ
자답입니다.
namespace 문제네요
board.php 의 namespace 를
namespace Board\controllers;
Routes 파일은
$routes->group('board', ['namespace' => 'Board\controllers'], function ($routes) {
$routes->get('/', 'controllers/Board::index');
});
수정하여 작동합니다.