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