生活随笔
收集整理的這篇文章主要介紹了
phpcms v9二次开发之模型类的应用(1)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在《phpcms二次開(kāi)發(fā)之模型類model.class.php》中講到了模型類的建立方法,接下來(lái)我講一下模型類的應(yīng)用。
????? 前段時(shí)間我基于phpcms v9開(kāi)發(fā)了一個(gè)足球網(wǎng)。足球網(wǎng)是由好幾個(gè)模塊組成的,如圖:?
?
?
我選其中一個(gè)比較簡(jiǎn)單的級(jí)別管理模塊來(lái)說(shuō)一下模型類的應(yīng)用,為了明了我對(duì)其作了簡(jiǎn)化,但是功能保持完整,基本上包函了模型類的基本應(yīng)用,如添加數(shù)據(jù),修改數(shù)據(jù)、查詢數(shù)據(jù)、刪除數(shù)據(jù)。
一、模型操作方法insert()--添加數(shù)據(jù)
下面是級(jí)別模塊的后臺(tái)控制器level.php的代碼片斷:
view source print? | 02 | defined('in_phpcms')?or?exit('no permission resources.'); |
| 03 | pc_base::load_app_class('admin',?'admin', 0); |
| 04 | pc_base::load_app_func('global'); |
| 05 | class?level?extends?admin {//繼承后臺(tái)管理類,所以就含有了權(quán)限控制 |
| 08 | ?//控制器的構(gòu)造函數(shù),加載初始化一些功能操作 ,如加載了level_model |
| 09 | ???public?function?__construct() { |
| 11 | ???????$this->username = param::get_cookie('admin_username'); |
| 12 | ???????$this->level = pc_base::load_model('level_model');//加載級(jí)別模型類level_model.class.php |
| 16 | ???public?function?addlevel(){ |
| 17 | ??????if(isset($_post['dosubmit'])){//判斷如果提交表單則執(zhí)行下面的插入語(yǔ)句 |
| 19 | ???????if($this->level->insert($_post['football'])){ |
view source print? | 1 | ???showmessage(l('level_successful_added'),'?m=football&c=level&a=levellists'); |
view source print? | 2 | ??include?$this->admin_tpl('level_add');//加載后臺(tái)添加級(jí)別的模板 |
insert()是插入數(shù)據(jù)的模型方法,$_post['football']是提交過(guò)來(lái)的級(jí)別字段,它是一個(gè)數(shù)組,如圖:
?
模板代碼片斷:
view source print? | 01 | <form action="?m=football&c=admin_sl&a=addlevel"?method="post"?name="myform"?id="myform"?> |
| 02 | <table?class="table_form"?width="100%"?cellspacing="0"> |
| 05 | <th width="80"><strong><?php?echo?l('level_name')?>:</strong></th> |
| 06 | <td><input type="text"?name="football[level]"?size="20"?id="level"?class="input-text"/></td> |
| 09 | <th width="80"><strong></strong></th> |
| 10 | <td><input type="submit"?name="dosubmit"?id="dosubmit"?value=" <?php echo l('submit')?> "> <input type="reset"?class="dialog"?value=" <?php echo l('clear')?> "</td> |
上面的addlevel()方法如果轉(zhuǎn)化為mysql語(yǔ)句為:
view source print? | 01 | public?function?addlevel(){ |
| 02 | ????if(isset($_post['dosubmit'])){ |
| 03 | ????$sql?=?"insert into `fb_level` (`level`) values ('".football[level]."')"; |
| 04 | ????$result=$this->level->query($sql); |
| 06 | ????showmessage(l('level_successful_added'),'?m=football&c=level&a=levellists'); |
| 10 | ????include?$this->admin_tpl('level_add'); |
????? 通過(guò)兩個(gè)方法的對(duì)比我們知道,使用phpcms v9封裝的方法insert()插入數(shù)據(jù)時(shí)更為簡(jiǎn)單方便。當(dāng)然上面插入的字段只有一個(gè),如果插入十幾二十個(gè)字段的話,依然是$this->level->insert($_post['football'])就搞定。如果用mysql語(yǔ)句的話,就顯得繁瑣不堪了。砍柴不誤磨刀工,所以phpcms v9二次開(kāi)發(fā)中,熟悉運(yùn)用model.class.php數(shù)據(jù)庫(kù)模型類的方法,能起到事半功倍的作用。(待續(xù)...)
轉(zhuǎn)載于:https://www.cnblogs.com/semcoding/p/3358799.html
總結(jié)
以上是生活随笔為你收集整理的phpcms v9二次开发之模型类的应用(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。