Controller
Controller는 유저가 요청하는 URL을 매핑하여 설정된 함수를 실행하는 처리를 합니다.
위치
app\controllers에 위치합니다.
Controller 생성
<?php
namespace App\Controllers;
class Topic extends BaseController
{
public function index()
{
echo "안녕";
}
}
CodeIgniter에서 Controller에는 무슨 약속이 있는지를 먼저 알필요가 있는데,
URL : root경로/public/Controller/method/파라미터
위와같은 약속으로 controller에 매핑이 되게 됩니다.
이게 무슨말이냐면, 위의 같이 Topic class의 index메소드를 실행시키기위해서는
URL : 고정경로/topic/index로 요청을 보내야합니다.
(index는 생략이 가능합니다. "고정경로/topic")
위의 index 함수는 그저 화면에 "안녕"을 출력한 것 뿐이지만
view에 있는 파일을 출력시킬 수 있습니다.
view()
<?php
namespace App\Controllers;
class Topic extends BaseController
{
public function index()
{
echo view('topic');
}
}
view()함수를 이용하면, app\views\ 경로에 있는 파일을 검색을하여 화면에 출력시킵니다.
view('topic')은 app\views\topic.php 을 의미하는 것과 같습니다.
<?php
namespace App\Controllers;
class Topic extends BaseController
{
public function index()
{
echo view('topic', ['name' => 'jongin']);
}
}
또한, view파일에 데이터를 보내는 것도 가능합니다.
view('topic', 배열)형태로 사용하게 되면, 해당 topic.php파일에서는 배열안에있는 데이터를 사용할 수 있게 됩니다.
topic.php
<div class="col-10">
<?= $name ?>
</div>
위와같이 controller에서 받은 $name 데이터를 사용
파라미터를 이용
<?php
namespace App\Controllers;
class Topic extends BaseController
{
public function index()
{
echo view('topic', ['name' => 'jongin']);
}
public function get($id)
{
echo $id;
}
}
get()함수에는 $id에 인수를 받게 되어있습니다.
그러면, controller의 약속에 맞춰서 get메소드를 이용하기 위해서는,
URL : 고정주소/topic/get/3
topic클래스의 get메소드 사용, 파라미터는 3이 됩니다.
그 외에도 파라미터 관련해서 _remap()이라는 함수도 존재합니다.
'IT 공부 > CodeIgniter' 카테고리의 다른 글
[ Codeigniter ] Codeigniter 4 프로젝트 virtualhost 서버 설정 (0) | 2022.02.28 |
---|---|
[ Codeigniter 4 ] GoogleのKeyword広告クローラー (0) | 2022.01.21 |
[ codeigniter 4 ] 더보기를 클릭하면, ajax를 통해서 목록 불러오기 (0) | 2022.01.05 |
[ CodeIgniter 4 ] model을 이용해서 DB에 있는 Data가져오기 (0) | 2021.12.08 |
[ CodeIgniter 4 ] 설치, 환경설정 (0) | 2021.12.07 |