1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      怎么正確理解PHP開發(fā)MVC模型

      這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么正確理解PHP開發(fā)MVC模型,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

      創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站建設(shè)、祁縣網(wǎng)絡(luò)推廣、小程序開發(fā)、祁縣網(wǎng)絡(luò)營銷、祁縣企業(yè)策劃、祁縣品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供祁縣建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

      PHP開發(fā)MVC模型對于初學(xué)者來說還是不太了解其中的含義。

      使用MVC讓程序多了很多數(shù)據(jù)庫操作,使得性能下降,這著實讓我吃了一驚。MVC只是一種框架,與數(shù)據(jù)庫操作沒有任何關(guān)系。MVC只是提供一種清晰的編程開發(fā)模式,只要你處理的好,是不可能多處很多無謂的數(shù)據(jù)庫操作的。如果一個MVC讓一個程序員在不知情的情況下多出了很多數(shù)據(jù)庫操作就絕對不是一個很好的MVC架構(gòu)。我覺得MVC只要提供一個簡單的開發(fā)框架就行了,沒有必要集成很多庫類,庫類***能讓程序員自己選擇去使用。

      我沒有深入研究過MVC的理論,對我個人來說,模型就是一個數(shù)據(jù)庫的封裝,調(diào)用模型的方法,你可以得到相應(yīng)的數(shù)據(jù),但實現(xiàn)的細節(jié)程序員不需要關(guān)心。在實際開發(fā)中,很可能一個數(shù)據(jù)庫的表就對應(yīng)一個模型。

      比如說一個用戶信息表userinfo,對應(yīng)就有一個模型user,通過調(diào)用模型user的add()方法你就可以向數(shù)據(jù)庫添加一條數(shù)據(jù),通過select()你就可以實現(xiàn)查詢,通過update就能實現(xiàn)更新。同時模型應(yīng)該是和具體的數(shù)據(jù)庫類型無關(guān)的,無論你使用的MySQL,oracle還是sql server。

      同時我不推薦在WEB開發(fā)中使用ROR,復(fù)雜的多表查詢使用SQL語言是多么方便和快捷的事情,而且性能更好。如果一個程序員連SQL的知識都沒有,我不認為他是一個合格的程序員。所以,我在我的模型里面,提供了一個query的方法來實現(xiàn)直接的SQL查詢。

      下面是PHP開發(fā)MVC模型的一個大概結(jié)果。不是完整代碼,完整代碼請見demo包。

      1. < ?   

      2. class module{   

      3. var $mysql;//數(shù)據(jù)庫操作類,
        可以是mysql,oracle,sql等等   

      4. var $tbname;//模型對應(yīng)的表名稱   

      5. var $debug=false;//是否是調(diào)試模式   

      6. function module($tbname,$db=''){}
        //構(gòu)造函數(shù)   

      7. function _setDebug($debug=true){}

      8. //開啟或者關(guān)閉調(diào)試模式   

      9. function add($row,$tbname=''){}

      10. //新增加一條記錄   

      11. function query($strsql){}//直接查詢sql語句   

      12. function count($where='',$tbname=''){ }

      13. //計數(shù)統(tǒng)計   

      14. function select($where='',$tbname=''){}

      15. //查詢   

      16. function delete($where='',$tbname=''){}

      17. //刪除滿足條件的一個記錄   

      18. function update($set,$where,$tbname=''){}

      19. //更新指定記錄   

      20. function detail($where,$tbname=''){}

      21. //詳細顯示一條記錄   

      22. }   

      23. ?>  

      在這個模型里面,我是使用數(shù)組和數(shù)據(jù)庫的字段來對應(yīng)的。早期的PHPBEAN里面使用了對象來對應(yīng)。但后來感覺這種PHP開發(fā)MVC模型的方法在PHP中不好,而且增加了很多無謂的類。使用數(shù)組更加方便,效果更好(PHP中的數(shù)組的確是個好東西,相對JAVA來說好太多了)。

      在下面的demo中,我使用了mysql數(shù)據(jù)庫來演示,其中數(shù)據(jù)庫操作類改自我原來的一個庫類。

      下面,詳細講解使用demo。^_^
      在原來的的包的index.php里面增加

      1. < ?   

      2. require_once(SITE_PATH.'/
        libs/phpbean.class.php');   

      3. require_once(SITE_PATH.'/
        libs/mysql.class.php');   

      4. $phpbean=new phpbean();   

      5. global $phpbean;   

      6. $mysql=new mysql("localhost"
        ,"****","****","52site");   

      7. $phpbean->register('db',$mysql);   

      8. unset($mysql);   

      9. ?>  

      這段PHP開發(fā)MVC模型代碼主要是把MYSQL注冊到注冊器里面,關(guān)于注冊器的使用的原理,可以看我翻譯的兩篇文章。
      然后新建一個mysqlController.class.php文件,代碼如下:

      1. < ?   

      2. /**   

      3. * MVC演示demo   

      4. * 僅僅實現(xiàn)最基本的MVC功能,不包含安全處理
        ,數(shù)據(jù)過濾,及其他優(yōu)化措施。   

      5. * @author:feifengxlq   

      6. * @since:2007-1-24   

      7. * @copyright http://www.phpobject.net/blog/   

      8. */   

      9. class mysqlController   

      10. {   

      11. var $module;   

      12. function mysqlController(){   

      13. require_once(SITE_PATH.'/libs/module.class.php');   

      14. $this->module=new module('52site_siteinfo');
        //52site_siteinfo為表名稱   

      15. $this->module->query("set names 'gb2312'");
        //如果是MYSQL5請加上這句   

      16. }   

      17. function indexAction(){   

      18. print_r($this->module->select());//這樣實現(xiàn)了讀取數(shù)據(jù)   

      19. }   

      20. }   

      21. ?>  

      上面首先是控制器的構(gòu)造函數(shù)里面,加入一個模型。然后在indexAction里面調(diào)用模型的方法來顯示數(shù)據(jù)。這樣就實現(xiàn)了最簡單的查詢列表。

      以后我會寫一個具體的demo來說明如何使用PHP開發(fā)MVC模型的其他方法,比如說查詢、更新、增加、分頁列表、多表連查等等。

      上述就是小編為大家分享的怎么正確理解PHP開發(fā)MVC模型了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


      網(wǎng)頁名稱:怎么正確理解PHP開發(fā)MVC模型
      標(biāo)題鏈接:http://www.ef60e0e.cn/article/gsdpid.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        宜丰县| 宁海县| 晋中市| 揭东县| 浦北县| 阿鲁科尔沁旗| 岳阳市| 金山区| 辉南县| 和田市| 申扎县| 丹凤县| 涞源县| 淳化县| 根河市| 五家渠市| 镇安县| 巴彦淖尔市| 晋州市| 泾阳县| 若羌县| 乡宁县| 绥滨县| 高密市| 遵义县| 乐至县| 佛教| 苏尼特左旗| 叙永县| 治多县| 铜鼓县| 永定县| 荥阳市| 云南省| 伊宁县| 宾阳县| 盘锦市| 民丰县| 互助| 和平县| 通化市|