首頁 >後端開發 >php教程 >你是寒夜裡的一道光!

你是寒夜裡的一道光!

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-07-29 09:08:031095瀏覽

1.1 框架的概念
框架其實就是可重用程式碼的集合,框架的程式碼是框架架構的程式碼,不是業務邏輯程式碼,框架程式碼保護類別.方法.函數等等,框架程式碼按照一定的規則組合起來就形成了框架。
1.2 不使用框架開發的時候遇到的問題
  1.程式碼編寫沒有統一的規格
  2.專案功能不能很好的分割
  3.一個局部的微小改動可能會影響全域
   ぀4.一個局部的升級比較麻煩
1.3 使用框架的好處
  1.有利於團隊統一的程式碼風格
  2.將精力全部集中到業務邏輯上,無需關心底層框架
  3.快速.
  5.後期維護升級很方便
1.5 相關的框架
  1. zendframwork: 有zend官方發布(zend 公司是維護升級PHP語言的公司),功能非常的強大,是一個重量級的框架
 2.Yii:由國人開發的重量級的框架,這個框架把代碼的可重用性發揮到極致
  3.cakePHP:國外的框架,速度慢
  4.symfony:國外的框架
  5.CIcode:( Igniter),輕:( Igniter),輕嗎量級框架,運行速度快
  6.ThinkPHP框架,免費的,開源的,快速,簡單面向對象(裡面的代碼既有面向對象,也有面向過程),原名FCS,2007年元旦更名為ThinkPHP
1.6 ThinkPHP檔案結構
  從http://www.thinkphp.cn/官方網站下載TP框架,下載完成後進行解壓,第一類目錄裡的ThinkPHP即是我們框架的核心程式碼,類似Framework資料夾
  Conf:設定檔夾,供建立在此TP框架的所有項目使用
  Library:類別庫
1.7.1 ThinkPHP下的Library資料夾
  Behavior:框架運行時侯輔助的類別
  ThinkThink:ThinkPHP.三方的一些外掛程式
1.7.2 ThinkPHPLibrary下的Think資料夾
  需要注意的幾個檔案:
  Controller.class.php:基礎控制器
  Model.class.php:基礎模型
.請求都要執行帶文件
  View.class.php:基礎視圖
1.8 搭建框架的結構
  在站點下新建一個index.php(入口文件),在index.php中輸入:
  define('APP_PATH',' ./application/'); //定義專案資料夾,需要以/結尾
  require './ThinkPHP/ThinkPHP.php';   //包含ThinkPHP.php檔案
注意:在TP框架中可以支援多個入口檔案,(也就是說支援多個項目);
1.8.1 define('APP_PATH','./application/')
  定義專案資料夾,第一次執行該頁面的時候,如果沒有application資料夾,會自動建立application資料夾。執行ThinkPHP.php檔案時,第一次會自動建構ThinkPHP框架結構。
1.9 創建控制器
  控制器是一個類文件,規範如下:
  1.存放在模塊(平台)文件夾下的Controller文件夾
  2.類名:控制器+Controller,用帕斯卡命名法
  3.類別名稱與檔案名稱同名
  4.檔案名稱以.class.php結尾
  5.ThinkPHP預設使用UTF-8編碼
  6.盡量區分大小寫,Windows中沒有問題的,但是Linux中會區分出大小寫
注意創建大小寫
控制器的時候命名空間並引入基礎控制器。
1.10 ThinkPHP的4中路由
    要精確到定位到方法上,需要3個參數:平台.控制器.方法,這三個參數。
a)普通模式:
  語法:http://網址/index.php/m=模組&c=控制器&a=方法
b)pathinofo()模式:
語法:http://網址/index.php/模組/控制器/方法
c) 相容模式:
  語法:http://網址/index.php?s=/模組/控制器/方法
d) rewrite 重寫模式:
  URL自訂功能透過重寫路由可以使得URL便簡介還可以隱藏真實的路徑。
  偽靜態技術就是重寫模式。
需要用到的設定項:
  'URL_ROUTER_ON' => true, //開啟路由
  'URL_ROUTE_RULES' => array(
,  'test' =test> 'home/Goods/test> 'home/Goods/test>重定向傳遞參數
1.11 定義.呼叫範本
1.11.1 規則
  TP框架呼叫範本非常簡單,功能也很強大。它有自己的一些規則
  1.模板都放在view目錄中
  2.一個控制器對應一個資料夾,一個方法對應一個頁
1.11.2 呼叫模板
  $this->display();
1.11. 3 在控制器中將變數賦值
  $this->assign('name','tom') //第一種方法
  $this->sex='男'; //第二種方法
1.11.4在範本中取值
  {$name}
1.12 項目分組
  一個專案至少分成兩組,一個前台,一個後台,每組都有自己的MVC。當TP框架自動產生項  目架構的時候會自動產生一個前台的分組。
  在和Home同級的目錄中新建Admin資料夾(後台資料夾),在資料夾中新建自己的MVC
1.13 系統常數
  __SELF__ : 目前請求的位址__RTR  __MODLEOL 當前控制器__ACTION__ : 目前方法
get_defined_constants(true)顯示所有的常數,true表示分組顯示。
問題:__CONTROLLER__常數是PHP的常數,我們發現直接將此常數寫在模板中一樣可以解析,請問為什麼PHP常數可以在HTML模板中輸出?在PHP定義一個常數NAME,如何在模板中輸出NAME的值?
在ContentReplaceBehavior.class.php 檔案templateContentReplace()方法中新增字串取代
1.14 在頁面的底部顯示日誌資訊
'SHOW_PAGE_TRACE'   =>  true    //在頁面的底部顯示資料表下角出現一個綠色的小圖示
1.15  TP生產與開發模式
define('APP_DEBUG', TRUE);      //開發模式
define('APP_DEBUG', false); .錯誤提示比較友善
  2.程式碼的修改會立即顯示效果
  3.執行效率低
1.16.2 產生模式
  1.錯誤提示比較模糊
  2.會把很多核心程式碼製作成一個快取檔案(common ~runtime.php),這樣原來需要載入很多檔案的請求現在只要載入一個檔案即可。節省了很多打開、關閉的開銷。

以上就介紹了你是寒夜裡的一道光! ,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。


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