亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

MVC架構模式分析與設計

PengCheng PHP開發工程師
難度中級
時長 5小時36分
學習人數
綜合評分9.53
196人評價 查看評價
9.8 內容實用
9.6 簡潔易懂
9.2 邏輯清晰
  • 對于value來說,sql本身是沒啥問題的,但是PHP就有問題了,比如就拿教程里面的這種方式,把變量 $value 里的字符串直接拼接成為 sql 語句,就會存在很大的安全隱患,舉個例子,假設你開發一個密碼登錄的接口,$value1 里存的是用戶賬號,$value2 里存的是用戶密碼,sql語句是這樣子拼的:

    $sql = "select * from user where `account` = '".$value1."' and `password` = '".$value2."'";

    如果遇到惡意用戶,他在登錄時把密碼填成? 123456' or '1' = '1 ,想一下,你最后會得到什么樣的sql語句,是不是

    select * from user where `account` = 'zhangsan' and `password` = '123456' or '1' = '1'

    于是只要 '1' = '1' 成立,sql語句就能執行成功。。。

    是不是很可怕?這就叫做 sql 注入,是一種很古老的黑客攻擊手段,所以現在一般會用 addslashes 對用戶提交的內容進行轉義,把那些可能會導致sql注入的關鍵字給替換掉。


    查看全部
  • 數組里有一個元素也可以叫數組

    查看全部
  • 給字段名加上··這個符號,可以轉換關鍵詞;這個符號在鍵盤Esc的下面

    查看全部
  • 解決問題的方法:這些方法也是tp框架等一些框架的核心

    查看全部
    0 采集 收起 來源:問題分析

    2018-05-28

  • 面向過程編程的問題總結

    查看全部
    0 采集 收起 來源:問題分析

    2018-05-28

  • template_c放置編譯后的文件(存放緩存文件的地方),現在都不用smarty緩存了(可以設置關閉),因為有了memcache等緩存技術;

    控制層只負責從某個model獲取數據,再放到某個view進行展示


    數據的處理全部在Model層搞定

    不要在控制層處理數據!!

    1.如果以后控制層變得越來越復雜,可能就是業務邏輯層被寫進了控制層,這是不對的

    2.業務邏輯層(Model層)是MVC系統的核心,無論是從數據庫取數據,還是第三方接口取數據、傳遞數據,還是完成一系列的查詢分類篩選清洗等操作都是在業務邏輯層完成。


    查看全部
    0 采集 收起 來源:Smarty實例

    2018-05-27

  • 對于mvc框架smarty就是第三方視圖類庫,使用smarty先要include到include.php 再在實例化smarty 最后配置smarty,完成這些操作才能使用smarty視圖引擎。 如果統一將這些操作寫到function.php頁,將大大簡化重復編寫操作,方便后期修改。

    查看全部
    0 采集 收起 來源:Smarty實例

    2018-05-27

  • 這里使用了smarty模板引擎中的兩個函數assgin()和display();assgin()作用是將一個變量注冊到模板里;display()作用是調用模板

    查看全部
    0 采集 收起 來源:Smarty實例

    2018-05-27

  • 將smarty模板引擎引入MVC(即整個項目);到此為止,整個MVC的基本框架可以算完成;smarty模板引擎也叫視圖引擎;即將要展示的東西分配到前臺模板(HTML)

    查看全部
    0 采集 收起 來源:Smarty實例

    2018-05-27

  • 第三方類庫調用函數制作 (看截圖)

    查看全部
    0 采集 收起 來源:Smarty實例

    2018-05-27

  • 將學到的smarty知識用到MVC中,封裝一個函數用來控制調用第三方的插件(函數/類)

    查看全部
    0 采集 收起 來源:Smarty實例

    2018-05-27

  • 實戰實戰實戰

    查看全部
    0 采集 收起 來源:Smarty實例

    2018-05-27

  • Smarty三種插件 用例及釋義


    functions 函數插件 (自定義函數)

    1.將插件以 function.插件名.php 的格式進行建立,放置在./lib/plugins目錄下

    2.插件內為php代碼 且為function函數

    格式: function smarty_function_插件名 ($params){... $params[參數1] $params[參數2] ...}

    注意: 該處的插件名要和腳本名中的插件名 要一致.

    用法: {test width="150" height="200"}


    modifiers 修飾插件 (自定義變量調節器)

    1.將插件以 modifier.插件名.php 的格式進行建立,放置在./lib/plugins目錄下

    2.插件內為php代碼 且為function函數

    格式: function smarty_modifier_插件名 (參數1,參數2,參數3...){...}

    注意: 該處的插件名要和腳本名中的插件名 要一致.

    用法: {$time|test:'Y-m-d H:i:s'}


    bloack 區塊函數插件 (自定義區塊函數)

    1.將插件以 bloack.插件名.php 的格式進行建立,放置在./lib/plugins目錄下

    2.插件內為php代碼 且為function函數

    格式: function smarty_block_插件名 ($params, $content){... $params[參數1] $params[參數2] ...}

    注意: 該處的插件名要和腳本名中的插件名 要一致.

    用法: {test replace=true maxnum=43} {$str} {/test}


    查看全部
  • 插件命名不能重復!

    查看全部
  • 模板在調用插件的時候,smarty(test.php)中,依然需要這兩個步驟,即

    $smarty->assign('arr',$arr);//對smarty模板賦值

    $smarty->display('test.tpl');//分配到模板


    查看全部

舉報

0/150
提交
取消
課程須知
本課程是php高級課程的一環,需要大家掌握以下知識點: 1、對php的基礎知識掌握,如數組、自定義函數、php常用內置函數 2、掌握php面向對象編程的基本概念,至少要明白類、對象的概念
老師告訴你能學到什么?
1、MVC理論概念。 2、運用MVC理論設計簡單的框架。 3、對框架里MVC三層的調用進行簡化。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!