코드이그나이터 HMVC 모듈 사용할때 폼 검증 콜백 안먹힐때

개발일지/웹 2010/02/01 17:30

CodeIgniter HMVC 모듈을 사용해 폼 검증을 하면 콜백함수가 안먹힌다.

 

$this->form_validation->set_rules( 'username', 'Username', 'callback_username_check' );

 

콜백을 호출하면 Form_validation.php의    

if ( ! method_exists($this->CI, $rule))에서 클래스 메쏘드를 찾을수 없음

 

삽질하다가 구글링을 했는데 오호 역시 구글 ^^;;

 

http://www.mahbubblog.com/php/form-validation-callbacks-in-hmvc-in-codeigniter/

http://codeigniter.com/forums/viewthread/92212/P90/#578755

 

application/libraries/MY_Form_validation.php 파일 추가

class MY_Form_validation extends CI_Form_validation
{
   
function run($module = '', $group = '')
{        
       
(is_object($module)) AND $this->CI =& $module
;
        return
parent::run($group
);
   
}    
}
/* End of file MY_Form_validation.php */

/* Location: ./application/libraries/MY_Form_validation.php */

 

폼검증부분에서 $this->form_validation->run()  부분을 아래와 같이 $this 추가

if ($this->form_validation->run($this)) {
   
...
}

 

tags : codeigniter
Trackback 0 : Comment 0

코드이그나이터 최적세팅 (웹호스팅환경하^^)

개발일지/웹 2010/01/28 02:43

http://codeigniter.com/에서 최신버전 다운로드

 

코드이그나이터 압축을 풀면 구조는 아래와 같다.

/system/
/system/application/
/user_guide/
index.php


/system/밑에 application을 상위디렉토리로 이동한다(관리가 용이함 ^^)

index.php에서 application 경로 수정.

/system/
/application/
/user_guide/
index.php

 

 

* 멀티도메인 또는 개발&실서버를 같이 돌릴경우 application 폴더를 2개로 복사.

/system/
/app_dev/ (개발서버)
/app_live/ (실서버)

index.php

 

/index.php 를 /app_dev/와 /app_live에 각각 복사하고 i

/system/
/app_dev/index.php
/app_dev/index.php

 

/app_dev/index.php와  /app_live/index.php 경로 수정하기

$system_folder = "../system";
$application_folder = "../app_dev";

$system_folder = "../system";
$application_folder = "../app_live";


/.htaccess 파일을 추가해 각각 도메인별로 경로세팅

RewriteEngine on

RewriteCond %{HTTP_HOST}  aaa.kr$ [NC]
RewriteCond %{REQUEST_URI} !^/app_live/.*$
RewriteRule ^(.*)$  /app_live/$1 [L]

RewriteCond %{HTTP_HOST}  test.hosting.com$ [NC]
RewriteCond %{REQUEST_URI} !^/app_dev/.*$
RewriteRule ^(.*)$  /app_dev/$1 [L]

 

/app_dev/.htaccess /app_live/.htaccess

RewriteEngine on
RewriteCond $1 !^(index\.php|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

 

css, images, js등은 RewriteCond에 추가해서 / 로 빼줘도 되지만

관리효율성 차원에서 app_dev/css, app_dev/images 처리하는게 좋음.

 

효율적인 구조관리

http://codeigniter.com/wiki/Modular_Extensions_-_HMVC 

압축풀어 app_dev/libraries/ 밑에 모두 복사

 

app/dev/modules 폴더 만들고 구조관리

app/dev/modules/member

app/dev/modules/member/controller

app/dev/modules/member/models

 

다른 모델 호출시 $this->load->model('경로명/모델명');

실행   echo modules::run('test/controller/함수명');

 

 

보안관련

http://kylehasegawa.com/codeigniter-csrf-xsrf-library

 

 

 

 

tags : codeigniter
Trackback 0 : Comment 0