회사에서는 SMARTY 개발 모델과 결합된 Quickform이 필요하기 때문에 지난 며칠 동안 이에 대한 작업을 진행해 왔습니다. Quickform은 양식 제어 및 확인 양식을 위한 JS 코드를 빠르게 생성할 수 있는 PEAR 클래스 라이브러리입니다. . JS와 HTML을 생성하는 것이 매우 빠르지 않습니까? 실제로 소수의 양식 컨트롤을 사용하는 것이 더 번거롭지 않습니까? 퀵폼의 장점은 있지만 OA의 백엔드처럼 폼 컨트롤이 많은 경우 퀵폼의 장점이 발휘됩니다. 퀵폼을 사용하면 코드가 명확하고 유지 관리가 쉽다는 특징이 있어 개발에 매우 적합합니다. 더 편리한 점은 smarty에서 쉽게 사용할 수 있다는 것입니다. ^_^ 더 이상 고민하지 말고 먼저 PEAR 설치를 이해하는 것이 가장 좋습니다. , 참조: http://hi.baidu.com/wanghaozi/blog/item/81cfb7003f973687e850cd3e.html.
회사에서 사용하는 퀵폼은 자체적으로 개선되었기 때문에 온라인에서 보는 코드와 조금 다를 수 있습니다. 여기서는 관련된 저작권에 대해 설명하기가 불편하므로 모두가 이해할 수 있도록 핵심 코드를 간략하게 보여드리겠습니다. 관심이 있는친구는 다음 HAOHAPPY 기사를 읽을 수 있습니다:http://www.phpe.net/articles/418.shtml
[php]
/*
*작성자: Hui Boss
*페이지: path.cfg.php
*기능: 시스템 경로 설정
*저작권: 마음대로 복사^_^
* /
$global['path']['conf'] = $global['path']['root'] . 'conf/';//시스템 구성 파일 경로 정의
$global[' path' ]['lib'] = $global['path']['root'] . 'lib/';//시스템 라이브러리 파일 경로 정의
?>
[/php]
[php ]
/*
*작성자: 후이보스
*페이지: smarty.cfg.php
*기능: smarty 기본설정
*저작권: 복사 원하는 대로 ^_^
*/
//템플릿 경로 정의
$global['smarty']['template_dir'] = $global['path']['root'] 'lib /smarty/ template';
//템플릿 컴파일 디렉터리 정의
$global['smarty']['compile_dir'] = $global['path']['root'] . template_c';
//smarty 구성 폴더 경로 정의
$global['smarty']['config_dir'] = $global['path']['conf'] 'lib/smarty/configs' ;
$global['smarty']['cache_dir'] = $global['path']['root'] .'lib/smarty/cache';
//$global['smarty'] ['compile_check' ] = true;
//smarty 오류 보고를 비활성화하도록 설정
$global['smarty']['debugging'] = false;
//캐싱 끄기
$global ['smarty'][' caching'] = false;
//$global['smarty']['cache_lifetime'] = 6000;
//왼쪽 및 오른쪽 경계 문자 정의
$global ['smarty']['left_delimiter'] = '<{';
$global['smarty']['right_delimiter'] = '}>';
?>
[/ php]
[php]
/*
*작성자: Hui Boss
*페이지: common.cfg.php
*기능: 전역 구성
*저작권: 원하는 대로 복사하세요^_^
*/
$global['path']['root'] = dirname(__FILE__) '/';//루트 디렉터리 설정
require ($global['path']['conf' ] . 'conf/path.cfg.php');
require($global['path']['conf'] . 'smarty.cfg.php' );
//smarty 클래스 라이브러리 포함
require($global['path']['lib'] . 'smarty/libs/Smarty.class.php');
//smarty 구성
$tpl = new Smarty();
$tpl->template_dir = $global['smarty']['template_dir'];
$tpl->compile_dir = $global['smarty'] ['compile_dir'];
$tpl- >config_dir = $global['smarty']['config_dir'];
$tpl->debugging = $global['smarty']['debugging' ];
$tpl->caching = $global['smarty']['caching'];
$tpl->cache_lifetime = $global['smarty']['cache_lifetime'];
$tpl->left_delimiter = $global['smarty']['left_delimiter'];
$tpl->right_delimiter = $global['smarty']['right_delimiter'];
unset($ global['smarty']);
ini_set ('include_path', ini_get('include_path') .
PATH_SEPARATOR . $global['path']['lib'] . 'pear/');// 배 라이브러리 파일 로드
?>
[/php]
[php]
/*
*작성자: Hui Boss
*페이지: index.php
*기능: UI
*저작권: 원하는 대로 복사^_^
*/
require_once('common.inc.php');//전역 구성 로드
//quickform 클래스 라이브러리 포함
require($ global['path']['lib'] . 'pear/HTML/QuickForm.php');
$form = new HTML_QuickForm('changepwdform');/ /quickform 인스턴스 생성, 매개변수는 양식 이름입니다
/*
*양식 요소 추가 시작
*매개변수는 양식 요소 유형, 이름, (버튼 레이블 텍스트), 스타일
*/
$form->addElement('password', 'adminPwd','','style="width:120px"');
$form->addElement('password','newPwd', '','style="width:120px"');
$form->addElement('password','newPwd2','','style="width:120px"');
$ form->addElement('submit','btnSubmit', '비밀번호 변경','style="width:100px"');
//확인 규칙을 추가하고 JS 자동 생성
$form-> addRule('adminPwd','비밀번호는 비워둘 수 없습니다! ','required','','client');
$form->addRule('newPwd','새 비밀번호는 비워둘 수 없습니다!','required','','client');
$form->addRule('newPwd2','새 비밀번호를 다시 입력하세요!','required','client');
$form->addRule(array('newPwd',' newPwd2' ),"두 번 입력한 비밀번호가 일치하지 않습니다!",'compare','','client');
$form->;//양식 제출 비활성화
//양식 데이터를 배열에 할당
$tpl->ass(' form_data',$form->toArray());
//템플릿 표시
$tpl->display('index.tpl');
?>
[/php]
템플릿 코드:
코드 복사 코드는 다음과 같습니다.
HEAD>