ホームページ  >  記事  >  バックエンド開発  >  スマートプリンターの使い方 Smarty+QUICKFORM 小規模デモ

スマートプリンターの使い方 Smarty+QUICKFORM 小規模デモ

WBOY
WBOYオリジナル
2016-07-29 08:36:231049ブラウズ

会社では SMARTY 開発モデルと組み合わせた Quickform を必要としているため、ここ数日間取り組んできました。Quickform は、フォーム コントロールと検証フォーム用の JS コードを迅速に生成できる PEAR クラス ライブラリです。これを手動で作成すると、JS と HTML を生成する方が面倒ではないでしょうか? 確かに、少数のフォーム コントロールではクイックフォームの利点を発揮できません。 OA のバックエンドなど、多数のフォーム コントロールがある場合、Quickform の利点が発揮されます。これは、大規模および中規模の開発に非常に適しています。さらに便利なのは、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]
/*
*著者: Hui Boss
*ページ:smarty.cfg.php
*関数: Smarty の基本構成
*著作権: ^_^
*/
//テンプレートのパスを定義します
$global['smarty']['template_dir'] = $global['path']['root'] ' lib/smarty/templates';
//テンプレートのコンパイルディレクトリを定義します
$global['smarty']['compile_dir'] = $global['path']['root'] 'lib/smarty/templates_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->デバッグ = $global['smarty']['debugging'];
$tpl->キャッシング = $global['smarty']['キャッシュ'];
$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/');// pear ライブラリ ファイルをロードします
?>
[/php]
[php]
/*
*作者: Hui Boss
*ページ:index.php
*機能:UI
*著作権:何でもコピー^_^
*/
require_once('common.inc.php');//グローバル設定をロード
//クイックフォームクラスライブラリが含まれています
require( $global['path']['lib'] . 'pear /HTML/QuickForm.php');
$form = new HTML_QuickForm('changepwdform');//クイックフォームインスタンスを生成します。パラメータはフォーム名です
/ *
*フォーム要素の追加を開始します
*パラメーターは次のとおりです: フォーム要素のタイプ、名前、(ボタンのラベルのテキスト)、スタイル
*/
$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'),"Enter 2回 パスワードが一致しません!",'compare','','client');
$form->gt;;//フォーム送信を無効にする
//フォームデータを配列に代入する
$tpl->assign('form_data',$form- >toArray());
//テンプレートを表示
$tpl->display('index.tpl');
?>
[/php]
テンプレートコード:

コードをコピーコードは次のとおりです:


quickform+smarty

; }>>


{$form_data.attributes> ="0" align="center" cellpadding="3" cellpacing="3"
bgcolor="#F6F6F6" style="font-size:9pt" class="AddTable">

管理者パスワードの変更


< ;tr>
tr>




新しいパスワードを再度入力してください
;td><{$form_data.newPwd2.html}> ;

= "text/javascript" src="response.js"> ;/BODY>



ここで、絶対パスの定義と使用がなぜそれほど複雑なのか疑問に思うかもしれません。パスはどうなるのでしょうか?これは最近、企業プロジェクトのニーズに合わせて調整されました (笑)。実際、これは大規模なプロジェクトをデプロイする場合に役立ちます。もちろん、ここでは簡単に紹介するだけなので、quickform や Smarty に触れたことのない初心者は混乱すると思います。興味があればさらに詳しく学習して、最終的にはご覧いただければ幸いです。効果:
判定を見て、パスワードが同じかどうかを確認してください:
[php]
$form->addRule(array('newPwd','newPwd2'),"2 回入力したパスワードは一致しません。 !",'compare','','client' );
[/php]
コードは簡潔で明瞭に見えますか?ははは、次は XAJAX と組み合わせたアプリケーションに適用されます。私の学習経験を引き続き共有していきますみんなで、ふふ!

Smarty+QUICKFORM は、smartprinter の使用方法を含む簡単なデモです。PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。