고도몰 프로 예제 - 사용자 페이지 추가
새 페이지 만들기
/test/test.php
를 만들기
-
module/Controller/Front/
폴더 하위에 추가할 컨트롤러 파일을 추가합니다.
-
domain.com/test/test.php
경로에 사용자 페이지를 추가고자 한다면 module/Controller/Front/Test/
폴더 아래 `TestController.php 파일을 추가합니다.
-
module
폴더 이후 부터의 폴더명은 Upper Camel Case
로 작성합니다.
-
Namespace
는 Controller\폴더명\폴더명
으로 작성합니다.
-
Classname
는 파일명과 동일해야 합니다.
-
\Controller\Admin\Controller
라는 부모 클래스에서 상속받습니다.
-
Class Methods
로 반드시 index()
를 포함해야 합니다.
- 추가로
Methods
만들어 동일 파일내에서 사용이 가능합니다.
- PHP 소스 코드만 포함된 경우
?>
를 생략합니다. (PSR0 표준)
-
module/Controller/Front/Test/TestController.php
소스 내용
<?php
namespace Controller\Front\Test;
use Globals;
use Session;
use Response;
use Request;
/**
* 테스트용
*/
class TestController extends \Controller\Front\Controller
{
/**
* {@inheritdoc}
*/
public function index()
{
$setData = 'Hello World !!!';
$this->setData('setData', $setData);
}
}
-
/data/skin/front/[스킨]/test/test.html
스킨 소스 내용
<table border="1">
<tr>
<td>{=setData}</td>
</tr>
</table>
- 실행결과
/test/sample.php
를 만들기
-
module/Controller/Front/Test/
폴더 아래 SampleController.php 파일추가
-
module/Controller/Front/Test/TestController.php
소스 내용
<?php
namespace Controller\Front\Test;
use Request;
use Session;
use Cookie;
class SampleController extends \Controller\Front\Controller
{
public function index()
{
echo 'Hello World !!!<br>';
echo '<pre>';
print_r(Request::get()->all());
print_r(Request::post()->all());
print_r(Session::all());
print_r(Cookie::all());
echo '</pre>';
exit();
}
}
- 액션처리와 같이 스킨으로 전송할 필요가 없는 경우
index()
메소드에서 exit();
처리로 강제 종료시켜야 합니다.
- 스킨에서 처리될 내용을
echo
하지 않을 것이라면 이러한 방식으로 사용할 것을 권장합니다.
- 보통 고도몰에서는
SomePsController
라는 이름으로 사용하고 있으며 form`으로 넘겨서 데이터를 가공하기 위해서 사용되어집니다.
- 실행화면