| 제목 | form 헬퍼 이용시 협업관계가 궁금합니다. | ||
|---|---|---|---|
| 글쓴이 | 제키 | 작성시각 | 2013/08/22 16:24:32 | 
| 
                         | 
                |||
| 
                         
 
<?php
$this->load->helper('form');
$attributes = array('class' => 'writeForm', 'id' => 'writeForm');
echo form_open('/update', $attributes);
$data = array(
 'subject' => array(
     'name' => 'subject',
     'id' => 'subject',
 ),
 'content' => array(
     'name' => 'content',
     'id' => 'content',
     'style' => 'width:600px;height:300px;',
 )
);
?>
<div>
   제목
   <?php echo form_input($data['subject'])?>
</div>
<div>
   내용
   <?php echo form_textarea($data['content'])?>
</div>
<div>
   <?php echo form_submit('submit', '저장')?>
</div>
  | 
                |||
| 다음글 | 다른나라 언어 DB에 인서트시 유니코드로 나오는 현상 (11) | ||
| 이전글 | $.post 한글 공백되는 문제 (11) | ||
| 
                             
                                변종원(웅파)
                                /
                                2013/08/22 17:16:11 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                한대승(불의회상)
                                /
                                2013/08/22 17:33:21 /
                                추천
                                0
                             
                            
                                1장짜리 요약 가이드를 만들어 함께 이야기 합니다. 
                        템플릿이 생소하여 디자이너분들이 어려워 하거든요. ^^  | 
                    
| 
                             
                                한대승(불의회상)
                                /
                                2013/08/22 17:40:59 /
                                추천
                                0
                             
                            
                                올려주신 소스코드는 디자이너들이 보기에 난해한 부분들이 많아 보입니다. 
                        복잡하다 싶은 부분은 컨트롤러에서 처리 하시고 뷰에서는 최대한 간단하게 작성하는게 좋을것 같습니다. * Controler 부분 
<?php
class Test extend CI_Controller {
  function __construct()
  {
    parent::__construct();
    $this->load->helper('form');
  }
  function index()
  {
    $data = array(
      'attributes' => array('class' => 'writeForm', 'id' => 'writeForm'),
      'data' => array(
 'subject' => array(
     'name' => 'subject',
     'id' => 'subject',
 ),
 'content' => array(
     'name' => 'content',
     'id' => 'content',
     'style' => 'width:600px;height:300px;',
    ));
    $this->load->view('test', $data);
  }
}
* 뷰
<?php echo form_open('/update', $attributes);?>
<div>
   제목 <?php echo form_input($data['subject'])?>
</div>
<div>
   내용 <?php echo form_textarea($data['content'])?>
</div>
<div>
   <?php echo form_submit('submit', '저장')?>
</div>
</form>
 | 
                    
| 
                             
                                oursong
                                /
                                2013/08/22 18:00:24 /
                                추천
                                0
                             
                            
                                class나 id만 값만 상호간 주고 받으면 어떨까요? ㅎㅎㅎ 
                        HTML로 출력된 페이지를 .html페이지로 하나 저장해서 보내주거나. css나 자바만 만지면 될 것 같은데요. 참고로 저 코드에서 배열로 잡힌 data는 
$data = array(
 'subject' => array(
     'name' => 'subject',
     'id' => 'subject',
     'class' => 'test'
 ),
 'content' => array(
     'name' => 'content',
     'id' => 'content',
     'style' => 'width:600px;height:300px;',
     'class' => 'testx'
 )
);
로도 작동합니다.요즘 브라우저들 기능도 많던데 쩝.  | 
                    
| 
                             
                                들국화
                                /
                                2013/08/22 18:16:10 /
                                추천
                                0
                             
                            
                                개인적으로 form 헬퍼를 안쓰는데요. 
                        새로 익히려니 힘든것도 있고 해서 AR도 안쓰고요. 뷰가 좀더 의존적으로 되는거 같네요... 뷰는 데이타 뿌리고 입력 받는기능에 충실하는게 좋을듯 합니다.  | 
                    
| 
                             
                                제키
                                /
                                2013/08/22 18:27:33 /
                                추천
                                0
                             
                            
                                저만 너무 똥고집 부리는건 아닌가해서 다른 분들은 어떻게 하시는지 여쭤봤습니다. 
                        모든 분들 좋은 의견 감사합니다. 역시나 익숙해 질때까지 교육을 하고, 거부하면 '너 나가!' 로 결론 졌습니다. ^^  | 
                    
| 
                             
