IDE & Framework/CodeIgniter

[PHP] Code igniter MVC

Greensky0026 2022. 3. 10. 21:07
반응형

https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC

Controller

controllers폴더 내에 위치해야 한다.

CI_Controller를 상속받는 클래스를 생성해 컨트롤러를 여러개 생성할 수 있다.

class Practice extends CI_Controller
	{
			...
	}

위의 경우는 https://YOUR_SERVER_ENDPONT_NAME/practice로 접근이 가능하다.

원래는 URL 중간의 index.php의 존재가 있었으나(이전 포스팅 참조),

세팅을 통해 URL 중간에서 제거할 수 있음(https://www.cikorea.net/bbs/view/lecture?idx=7073)

내부에 index() 함수 생성시 https://YOUR_SERVER_ENDPONT_NAME/practice로 접근하면 index()가 호출된다.

index외에 get() 함수가 존재한다면

https://YOUR_SERVER_ENDPONT_NAME/practice/get

로 접근이 가능하며, get($id)의 경우

https://YOUR_SERVER_ENDPONT_NAME/practice/get/1

로 접근할 시에 매개변수로 1을 받는다.

 

View

View를 그린 php파일이 해당됩니다.

특별한건 없고, 한번에 할수도있지만 head, footer, body등등을 분할해서 호출해도 됨.

일반적인 HTML파일로써, views폴더 내부에 위치해야 함.

출력할 땐, 컨트롤러에서 $this->load->view('HTML_FILE_NAME') 를 사용하면 된다.

 

Model

CI_Model를 상속받는 클래스를 생성해야 합니다.

class Practice_model extends CI_Model{

	//...
    
}

컨트롤러에서 $this->load->model('Practice_model');으로 불러올 수 있다.

로드를 한다면, 이후 함수를 $topics = $this->practice->gets() 꼴로 호출해 사용할 수 있습니다.

 

반응형