php設(shè)計模式之命令模式的應(yīng)用詳解
命令模式:將一個請求封裝為一個對象,從而你可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可撤銷操作。 命令類:1.命令角色:聲明了一個給所有具體命令類的抽象接口。這是一個抽象角色。2.具體命令角色:...
|
命令模式:將一個請求封裝為一個對象,從而你可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可撤銷操作。 命令類:1.命令角色:聲明了一個給所有具體命令類的抽象接口。這是一個抽象角色。2.具體命令角色:...
二分法查找數(shù)組是否包含某一元素,兼容正反序,代碼實現(xiàn):復(fù)制代碼 代碼如下:<?php
$searchValue = (int)$_GET['key'];
function search(array $array, $value) { $max = count($array)-1; $min = 0; $isA...
安裝完wamp后打開其下的phpMyAdmin也就是路徑http://localhost/phpmyadmin/出現(xiàn)看里面的代碼一下明白了解決方法直接貼圖如下:復(fù)制代碼 代碼如下:<Directory "c:/wamp/apps/phpmyadmin3.5.1/"> Options Indexes Fol...
在前面的<如何使用PHP計算上一個月的今天>一文中, 我們提到strtotime函數(shù)在使用strtotime(”-1 month”)求上一個月的今天時會出一些狀況,因此也引出寫這篇文章,本文包括如下內(nèi)容:•strtotime函數(shù)的一些用法•s...
一日,遇到一個問題,求上一個月的今天。 最開始我們使用 strtotime(”-1 month”) 函數(shù)求值,發(fā)現(xiàn)有一個問題,月長度不一樣的月份的計算結(jié)果有誤。 比如:2011-03-31,得到的結(jié)果是2011-03-03。我們先不追究什么問題,先看如何解...
錯誤:configure: error: libevent >= 1.4.11 could not be found
解決:yum -y install libevent libevent-devel
錯誤:configure: error: Please reinstall the mysql distributio
解決:yum -y install mysql-dev...
如果你的url鏈接是相對路徑“static/mapi.css”,你想把他批量替換成絕對路徑“http://dev.baidu.com/wiki/static/map/cloud/static/mapi.css”。那么,你可以這樣做:
寫一個PHP文件,把需要替換的網(wǎng)址寫進去。 這個代碼...
安全過濾后的getIP函數(shù)復(fù)制代碼 代碼如下: function getIP() { $realip = ''; //設(shè)置默認(rèn)值 if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $realip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SER...
分析過程 這個來自一些項目中,獲取用戶Ip,進行用戶操作行為的記錄,是常見并且經(jīng)常使用的。 一般朋友,都會看到如下通用獲取IP地址方法。
復(fù)制代碼 代碼如下: function getIP() { if (isset($_SERVER['HTTP_X_FORWARDED_...
curl可以說是php里一個非常強大的功能,每個php程序員都應(yīng)該學(xué)習(xí)并熟悉curl,使用curl前確保你的php_curl擴展已經(jīng)開啟。
一、curl使用例如:我們采集深圳智聯(lián)招聘上PHP招聘的第一頁信息復(fù)制代碼 代碼如下:$url='http://so...
一、下載地址Apache 5.4 ―― httpd-2.4.4-win32.zipPHP 5.4 ―― php-5.4.15-Win32-VC9-x86.zip注意,VC9 線程安全版本中已經(jīng)包含了 PHP 和 Apache connector DLL,因此無需下載此DLL。二、配置1. Apache使用任意編輯器...
PHP無限分類,Google一下就能找到很多相關(guān)資料,思路比較拉風(fēng)的,也是用得比較多的就是分類表至少有id,pid,name三個字段,id自增表分類,pid為父分類,name為分類名,這樣就構(gòu)成了一棵樹,如下,算是我查詢分類表得到的結(jié)果集。復(fù)制代...
無限分類是實際開發(fā)中經(jīng)常用到的一種數(shù)據(jù)結(jié)構(gòu),一般我們稱之為樹形結(jié)構(gòu)。題設(shè):類似淘寶的商品分類,可以在任意分類設(shè)置其子類。 一、創(chuàng)建`type`數(shù)據(jù)表`id` 自增長`fid` int(11) 默認(rèn)(0) ,父節(jié)點id`name` varchar(50),分類名...
由于現(xiàn)在的瀏覽器已經(jīng)可以識別txt文檔格式,如果只給txt文檔做一個文字鏈接的話,點擊后只是打開一個新窗口顯示txt文件的內(nèi)容,并不能實現(xiàn)點擊下載的目的。當(dāng)然這個問題的解決辦法也可以是將txt文件改名為瀏覽器不認(rèn)識的文...
優(yōu)化PHP代碼技巧的小結(jié)1. 如果一個方法能被靜態(tài),那就聲明他為靜態(tài)的,速度可提高 1/4;2. echo 的效率高于 print,因為 echo 沒有返回值,print 返回一個整型;3. 在循環(huán)之前設(shè)置循環(huán)的最大次數(shù),而非在在循環(huán)中;4. 銷毀變量去...
這里介紹兩個php采集能用到的好工具。一個是Snoopy,一個是simple_html_dom。采集還有很多方式(其實本質(zhì)就2-3種,其他的都是衍生的),php自帶了幾個方法也能直接進行采集。但是,出于把懶惰進行到底的精神。我們還是可以通過這...
php下載文件,比如txt文件。出現(xiàn)的效果就是,彈出瀏覽器自帶的下載框,出現(xiàn)另存為操作。有時候會出現(xiàn)內(nèi)存溢出和超時的現(xiàn)象。超時的話,設(shè)置set_time_limit(0);出現(xiàn)內(nèi)存溢出的話,有可能是因為從數(shù)據(jù)庫中取出的數(shù)據(jù)量太大導(dǎo)致的...
fsockopen函數(shù)能夠運用,首先要開啟php.ini中的allow_url_open=on;fsockopen是對socket客戶端代碼的封裝,該函數(shù)中封裝了socket_create,socket_connect。服務(wù)器端代碼:server.php復(fù)制代碼 代碼如下:<?phperror_reporting(...
復(fù)制代碼 代碼如下:<?php/*** PHP操作MongoDB學(xué)習(xí)筆記*///*************************//** 連接MongoDB數(shù)據(jù)庫 **////*************************//格式=>(“mongodb://用戶名:密碼 @地址:端口/默認(rèn)指定數(shù)據(jù)庫”,參...
安裝(fastcgi模式)的時候,常常有這樣一句命令:/usr/local/webserver/php/bin/phpize一、phpize是干嘛的?phpize是什么東西呢?php官方的說明:http://php.net/manual/en/install.pecl.phpize.phpphpize是用來擴展php擴展模塊的...
以前做過一道php面試題是這樣的:不使用第三個變量實現(xiàn)交換兩個變量的值。一般都是借助第三個中間變量來實現(xiàn)原來兩個變量的值交換,但是這道題卻要求不能使用中間變量,這對于初學(xué)者來說也算是一個難題了。網(wǎng)上找到的幾種...
strace是Linux環(huán)境下的一款程序調(diào)試工具,用來監(jiān)察一個應(yīng)用程序所使用的系統(tǒng)呼叫及它所接收的系統(tǒng)信息。strace是一個有用的小工具,它可以通過跟蹤系統(tǒng)調(diào)用來讓你知道一個程序在后臺所做的事情。Strace是一個基礎(chǔ)的調(diào)試...
單例模式的要點有三個:一是某個類只能有一個實例;二是它必須自行創(chuàng)建這個實例;三是它必須自行向整個系統(tǒng)提供這個實例。復(fù)制代碼 代碼如下:<?php /* 單例模式舉例,其要點如下: * * 1. $_instance 必須聲明為靜態(tài)的私有變...
strace和gdb是Linux環(huán)境下的兩個常用調(diào)試工具,這里是個人在使用過程中對這兩個工具常用參數(shù)的總結(jié),留作日后查看使用。strace調(diào)試工具strace工具用于跟蹤進程執(zhí)行時的系統(tǒng)調(diào)用和所接收的信號,包括參數(shù)、返回值、執(zhí)行時間...
參考1《linux的strace命令(詳解).txt》 新浪電子書可下載2man strace一個基本上通用的 完整的用法:strace -o output.txt -T -tt -e trace=all -p 28979上面的含義是 跟蹤28979進程的所有系統(tǒng)調(diào)用(-e trace=all),并統(tǒng)計系...