会社では 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]
/*
*著者: 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[ 'パス']['conf']; 'lib/smarty/configs';
//$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
*機能: グローバル構成
*著作権: copyお好みで^_^
*/
$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/');//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') //クイックフォーム インスタンスを生成します。パラメータはフォーム名です
/*
*Startフォーム要素の追加
*パラメータは次のとおりです: フォーム要素のタイプ、名前、(ボタンのラベルのテキスト)、スタイル
*/
$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' ),"2 回入力したパスワードは一致しません。",'compare','','client');
$form->;//フォーム送信を無効にする
//フォーム データを配列に割り当てる
$tpl-> assign('form_data',$form->toArray());
//テンプレートを表示
$tpl->display('index.tpl');
?>
[/php]
テンプレートコード:
コードをコピー コードは次のとおりです:
管理者パスワードの変更 |
< form_data.adminPwd.html}> | 🎜>新しいパスワードを再度入力してください tr> |