Time of Update: 2016-06-07
本文執行個體講述了thinkphp判斷訪客為手機端或PC端的方法。分享給大家供大家參考。具體實現方法如下:一、問題:近日準備給自己的網站做一個小升級,讓使用者在手機二維碼掃描的時候顯示適合手機端來展示的模版【我用的是ThinkPHP3.0】,代碼是參考別人的二、實現方法:這裡先說下大概的一個思路
Time of Update: 2016-06-07
建立者模式:在建立者模式中,用戶端不再負責對象的建立與組裝,而是把這個對象建立的責任交給其具體的建立者類,把組裝的責任交給組裝類,用戶端支付對對象的調用,從而明確了各個類的職責。應用情境:建立非常複雜,分步驟組裝起來。複製代碼 代碼如下:/** * 建立者模式 *///購物車class ShoppingCart { //選中的商品 private $_goods = array(); //使用的優惠券 private $_tickets = array();
Time of Update: 2016-06-07
原型模式:用原型執行個體指定建立對象的種類,並且通過拷貝這個原型來建立新的對象。應用情境: 類的資源非常多、效能和安全要求,一般和Factory 方法結合使用。複製代碼 代碼如下:/** * 原型模式 *///聲明一個複製自身的介面interface Prototype { function copy(); } //產品要實現複製自身的操作class Student implements Prototype { //簡單起見,這裡沒有使用get set public
Time of Update: 2016-06-07
根據指定的前後兩個日期,計算這兩個日期之間各個周的起始時間和結束時間,以及各個月的起始時間和結束時間日誌格式化類 Date.class.php複製代碼 代碼如下:class Datefmt{ function __construct() {} /** * 根據指定日期擷取所在周的起始時間和結束時間 */ public function get_weekinfo_by_date($date) { $idx = strftime("%u", strtotime($date));
Time of Update: 2016-06-07
前幾篇介紹了設計模式的特性並且詳細講解了4種建立型模式,建立型模式是負責如何產生對象執行個體的,接下來講講結構型模式。一、什麼是結構型模式?結構型模式是解析類和對象的內部結構和外部組合,通過最佳化程式結構解決模組之間的耦合問題。二、結構型模式的種類:適配器模式橋接模式裝飾模式組合模式面板模式享元模式代理模式1、
Time of Update: 2016-06-07
1、php下載原理圖2、檔案下載源碼:複製代碼 代碼如下:$file_name="哈哈.jpg";//需要下載的檔案$file_name=iconv("utf-8","gb2312","$file_name");$fp=fopen($file_name,"r+");//下載檔案必須先要將檔案開啟,寫入記憶體if(!file_exists($file_name)){//判斷檔案是否存在 echo "檔案不存在"; exit();}$file_size=filesize("a.jpg")
Time of Update: 2016-06-07
本文執行個體講述了thinkphp模板用法和內容輸出。分享給大家供大家參考。具體分析如下:一、模板的用法a、規則模板檔案夾下[TPL] /與模組名同名的檔案夾[Index]/ 與方法名同名的檔案[index].html(.tpl)模板檔案夾下[TPL]/[分組檔案夾/] /與模組名同名的檔案夾[Index]/與方法名同名的檔案[index].html(.tpl)模板檔案夾下[TPL]/[分組檔案夾/][模板主題檔案夾/] /與模組名同名的檔案夾[Index]/與方法名同名的檔案[
Time of Update: 2016-06-07
項目名稱從“FantaCMS”修改成為“testyii”—————— 俗!1,項目目錄結構分析2,Yii入口檔案分析在Yii啟動項目時,傳遞了項目主設定檔數組,那麼Yii會在整個應用中綁定一個全域的Yii對象並且可以通過如下方法來調用該對象:Yii::app()Yii系統把設定檔中的數組值,通過索引值對的形式綁定到了該對象上,例如在設定檔中我們配置了:'name'=>'My Web
Time of Update: 2016-06-07
本文執行個體講述了ThinkPHP模版中匯入CSS和JS檔案的方法。分享給大家供大家參考。具體方法如下:常用方法1. css使用link2. js使用src用tp自己的匯入標籤import匯入Public檔案夾下面的Js目錄中的test.js檔案,import標籤可以省略type屬性,預設就是js的檔案複製代碼 代碼如下:不在Public:複製代碼 代碼如下:Other後面不加路徑中的/使用load標籤load標籤,非常簡單,自動檢測複製代碼
Time of Update: 2016-06-07
本文執行個體分析了ThinkPHP模板輸出display用法。分享給大家供大家參考。具體分析如下:模板變數賦值後就需要調用模板檔案來輸出相關的變數,模板調用通過display方法來實現,我們在操作方法的最後使用:複製代碼
Time of Update: 2016-06-07
本文以一個簡單一實例分析了smarty的用法。分享給大家供大家參考。具體分析如下:smarty建立設定檔、顯示檔案後即可,設定檔顯示檔案分開來,使美工跟開發工作能完美分開 配置頁面代碼:index.php複製代碼 代碼如下:@header("Content-type: text/html; charset=UTF-8"); require '../libs/Smarty.class.php'; $my=new Smarty; $my->template_dir ='templates/';
Time of Update: 2016-06-07
本文執行個體講述了Codeigniter購物車類不能添加中文的解決方案。分享給大家供大家參考。具體分析如下:有朋友可能會發現Codeigniter 購物車類不能添加中文,我找了N久才發現下面一段代碼限制了輸入中文了,修改systemlibrariesCart.php,注釋第186-190行產品名稱的判斷,代碼如下:複製代碼 代碼如下:if ( ! preg_match("/^[".$this->product_name_rules."]+$/i", $items['name'])) {
Time of Update: 2016-06-07
本文執行個體講述了smarty中post用法。分享給大家供大家參考。具體分析如下:知道了smarty的運行原理之後,就想寫個post的實現過程,以下是實現post的代碼,跟獨自寫php代碼差不多,只是多了顯示檔案設定檔:conf.php複製代碼 代碼如下:@header("Content-type: text/html; charset=UTF-8"); require '../libs/Smarty.class.php'; $my=new Smarty;
Time of Update: 2016-06-07
本文執行個體講述了ThinkPHP實現動態包含檔案的方法。分享給大家供大家參考。具體分析如下:問題描述:在做項目的時候遇到問題,也是很常見的問題,一般首頁包含頭部和腳步,為了方便管理,這些都需要使用包含檔案來實現,ThinkPHP提供了包含檔案的方法,以上是最簡單的包含的操作的方式,但是在啟動並執行過程中我發現,在請求的時候只是請求的是模板檔案,也就是所謂的靜態包含,但是如果遇到菜單是動態產生的就很難辦了.在網上找到一個解決辦法:使用Widget1、我們在頁面中實現一個分類顯示的Widget,首
Time of Update: 2016-06-07
本文執行個體分析了ThinkPHP中的__initialize()和類的建構函式__construct()。分享給大家供大家參考。具體分析如下:thinkphp中的__construct是不可以隨便用的,因為你的模組類繼承上級類,上級類有定義好的;1、__initialize()不是php類中的函數,php類的建構函式只有__construct().2、類的初始化:子類如果有自己的建構函式(__construct()),則調用自己的進行初始化,如果沒有,則調用父類的建構函式進行自己的初始化。3、
Time of Update: 2016-06-07
本文執行個體講述了thinkphp檔案引用與分支結構用法。分享給大家供大家參考。具體分析如下:一、匯入CSS和JS檔案1、css link :複製代碼 代碼如下:js src :複製代碼 代碼如下:2、import複製代碼 代碼如下: //匯入Public檔案夾下面的Js目錄中的test.js檔案,import標籤可以省略type屬性,預設就是js的//預設是Public檔案夾//可以更改預設資料夾 設定basepath屬性3、load複製代碼 代碼如下://方法可以自動檢測匯入的檔案類型二、
Time of Update: 2016-06-07
資料通過控制器以一個數組或是對象的形式傳入視圖 , 這個數組或對象作為視圖載入函數的第二個參數如果你使用一個對象,那麼類變數將轉換為數組元素。好了,讓我們用你的控制器試試。開啟控制器並添加以下代碼 function index() { $data['title'] = "My Real Title"; $data['heading'] = "My Real Heading"; $this->load->view('blogview', $data); } } ?
Time of Update: 2016-06-07
本文執行個體講述了ThinkPHP獨立分組使用的注意事項。分享給大家供大家參考。具體如下:關於ThinkPHP的獨立分組,功能看上去挺好的,可是官方並沒有給出詳細的例子和說明,在此,根據實際的開發過程,給予各位php開發人員以下幾點說明:1.獨立分組的目錄結構和官方說明一樣,建立Modules檔案夾,配置config.注意:獨立分組的action直接放在action目錄下,不需要lib目錄(這點細微的差別坑了我一天)2.獨立分組之間的相互調用如果你建立了一個獨立分組專門處理資料的增刪改查,其他分
Time of Update: 2016-06-07
本文執行個體講述了thinkphp迴圈結構用法。分享給大家供大家參考。具體實現方法如下:迴圈結構,在迴圈輸出中變數不用加$符號執行個體1.for複製代碼 代碼如下: //lt正序step是步調值加2 / gt倒序輸出step是步調值減2 {$j}abc 執行個體2.volist複製代碼 代碼如下://迴圈多維陣列,v代表當前數組 {$v.username} 執行個體3.foreach複製代碼 代碼如下:
Time of Update: 2016-06-07
本文執行個體講述了ThinkPHP公用設定檔與各自項目中設定檔群組合的方法。分享給大家供大家參考。具體實現方法如下:在使用ThinkPHP時,在布局目錄時,常使用的是單個入口檔案對應一個項目目錄,但是這樣在寫設定檔時,在各自的設定檔中,經常會使用重複的配置項,所用這時就會將公用的配置項放在一個公用的目錄下。具體實現方法:使用設定檔的特性return array();可以在各自項目中的設定檔中這樣定義:複製代碼 代碼如下:$config = array(''=>'',);然後使用函數複製代碼