首頁 >後端開發 >php教程 >php面試題目中Thinkphp題目的摘要

php面試題目中Thinkphp題目的摘要

黄舟
黄舟原創
2017-11-09 13:33:3019229瀏覽

在最近幾年中當我們每次去一家公司求職的時候,面試官給過我們出的php面試題中都會出現關於thinkphp的題目,因為thinkp在最近幾年的受到了很多公司以及程序員的青睞,那麼我們php中文網今天就給大家總結下在php面試題中經常遇到的thinkphp題目、希望對你有幫助!

Thinkphp題目:

#1、常見的PHP框架

# #答:thinkPHPyii

ZendFramework

#CakePhp

sy

相關專題推薦:

2020年thinkphp面試題目及答案(大全)

2、如何理解TP中的單一入口文件?

答案:ThinkPHP採用單一入口模式進行專案部署和訪問,無論完成什麼功能,一個專案都有一個統一(但不一定是唯一)的入口。應該說,所有專案都是從入口文件開始的,並且所有的專案的入口文件是類似的,入口文件中主要包括:

定義框架路徑、專案路徑和專案名稱(可選)

定義

調試模式

和運行模式的相關常數(可選)

載入框架入口檔案(必須)

3.ThinkPHP中的MVC分層是什麼? (理解)

答:MVC 是一種將應用程式的邏輯層和表現層分開的方法。 ThinkPHP 也是基於MVC設計模式

的。 MVC只是一個抽象的概念,並沒有特別明確的規定,ThinkPHP中的MVC分層大致體現在:

模型(M):模型的定義由Model類別來完成。

控制器(C):應用程式控制器(核心控制器App類別)和Action控制器都承擔了控制器的角色,Action控制器完成業務流程控制,而應用控制器則負責調度控制。

視圖(V):由View類別和模板檔案組成,模板做到了100%分離,可以獨立預覽和製作。

但實際上,ThinkPHP並不依賴M或V ,也就是說沒有模型或視圖也一樣可以運作。甚至不依賴C,這是因為ThinkPHP在Action之上還有一個總控制器,就是App控制器,負責應用程式的總調度。在沒有C的情況下,必然存在視圖V,否則就不再是完整的應用。

總而言之,ThinkPHP的MVC模式只是提供了一種敏捷開發的手段,而不是拘泥於MVC本身。

4.ThinkPHP如何防止SQL注入? (理解)   

答案:(1)查詢條件盡量使用陣列方式,這是更安全的方式;
(2)如果不得已必須使用字串查詢條件,使用預處理機制;

(3)開啟資料欄位類型驗證,可以對數值資料類型做強制轉換;(3.1版本開始已經強制進行欄位類型驗證了)

(4)使用自動驗證和

自動完成

機制進行針對應用的自訂過濾;(5)使用欄位類型檢查、自動驗證和自動完成機制等避免惡意資料的輸入。

5.如何開啟偵錯模式?調試模式有什麼好處?

答案:開啟偵錯模式很簡單,只需要在入口檔案中增加一行常數定義碼:

<?Php,bv
    //开启调试模式
    define(&#39;APP_DEBUG&#39;, true);
    //加载框架入口文件
    require &#39;./ThinkPHP/ThinkPHP.php&#39;;

在完成開發階段部署到生產環境後,只需要刪除偵錯模式定義程式碼即可切換到部署模式。開啟偵錯模式後,系統會先載入系統預設的偵錯

設定檔,然後載入專案的偵錯設定文件,偵錯模式的優點在於:
開啟日誌記錄,任何
錯誤訊息
和偵錯資訊都會詳細記錄,方便偵錯;

關閉範本緩存,範本修改可以即時生效;記錄SQL日誌,方便分析SQL;關閉欄位緩存,資料表欄位修改不受快取影響;

###嚴格檢查檔案大小寫(即使是Windows平台),幫助你提前發現Linux部署問題;######可以方便用於開發過程的不同階段,包括開發、測試和演示等任何需要的情況,不同的應用模式可以配置獨立的專案設定檔。 #################################6.TP中的URL模式有哪幾種?預設是哪種? ##########

答:ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式、PATHINFO、REWRITE和兼容模式。

默认模式为:PATHINFO模式,设置URL_MODEL 为1

7、TP中系统变量有哪些?如何获取系统变量?

答:获取系统变量的方法:

只需要在Action中调用下面方法:

$this->方法名("变量名",["过滤方法"],["默认值"])

8、ThinkPHP框架中D函数与M函数的区别是什么?

答:M方法实例化模型无需用户为每个数据表定义模型类,D方法可以自动检测模型类,如果存在自定义的模型类,则实例化自定义模型类,如果不存在,则会自动调用M方法去实例化Model基类。同时对于已实例化过的模型,不会重复去实例化(单例模式)。

总结:

在php面试题中还有关于很多的thinkphp的题目、在这里我们就不一一列举出来了,这给大家介绍的是在面试中比较常被问的thinkphp题目!

相关推荐:

  1. 2017最全的php面试题目及答案总结

  2. 2017招聘季:PHP面试题超强总结!

  3. 11个提问频率最高的php面试题

以上是php面試題目中Thinkphp題目的摘要的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn