Time of Update: 2018-12-08
繼承 通常需要這樣一些類,這些類與其它現有的類擁有相同變數和函數。實際上,定義一個通用類用於所有的項目,並且不斷豐富這個類以適應每個具體項目將是一個不 錯的練習。為了使這一點變得更加容易,類可以從其它的類中擴充出來。擴充或派生出來的類擁有其基類(這稱為“繼承”,只不過沒人死)的所有變數和函數,並 包含所有衍生類別中定義的部分。類中的元素不可能減少,就是說,不可以登出任何存在的函數或者變數。一個擴充類總是依賴一個單獨的基類,也就是說,不支援多 繼承。使用關鍵字“extends”來擴充一個類。
Time of Update: 2018-12-08
<?php /** * 命令模式 * * 將一個請求封裝為一個對象從而使你可用不同的請求對客戶進行參數化,對請求排除或記錄請求日誌,以及支援可取消的操作 */ interface Command { public function execute(); } class Invoker { private $_command = array(); public function setCommand($command) { $this->_command[] = $command; }
Time of Update: 2018-12-08
複製代碼 代碼如下:yum -y install openssl /usr/local/bin/是php的安裝目錄 切換到php安裝目錄的etx/openssl目錄 cd /root/soft/php-5.2.8/ext/openssl 複製代碼 代碼如下:/usr/local/bin/phpize Cannot find config.m4. Make sure that you run '/usr/local/bin/phpize' in the top level source
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /* 介面技術 * * 介面是一種特殊的抽象類別,抽象類別又是一種特殊的類 * * 介面和抽象類別是一樣的作用 * * 因為在PHP是單繼承的,如果使用抽象類別,子類實現抽象類別就不能再去繼承其他的類了 * * 如果既想實現一些規範,又想繼承其他類。就要使用介面。 * * 介面和抽象類別的對比 * * 1.作用相同,都不能建立對象,都需要子類去實現 * * 2.介面的聲明和抽象類別不一樣 * * 3.介面被實現方式不一樣 * *
Time of Update: 2018-12-08
memcache的官方首頁:http://pecl.php.net/package/memcachememcached的官方首頁:http://pecl.php.net/package/memcached以下是我安裝Memcached版本的PHP模組的過程記錄:wget http://download.tangent.org/libmemcached-0.48.tar.gztar zxf libmemcached-0.48.tar.gzcd
Time of Update: 2018-12-08
session_unset() 釋放當前在記憶體中已經建立的所有$_SESSION變數,但不刪除session檔案以及不釋放對應的session id session_destroy() 刪除目前使用者對應的session檔案以及釋放session id,記憶體中的$_SESSION變數內容依然保留 因此,釋放使用者的session所有資源,需要順序執行如下代碼: 複製代碼 代碼如下:<?php $_SESSION['user'] = 'lowell'; session_unset();
Time of Update: 2018-12-08
安裝 IIS 7.0 開啟 Control Panel\Programs\Programs and Features\Turn Windows features on or off, 在開啟的對話方塊中勾選上這兩個選項: 單擊OK等待片刻, IIS就安裝完成了.安裝 PHP 5.2.6 1. 下載: PHP 5.2.6 ; 其它版本的 PHP 下載. 2. 將壓縮包解壓, 放到一個目錄中, 比如 D:\php 3. 將
Time of Update: 2018-12-08
函數嵌套,這個名字有點糾結,也許不太好理解。一個比較常見的函數嵌套特例:遞迴函式,即函數自己嵌套自己。 一直以為在PHP中不能有太多的函數嵌套,這是因為在以前某些時候不小心用到了遞迴,在遞迴的深度達到100時, 即函數嵌套的層數達到100時,程式會報一個 Fatal error。如下樣本: 複製代碼 代碼如下:function rt() { static $i; echo $i++, '<br />'; rt(); } rt(); die(); 在我的win7 +
Time of Update: 2018-12-08
比如說PECL裡有兩個Memcached的模組,Memcache和Memcached,目前大部分PHP環境裡使用的是名字裡不帶d的Memcache版本,這個版本釋出的比較早,是一個原生版本,與之對應的帶d的Memcached版本則是建立在libmemcached的基礎上,所以說Memcached版本的功能更全一些。安裝Memcached版本的PHP模組wget http://download.tangent.org/libmemcached-0.35.tar.gztar zxf
Time of Update: 2018-12-08
1.目前大多數php環境裡使用的都是不帶d的memcache版本,這個版本出的比較早,是一個原生版本,完全在php架構內開發的。與之對應的帶d的memcached是建立在libmemcached的基礎上,所以相對來說,memcached版本的功能更全一些。 memcache:http://cn2.php.net/manual/en/book.memcache.php memcached:http://cn2.php.net/manual/en/book.memcached.php
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php error_reporting( E_ALL ); // 測試 imagezoom('1.jpg', '2.jpg', 400, 300, '#FFFFFF'); /* php縮圖函數: 等比例無損壓縮,可填充補充色 author: 華仔 主持格式: bmp 、jpg 、gif、png param: @srcimage : 要縮小的圖片 @dstimage : 要儲存的圖片 @dst_width: 縮小寬 @dst_height: 縮小高
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /* * 封裝性:物件導向三大特性之一 * * 1.就是把對象的成員(屬性,方法)結合成一個獨立的相同單位,並儘可能隱藏對象的內部細節 * 存取權限修飾符 public protected private * private:私人的,用這個關鍵字修飾的成員,只能在對象內部訪問(只有用$this訪問) * * 屬性可以封裝: * 只要一個變數,需要在多個方法使用,就將這個變數聲明為成員屬性,可以直接在這個對象中的所有方法中使用 * *
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /* * 1.對象中成員的訪問(在一個對象的內部方法中,去訪問本對軒昂中的其他方法和成員屬性) * 2.在對象中的方法中都預設有一個$this關鍵字,這個關鍵字代表調用這個方法的對象 * * 構造方法 * * 1.是對象建立完成後,“第一個”“自動調用”的方法 * * 2.構造方法的定義,方法名是一個固定的, * 在php4中:和類名相同的方法就是構造方法 * 在php5中:構造方法選擇使用 魔術方法__construct()
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /* 類的聲明 * 1.你要開發的是什麼,確定寫什麼類 * 2.類中的成員一定要屬於這個類 * [修飾類的關鍵字] class 類名{ * 成員屬性: * 成員方法: * } * 3.在類中聲明成員屬性時,前面必須有修飾詞,當不確定使用哪個詞時,使用var或public * 一個檔案只儲存一個類,檔案名稱中包含類名,檔案:類名.class.php * 類名的寫法: * 變數:aaaBbbCcc * 函數:aaaBbbCcc * 常量:AAABBBCCC *
Time of Update: 2018-12-08
官網:http://pecl.php.net/package/hidef簡介: Allow definition of user defined constants in simple ini files, which are then processed like internal constants, without any of the usual performance
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /* PHP物件導向的程式設計 * * PHP5 * * 數組和對象:都屬於PHP的複合類型(一個變數可以儲存多個單元) * * 對象比數組更強大,不僅可以儲存多個資料,還可以將函數存在對象中 * * 對象的三大特性:封裝、繼承、多態 * * 物件導向編程(oop) //符合軟體工程中的 重用性 靈活性 擴充性 * * 物件導向和面向過程之間的區別 * * 最小的單位:函數 //面向過程 * 最小的單位:對象 //物件導向 * * 什麼是對象
Time of Update: 2018-12-08
然而,人無完人,插(件)無完插!Akismet也並非完美,最近, 我常在被Akismet評判為垃圾的留言中找到“好人”的留言,然而,有時時間長了就自動刪除了,損失珍貴的友情和留言。 別忘了修改代碼中的 __YOUR_AKISMET_KEY__, __YOUR_WEBSITE_URL__ and __YOUR_NAME__ http://www.script-tutorials.com/akismet-spam-protection/ index.php 複製代碼 代碼如下:<?
Time of Update: 2018-12-08
這貨是從 Martin 大神的《公司專屬應用程式架構模式》中學到的,輔助 PHP 動態語言的特性,可以比 Java 輕鬆很多的實現消極式載入(LazyLoad)。基本原理是通過一個虛代理(Virtual Proxy)做預留位置,一旦訪問代理對象的某成員(方法或屬性),載入就被觸發。 不過我實現的這個版本有局限性: 只適用於對象,無法代理數組等基礎資料型別 (Elementary Data Type)(需要用 ArrayObject 一類的內建對象封裝)
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php defined('SYSPATH') OR die('No direct access allowed.'); class Controller_Jobs extends Controller_Base{ public function before(){ parent::before(); if(Request::$protocol != "cli"){ die("Only cli allowed!\n"); } } public function
Time of Update: 2018-12-08
1.編寫curl類,進行網頁內容抓取 複製代碼 代碼如下:class CurlUtil { private $curl; private $timeout = 10; /** * 初始化curl對象 */ public function __construct() { $this->curl = curl_init(); curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($this->curl,