ホームページ > バックエンド開発 > PHPチュートリアル > Smarty+QUICKFORM 小規模デモ_PHP チュートリアル

Smarty+QUICKFORM 小規模デモ_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:57:08
オリジナル
977 人が閲覧しました

会社では 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['path']['conf'] 'lib/smarty/configs';
$ global ['smarty'] ['cache_dir'] Due Smartyエラー報告Disabled
$ global ['smarty'] ['debugging'] = false; 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->キャッシュ = $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');//クイックフォーム インスタンスを生成します。パラメータはフォーム名です

/*
*フォーム要素の追加を開始します
*パラメータは次のとおりです: フォーム要素の種類、名前、(ボタンのラベルのテキスト) ), style
*/
$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','Change password','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->;//フォーム送信を無効にする

//フォームデータを配列に代入する
$tpl->assign('form_data',$form ->toArray());

//テンプレートを表示
$tpl->display('index.tpl');


?>
[/php]
テンプレートコード:

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


> <{$form _ data.javascript} >

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

管理者パスワードの変更



< div align ="center">既存の管理者パスワード

; .newPwd.html}
td>
< /td>



なぜこのように複雑なパスが絶対パスを使用して定義されているのか疑問に思うかもしれません。これは最近、企業プロジェクトのニーズに合わせて調整されました (笑)。実際、これは大規模なプロジェクトをデプロイする場合に役立ちます。もちろん、ここでは簡単に紹介するだけなので、quickform や Smarty に触れたことのない初心者は混乱すると思います。興味があれば、さらに深く学習していただければ幸いです。効果を確認してください:

2 回見て、入力されたパスワードが同じかどうかを確認してください:
[php]
$form->addRule(array('newPwd','newPwd2'),"2 回入力されたパスワードは矛盾しています!",'compare','','client ');
[/php]
コードは簡潔で明瞭に見えますか?ははは、次は XAJAX と組み合わせたアプリケーションに適用されます。私の学習経験を引き続き共有していきますみんなで、ふふふ!




http://www.bkjia.com/PHPjc/317876.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/317876.html

技術記事

会社では SMARTY 開発モデルと組み合わせた Quickform を必要としているため、ここ数日間取り組んできました。Quickform は、フォーム コントロールと検証を迅速に生成できる PEAR クラス ライブラリです。



>
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート