>  기사  >  백엔드 개발  >  스마트프린터 사용법 Smarty+QUICKFORM 소규모 시연

스마트프린터 사용법 Smarty+QUICKFORM 소규모 시연

WBOY
WBOY원래의
2016-07-29 08:36:231037검색

회사에서는 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>
quickform smarty


bgcolor="#F6F6F6" style="font-size:9pt" class="AddTable">
< ;tr bgcolor="#FFFFFF">
관리자 비밀번호 변경


< ;td width="47%">
기존 관리자 비밀번호
>< $form_data.adminPwd.html}>


                                                          >
새 비밀번호를 다시 입력하세요

form_data.newPwd2.html} <


                                                       /form> ;





여기서 경로 정의가 왜 그렇게 복잡하고 절대 경로가 사용되는지 궁금할 것입니다. 이것은 최근 회사 프로젝트의 요구에 맞게 조정되었습니다. 하하! 실제로 이는 대규모 프로젝트를 배포하는 데 도움이 됩니다. Quickform이나 Smarty를 접해본 적이 없는 초보자들은 이 게시물로 인해 혼란스러울 것이라고 생각합니다. 물론 여기서는 간략한 소개만 하도록 하겠습니다. 관심이 있으시면 계속해서 깊이 있게 공부해 보시기 바랍니다. 효과 보기:
둘로 판단 두 번 입력한 비밀번호가 동일한지 여부는 다음 문장입니다:
[php]
$form->addRule(array('newPwd','newPwd2'), "두 번 입력한 비밀번호가 일치하지 않습니다!",'compare', '','client')
[/php]
코드가 간결하고 명확해 보이죠? 다음에는 XAJAX를 통해 계속해서 여러분과 학습 경험을 공유하겠습니다.

위 내용은 스마트프린터 사용법을 소개한 것입니다. 스마트프린터 사용법을 포함한 간단한 데모입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.