Time of Update: 2017-01-18
微軟的chm檔案格式是很受我們喜愛的,因為它可以把很多HTML檔案打包成一個檔案,容易傳輸和分享。而且非常方便易用,支援索引、搜尋等。正因為這樣,大家通常都使用chm版本的PHP手冊。 php.net會定期編譯PHP手冊,提供各種版本供大家下載,包括chm格式。由於是定期編譯,所以我們拿到的永遠不會是最新的手冊。 如果你想得到最新的手冊,就只能自己編譯了。而且php.net提供的中文手冊不能搜尋中文,索引也是亂碼。 Haohappy介紹一下編譯流程: 1。準備好HTML格式的手冊檔案。
Time of Update: 2017-01-18
自動載入類 很多開發人員寫物件導向的應用程式時,對每個類的定義建立一個PHP 源檔案。一個很大 的煩惱是不得不在每個指令碼(每個類一個檔案)開頭寫一個長長的包含檔案的列表。 在軟體開發的系統中,不可能把所有的類都寫在一個PHP 檔案中,當在一個PHP 檔案 中需要調用另一個檔案中聲明的類時,就需要通過include 把這個檔案引入。不過有的時候, 在檔案眾多的項目中,要一一將所需類的檔案都include 進來,是一個很讓人頭疼的事,所以 我們能不能在用到什麼類的時候,再把這個類所在的PHP
Time of Update: 2017-01-18
多態的應用 多態是除封裝和繼承之外的另一個物件導向的三大特性之一,我個人看來PHP 中雖然可 以實現多態,但和C++還有Java 這些物件導向的語言相比,多態性並不是那麼突出,因為PHP 本身就是一種弱類型的語言,不存在父類對象轉化為子類對象或者是子類對象轉化為父類對 象的問題,所以多態的應用並不是那麼的明顯;所謂多態性是指一段程式能夠處理多種類型 對象的能力,比如說在公司上班,每個月財務發放工資,同一個發工資的方法,在公司內不
Time of Update: 2017-01-18
20.PHP5 介面技術 PHP 與大多數物件導向程式設計語言一樣,不支援多重繼承.也就是說每個類只能繼承一個父 類。為瞭解決這個問題,PHP 引入了介面,介面的思想是指定了一個實現了該介面的類必須 實現的一系列方法。介面是一種特殊的抽象類別,抽象類別又是一種特殊的類,所以介面也是一 種特殊的類,為什麼說介面是一種特殊的抽象類別呢?如果一個抽象類別裡面的所有的方法都是 抽象方法,那麼我們就換一種聲明方法使用“介面”;也就是說介面裡面所有的方法必須都是
Time of Update: 2017-01-18
抽象方法和抽象類別 在OOP 語言中,一個類可以有一個或多個子類,而每個類都有至少一個公有方法做為 外部代碼訪問其的介面。而抽象方法就是為了方便繼承而引入的,我們先來看一下抽象類別和 抽象方法的定義再說明它的用途。 什麼是抽象方法?我們在類裡面定義的沒有方法體的方法就是抽象方法,所謂的沒有方 法體指的是,在方法聲明的時候沒有大括弧以及其中的內容,而是直接在聲明時在方法名後 加上分號結束,另外在聲明抽象方法時還要加一個關鍵字“abstract”來修飾; 例如: abstract function
Time of Update: 2017-01-18
16.__toString()方法 我們前面說過在類裡面聲明“— ”開始的方法名的方法(PHP 給我們提供的),都是在 某一時刻不同情況下自動調用執行的方法,“__toString()”方法也是一樣自動被調用的,是在 直接輸出對象引用時自動調用的, 前面我們講過對象引用是一個指標,比如說:“$p=new Person()”中,$p 就是一個引用,我們不能使用echo 直接輸出$p,這樣會輸出“Catchable fatal error: Object of class Person could
Time of Update: 2017-01-18
14.final 關鍵字的應用 這個關鍵字只能用來定義類和定義方法,不能使用final 這個關鍵字來定義成員屬性,因 為final 是常量的意思,我們在PHP 裡定義常量使用的是define()函數,所以不能使用final 來 定義成員屬性。 使用final 關鍵標記的類不能被繼承; 程式碼片段 final class Person{ … … } class Student extends Person{ } 會出現下面錯誤: Fatal error: Class Student may
Time of Update: 2017-01-18
13.訪問類型 類型的存取修飾詞允許開發人員對類成員的訪問進行限制,這是PHP5 的新特性,但卻 是OOP 語言的一個好的特性。而且大多數OOP 語言都已支援此特性。PHP5 支援如下3 種訪 問修飾符 public (公有的、預設的),private (私人的)和protected (受保護的)三種。 public 公有修飾符,類中的成員將沒有訪問限制,所有的外部成員都可以訪問(讀和寫) 這個類成員(包括成員屬性和成員方法),在PHP5 之前的所有版本中,PHP 中類的成員都是 public
Time of Update: 2017-01-18
12.重載新的方法 在學習PHP 這種語言中你會發現,PHP 中的方法是不能重載的,所謂的方法重載就是 定義相同的方法名,通過“參數的個數”不同或“參數的類型”不同,來訪問我們的相同方法 名的不同方法。但是因為PHP 是弱類型的語言,所以在方法的參數中本身就可以接收不同類 型的資料,又因為PHP 的方法可以接收不定個數的參數,所以通過傳遞不同個數的參數調用 不相同方法名的不同方法也是不成立的。所以在PHP 裡面沒有方法重載。不能重載也就是在 你的項目中不能定義相同方法名的方法。另外,因為PHP
Time of Update: 2017-01-18
11.類的繼承 繼承作為物件導向的三個重要特性的一個方面,在物件導向的領域有著極其重要的作用, 好像沒聽說哪個物件導向的語言不支援繼承。繼承是PHP5 物件導向程式設計的重要特性之 一,它是指建立一個新的衍生類別,從一個或多個先前定義的類中繼承資料和函數,而且可以 重新定義或加進新資料和函數,從而建立了類的層次或等級。說的簡單點就是,繼承性是子 類自動共用父類的資料結構和方法的機制,這是類之間的一種關係。在定義和實現一個類的
Time of Update: 2017-01-18
10.__set() __get() __isset() __unset()四個方法的應用 一般來說,總是把類的屬性定義為private,這更符合現實的邏輯。但是,對屬性的讀取 和賦值操作是非常頻繁的,因此在PHP5 中,預定義了兩個函數“__get()”和“__set()”來獲 取和賦值其屬性,以及檢查屬性的“__isset()”和刪除屬性的方法“__unset()”。 上一節中,我們為每個屬性做了設定和擷取的方法,在PHP5 中給我們提供了專門為屬 性設定值和擷取值的方法,“__set()”
Time of Update: 2017-01-18
前言這篇文章給大家介紹的是使用Docker製作nginx+php的鏡像,本文裡的鏡像是centos + nginx 1.9.7 + php 5.6.14,下面話不多說,直接看實現的步驟吧。 1、首先下載到nginx和php:nginx-1.9.5.tar.gz 下載:http://nginx.org/en/download.htmlphp-5.6.14.tar.gz
Time of Update: 2017-01-18
PHP中路徑問題的解決方案引言: 關於PERL與PHP中的包含路徑一直是一個比較難解的問題,主要是與作業系統和WEB伺服器有關,不可能非常智能化的解決這個路徑問題。相對於PERL,PHP的路徑好得多,解決起來也容易得多,因為PHP的相對路徑在PHP程式中的任何場合都可以使用,而不象PERL在某些語句中必須用絕對路徑而導致移植的極其複雜。 基於此,在PHP中,我設計了一個絕對穩妥的解決方案,如下所述。 原則:
Time of Update: 2017-01-18
<!-- generateindex.php --><?php//設定我們將要使用的檔案$srcurl = "http://localhost/index.php";$tempfilename = "tempindex.html";$targetfilename = "index.html";?><HTML><HEAD><TITLE>Generating <?php
Time of Update: 2017-01-18
Macromedia 公司出品的 Flash 動畫軟體現已經成為Web頁面上非常流行的表現工具,網站開發人員利用它引起瀏覽者的興趣。然而不幸的是,僅僅使用ActionScript建立動畫受到很大的限制,Macromedia已經宣布,打算放棄Flash Generator產品,轉而採用支援Flash MX的Cold Fusion,我們的網站將向何處去呢?現在,我們可以利用Ming PHP庫來輕鬆地動態建立Flash動畫,並且和我們的代碼無縫整合。我們可以根據資料庫裡的資料建立出各種不同效果的動畫。
Time of Update: 2017-01-18
效果參考(附源碼)http://mail.htjs.net/yanzhengma/test.php<?session_start();?> <FORM METHOD=POST ACTION=""> <input type=text name=number maxlength=4><img src="YanZhengMa.php?act=init"> <INPUT TYPE="submit" name="sub">
Time of Update: 2017-01-18
編寫自己的php擴充函數php程式寫的時間長了,自然對他所提供的功能了如指掌,他所提供的一大堆功能,真是覺得很好用,但有時候會發現php也缺少一些功能,自己總是會產生為php添加一些自訂的功能的想法。久而久之,終於今天憋不住了,開始動手研究如何添加。 下載一個php的原始碼包,這裡使用的是php
Time of Update: 2017-01-18
PHP輸出控制功能在簡繁體轉換中的應用概要:本文對PHP的輸出控制功能進行了簡單介紹並對其在簡繁體轉化中的應用給出了具體思路和執行個體 一 PHP 輸出控制功能介紹 PHP作為當今流行的指令碼語言之一,具有編寫簡便,執行速度快,擴充性好等優點。PHP的輸出資訊控制函數可以讓你控制你的指令碼輸出的內容,可以用於許多不同的情況,特別是在你的指令碼已經輸出資訊後需要傳送檔案頭的情況以及需要對輸出資訊進行編輯處理的地方。輸出控制函數不對使用 header() 或 setcookie()
Time of Update: 2017-01-18
PHP 中執行系統外部命令PHP作為一種伺服器端的指令碼語言,象編寫簡單,或者是複雜的動態網頁這樣的任務,它完全能夠勝任。但事情不總是如此,有時為了實現某個功能,必須藉助於作業系統的外部程式(或者稱之為命令),這樣可以做到事半功倍。 那麼,是否可以在PHP指令碼中調用外部命令呢?如果能,如何去做呢?有些什麼方面的顧慮呢?相信你看了本文後,肯定能夠回答這些問題了。 是否可以? 答案是肯定的。PHP和其它的程式設計語言一樣,完全可以在程式內調用外部命令,並且是很簡單的:只要用一個或幾個函數即可。
Time of Update: 2017-01-18
你一定會笑我"下載檔案"如此簡單都值得說?當然並不是想象那麼簡單。例如你希望客戶要填完一份表格,才可以下載某一檔案,你第一個想法一定是用 "Redirect"的方法,先檢查表格是否已經填寫完畢和完整,然後就將網址指到該檔案,這樣客戶才能下載,但如果你想做一個關於"網上購物"的電子商務網站,考慮安全問題,你不想使用者直接複製網址下載該檔案,筆者建議你使用PHP直接讀取該實際檔案然後下載的方法去做。程式如下: $file_name =