IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  오픈 소스  >

PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기, Part 2: 기본 위키 코드 개발하기 (한글)

크리키에 사용자 등록, 엔트리 스토리지, 맞춤 마크업 렌더링 추가하기

developerWorks
Go to the previous page14 페이지 중 4 페이지Go to the next page

문서 옵션

샘플 코드


제안 및 의견
피드백

튜토리얼 평가

이 컨텐츠를 개선하기 위한 도움을 주십시오.


사용자 클린업

사용자들은 크리키에 와서 자신의 계정을 만들고 애플리케이션에 로그인, 로그아웃을 할 수 있다. 이제 기본적인 사용자 기능을 가지고 있으니 필요 없는 동작을 지우고 편집 동작을 잠궈 사용자의 컨트롤러를 클린업하고, 로그인/로그아웃/등록 기능에 접근할 수 있는 기본 레이아웃을 변경해야만 한다.

사용자 컨트롤러 클린업

여기서 사용자 컨트롤러 클린업을 위해 몇 가지 해야 할 일이 있다. 삭제 동작은 지금은 별 필요 없으니 일단 삭제한다. 또한 사용자만이 자신의 정보를 편집할 수 있으므로 편집 동작은 변경되어야 한다. 이를 다 하면 새로운 편집 컨트롤러는 Listing 7처럼 보일 것이다.


Listing 7. 새로운 편집 컨트롤러
                    
function edit($id = null) {
  if ($this->Session->check('User')) {
    $user = $this->Session->read('User');
    if(empty($this->data)) {
      if(!$id) {
        $this->Session->setFlash('Invalid id for User');
        $this->redirect('/user/index');
      }
      $this->data = $this->User->read(null, $id);
    } else {
      if ($id == $user['id']) {
        $this->cleanUpFields();
        if($this->User->save($this->data)) {
          $this->Session->setFlash('The User has been saved');
          $this->redirect('/user/index');
        } else {
          $this->Session->setFlash('Please correct errors below.');
        }
      }
    }
  }
}

편집 동작은 사용자가 로그인된 상태인지 또는 편집되고 있는 사용자 ID가 편집을 하고 있는 사용자의 ID와 같은지 확인하지 않는다.




위로


기본 레이아웃 변경

우리는 기본 레이아웃에 있는 $session 변수에 접근할 수 있고 로그인된 사용자에게만 로그아웃 링크를 보여줄 수 있다. 반면 로그아웃된 사용자들에게는 로그인/등록 링크를 보여준다.

app/views/layouts/default.thtml을 편집하고 다음 코드를 링크 메뉴에 추가하자.


Listing 8. 기본 레이아웃 변경하기
                    
<?php if ($session->check('User')) {
  echo $html->link('logout', '/users/logout');
} else {
  echo $html->link('login', '/users/login');
  echo ' | ';
  echo $html->link('register', '/users/register');
} ?>

일단 여기까지 하자. 다음 절에서는 엔트리 컨트롤러에 대해 다루겠다.




위로



Go to the previous page14 페이지 중 4 페이지Go to the next page
    IBM 소개 개인정보 보호정책 문의