                                risa
                                /
                                2013/08/23 09:54:07 /
                                추천
                                0
                             
                            
                                저도 한대승님 의견에 동의 합니다. 
                        폼헬퍼가 눈에 안들어오는 느낌이 없지 않아 있습니다. 가독성 측면에서는 복잡해 질수록 폼헬퍼가 더 간단 하지만 오히려 즉흥이며 간단하고 단일적인 폼은 하드 HTML이 더 가독성이 좋다고 생각 합니다. 더불어 단순히 뭐가 더 좋다는것보다 웅파님 의견처럼 한쪽이 일방적으로 '난 몰라요~' 하면 이미 협업이 아니죠. 난 일 다했으니 나머지는 너가 다 알아서 하든가. 하고 다른게 뭐인가요?  | 
                    
| 
                             
                                들국화
                                /
                                2013/08/23 10:05:22 /
                                추천
                                0
                             
                            
                                논란일 많은 부분이지만 php는 Server Side Language 입니다. 
                        그렇타면 누가 작업해야 하는지 좀더 분명해 지는게 아닐까 합니다. 뭐 프론트단에서 잘 해 주면은 아주 좋치요. 하지만 강요하기는 힘들어 보이네요. 위에도 적었지만 한대승님 과 비슷하게 저는 프론트와 백엔드가 연관성을 줄이고 자유롭게 하는게 좋치 않을까 하는 생각입니다. 그게 MVC 취지에도 맞지 않을까 생각 합니다.  | 
                    
| 
                             
                                들국화
                                /
                                2013/08/23 11:31:16 /
                                추천
                                0
                             
                            
                                그런데 잘 몰라서 그러는데요. form헬퍼가 보안에 도움이 되나요? 
                         | 
                    
| 
                             
                                한대승(불의회상)
                                /
                                2013/08/23 11:37:20 /
                                추천
                                0
                             
                            
                                들국화// 보안쪽은 잘 모르겠지만... 
                        url헬퍼 form헬퍼 를 사용하게 되면 배포용 에플리케이션 작성에 도움이 됩니다.  | 
                    
| 
                             
                                변종원(웅파)
                                /
                                2013/08/23 11:50:13 /
                                추천
                                0
                             
                            
                                들국화/ csrf 방지를 위해 config.php에서 설정을 했을 경우 
                        폼헬퍼를 사용해야 제대로 구현이 됩니다. (매뉴얼 참고) 폼헬퍼가 보안에 도움이 되는게 아니라 csrf설정을 했을 경우 폼헬퍼를 사용해서 폼오픈을 해줘야 하는겁니다. ^^  | 
                    
| 
                             
                                들국화
                                /
                                2013/08/23 12:05:16 /
                                추천
                                0
                             
                            
                                웅파// 오~ 그런게 있었네요. 
                        
 private function _csrf_set_hash()
 {
  if ($this->csrf_hash == '')
  {
   // If the cookie exists we will use it's value.  We don't necessarily want to regenerate it with
   // each page load since a page could contain embedded sub-pages causing this feature to fail
   if (isset($_COOKIE[$this->csrf_cookie_name]) AND $_COOKIE[$this->csrf_cookie_name] != '')
   {
    $this->csrf_hash = $_COOKIE[$this->csrf_cookie_name];
   }
   else
   {
    $this->csrf_hash = md5(uniqid(rand(), TRUE));
   }
  }
  return $this->csrf_hash;
 }대충 찾아보니 랜덤 해시값을 쿠키로 구워서 사용 하는거 같네요. 역시.. ㅋㅋㅋ | 
                    
| 
                             
                                맥스
                                /
                                2013/08/23 12:52:32 /
                                추천
                                0
                             
                            
                                 디자이너가 잘 모른다면 
                        form_open 만 쓰셔도 csrf 는 작동하니 사용하시고 나머지는 디자이너에게 맞기시는게 서로 윈윈하는 게 아닐까 합니다. 다 프로그램에서 하려고 하면 힘들어요 ㅜㅜ  | 
                    
드림위버나 여타 툴로 위 소스를 보게되면 디자인 요소는 해치지 않고 표현이 됩니다.
그런 목적으로 html 태그안에 <?php echo $변수?> 형태로 삽입을 하는 것이구요.
저 자체만으로도 아주 기본적인 템플릿입니다.
협업을 위한 템플릿 개념을 거부(?)하는 디자이너, 코더라면 재고해봐야 하지 않을까요?
디자이너가 디자인만 해야지 코딩은 무슨.. 이라고 하면 할 말이 없죠.
협조 하지 않는데 협업을 어떻게 할지... 답은 이미 나와있습니다.