会社では 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]
テンプレートコード:
コードをコピーコードは次のとおりです:
{$form_data.attributes> ="0" align="center" cellpadding="3" cellpacing="3"
bgcolor="#F6F6F6" style="font-size:9pt" class="AddTable">