ホームページ >php教程 >php手册 >いくつかのカスタムクラスのsmarty adodb php開発モード

いくつかのカスタムクラスのsmarty adodb php開発モード

WBOY
WBOYオリジナル
2016-06-13 12:35:011027ブラウズ

数日前、HotNet のバックエンドがほぼ完成し、その作業を要約するのに少し時間がかかりました。
デザインモードに関しては、開発の mvc モードを使用してみました。 Smarty を使用して表示を制御し、case ステートメントを使用してさまざまなアクションを制御し、アクション呼び出し用のさまざまなモジュールのクラスを作成します。これにより、コードの制御が向上します。たとえば、class.message.php に getAllMsg() 関数を記述した場合、この関数は多くのアクションから呼び出すことができます。次に、ページング クラスを追加します。データ処理においては非常に柔軟です。

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

$db=new Db
$sql="select * from com_info, hr_info ここで、hr_info .ci_id=com_info.id および {$cate} like '%{$content}%'";
$totalArr=$db->e​​xecute($sql);
$url="hr .php? op=searchHrInfoAction&cate={$cate}&content=".urlencode($content);
$totalItems=count($totalArr);
$currentPageNumber=(isset($_GET['page']) )?$ _GET['page']:1;
$pageNav=new PageNumber($currentPageNumber,$totalItems,3,3,$url);
$currentPageRs=$pageNav->getRsPerPage(&$ totalArr);
$pageNav->getPageNumber();
$smarty->assign("pageNavigation",$pageNavigation);
$smarty->assign("hr", $currentPageRs) ;
$smarty->display("hr_get.htm");

この方法は共同開発に非常に役立ち、コードの重複率はそれほど高くありません。
しかし、上記のコードに示されているように、さまざまなモジュールのクラスを構築することに加えて、さまざまなパーソナライズされたクエリが存在するため、コントロール内で db クラスを直接使用することが避けられません (もちろん、これらのプロセスはクラスのクラスで書くこともできますが、少し肥大化して不自然に思えます)。
ただし、利便性の観点から、コードまたは関数が他の場所から呼び出されない場合は、mc をまとめて v だけを保持することができます。これにはソフトウェアの慎重な分析が必要です。仕事を終えたら、家に帰ります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。