고도몰 프로 예제 - 사용자 페이지 추가

새 페이지 만들기

/test/test.php를 만들기

  • module/Controller/Front/폴더 하위에 추가할 컨트롤러 파일을 추가합니다.
  • domain.com/test/test.php 경로에 사용자 페이지를 추가고자 한다면 module/Controller/Front/Test/폴더 아래 `TestController.php 파일을 추가합니다.
  • module폴더 이후 부터의 폴더명은 Upper Camel Case로 작성합니다.
  • NamespaceController\폴더명\폴더명으로 작성합니다.
  • 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>
  • 실행결과
    예제1

/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`으로 넘겨서 데이터를 가공하기 위해서 사용되어집니다.
  • 실행화면
    예제2 실행화면