php標准類
⑴ php中類是什麼
先了解什麼是面向對象編程就明白什麼叫類了。
⑵ PHP的標准類型和復雜類型有哪些
八種·變數類型:整形、浮點型、字元串、布爾型、null、數組、對象(復合類型)、資源
⑶ PHP類裡面方法的注釋,這樣寫是標準的格式嗎
沒有代碼。
沒有標准一說,只有看著方便不方便
/*
注釋:類aa用於.....
*/
class aa{
//注釋:方法c用於....
function c(){
}
}
⑷ php中如何給類規范的注釋
需要准備的材料分別是:電腦、phpstrom編輯器。
1、首先,打開phpstrom編輯器,新建php文件,例如:index.php,定義一個函數示例。
⑸ 如何在PHP中定義一個類
當你聲明一個類,你需要列出對象應有的所有變數和所有函數?被稱為屬性和方法圖1中顯示了一個類的構成. 注意在大括弧({})內你只能聲明變數或者函數. 圖2中顯示了如何在一個類中定義三個屬性和兩個方法.
以下為引用的內容:
class Name extends Another Class
{
Access Variable Declaration
Access Function Declaration
}
name = $name;
$this->password = $password;
$this->lastLogin = time();
$this->accesses++;
}
// 獲取最後訪問的時間
function getLastLogin()
{
return(date("M d Y", $this->lastLogin));
}
}
//創建一個對象的實例
$user = new User("Leon", "sdf123");
//獲取最後訪問的時間
print($user->getLastLogin() ."\n");
//列印用戶名
print("$user->name\n");
?>
當你聲明屬性,你不需要指明數據類型. 變數可能是整型,字元串或者是另一個對象,這取決於實際情況.在聲明屬性時增加註釋是一個好主意,標記上屬性的含義和數據類型.
當你聲明一個方法,你所做的和在類外部定義一個函數是一樣的. 方法和屬性都有各自的命名空間. 這意味著你可以安全地建立一個與類外部函數同名的方法,兩者不會沖突. 例如,一個類中可以定義一個名為date()的方法. 但是你不能將一個方法命名為PHP的關鍵字,如for或者while.
類方法可能包含PHP中所謂的type hint. Type hint 是另一個傳遞參數給方法的類的名字. 如果你的腳本調用方法並傳遞一個不是類的實例的變數,PHP將產生一個」致命(fatal)錯誤」 . 你可能沒有給其它類型給出type hint,就像整型,字元串,或者布爾值. 在書寫的時候, type hint是否應當包含數組類型仍存在爭議.
Type hint是測試函數參數或者運算符的實例的數據類型的捷徑. 你可能總是返回這個方法. 確認你強制讓一個參數必須是哪種數據類型,如整型. 圖3 確保編譯類只產生Widget的實例
以下為引用的內容:
<?php
//組件
class Widget
{
public $name='none';
public $created=FALSE;
}
//裝配器
class Assembler
{
public function make(Widget $w)
{
print("Making $w->name\n");
$w->created=TRUE;
}
}
//建立一個組件對象
$thing = new Widget;
$thing->name = 'Gadget';
//裝配組件
Assembler::make($thing);
?>
除了傳遞參數的變數外,方法含有一個特殊的變數. 它代表類的個別實例. 你應當用這個來指向對象的屬性和其它方法.一些面向對象的語言假設一個不合格的變數提交給本地屬性,但在PHP中方法的任何變數只是在方法的一定范圍內. 注意在User類的構造函數中這個變數的使用圖2.
⑹ 如何文檔化你的PHP類(一)
如果你已經編寫了幾個類應用在網站上並且你是一個有條理的人的話,那麼你應該已經編寫了關於它們的一些文檔。但是如果你是一個象我一樣的不拘小節的人,你只是會在類的源代碼中加一些注釋而沒有別的文檔。沒有文檔就很難記住方法的名字和它們的使用方法(參數和含義)。解決這種情況最典型的辦法就是打開源代碼文件,從成百上千的語句中查找。 類似Javadoc的文檔 應該有一種好的方法----如果你曾經使用過Java語言,你將知道Javadoc文檔系統。這個工具允許你在源代碼文件注釋中插入一些標記,這些標記可以被Javadoc工具進行分析以便生成一系列的HTML頁面把你的類文檔化。那樣在編程的同時你可以開著瀏覽器並且可以得到類列表和帶有說明的類方法的列表。在你開發web應用時,這個可以成為你的參考,提高工作效率和加快開發速度。 我的意見是維護一個作為源代碼內的引用文檔要比維護一個獨立的文檔要容易和更實用,因為這個方法更容易保持更新。否則就非常容易變得懶惰從而將對文檔的更新推後到無限期(如果一定要給它加個期限,我想是一萬年)。相反使用象這樣的一個工具,只有一點工作量就是在你正在修改的源代碼附近更新一個標記,接著運行工具再一次生成更新過的HTML頁面。 一些php文檔工具的預覽 phpSearchdoc是enzyme項目的一部分。因為enzyme 是一個巨大的項目,所以需要將其文檔化。那裡的開發人員已經編寫了他們自已的文檔系統並且他們非常慷慨地將其作為一個獨立的包進行發布。得到的文檔首先被寫入資料庫,然後可以被一些PHP腳本查看,象一個動態的web站點。 從現存的信息中將用於分析的邏輯分離出來的想法相當好,然而phpSearchdoc(版本 1.01)不具有一個真正的分析器,而是從源文件,甚至包括注釋中搜索關鍵字。事實上,對我來說碰巧發生過在我的注釋中存在'function'單詞,結果分析器愚蠢地認為在這個單詞後面的詞就是函數的名字。更不幸的是,我不巧在同一行放了一個單引號('),接著我試圖將數據寫到資料庫中,mysql作出了抱怨(出錯了,因為單引號在 mysql中被用於分割字元串)。 而且它的安裝及運行相當困難,因為它還是一個alpha測試版。畢竟比起文檔系統來說它更象是一個交叉引用生成器,正如我知道的,你不能在函數和方法中加入自已的注釋。 phpxref,就象名字所指的比起一個真正 的文檔系統來似乎更象是面向交叉引用的生成處理。更進一步說它更適合於正常的過程化編程而不是面向對象編程。 phpautodoc的目標是實現象Javadoc 應用於Java那樣用於PHP。它看上去是滿足我的文檔需求的完美解決。為了試驗它我不得不編譯了PHP的CGI版本(我通常使用模塊版本),因為生成器是用PHP編的。我可能容易地在一個Linux系統下編譯和安裝靜態的執行程序,可以使用這些命令: rm config.chchemake clean ./configuremakecp php /usr/local/bin 我決定對它自已的PHP源碼進行測試,並且我發現它只有部分可以工作:它只能夠生成類的文檔(生成整齊的格式),但是不能生成小結。我不知道是否這個只是碰巧發生在我的機器上,但是在試圖生成小結時卻因為core mp(內核崩潰)而停止(PHP 4.0 pl2,RedHat 6.2環境)。假如在你的機器/usr/local/bin下安裝了PHP執行版本,調用它的語法是(為了得到結果我不得不給出php文件和輸出目錄的全路徑) ./phpautodoc -o phpdoc是一個用來維護在Web站點上的php 文件,並且它非常適合分布式開發方式。文檔是從資料庫中生成;在安裝之後,你可以使用web界面來增加你的類將其文檔化。這個的確有意思,但是它是一種低級的從源代碼中分離文檔的維護方法,這一點就我來說不是非常方便。 通用工具在經受了試驗所有這些工具但卻得不到怎麼成功的挫折之後,直到Pear Project提出了一種標準的解決方法,我發現了一個與PHP完全無關的可工作的工具在Open Source Projects at Apple站點。項目的名字是 HeaderDoc。就象站點所說的 HeaderDoc是一種從C或C++頭文件的注釋中生成HTML的引用文檔的工具。它是用Perl編寫的以便於移植。與JavaDoc 相似,它允許開發者容易地文檔化他們的介面,並且將介面信息輸出到HTML。 是的,你看的沒錯,HeaderDoc只支持C和C++。沒有其它的語言,但是它不象JavaDoc,它大部分依賴寫在注釋中的標記,所以只要做些小改動(我會在後面解釋)就可以很好的用在PHP上。這些標記同JavaDoc很象,HeaderDoc標記的一些例子是@class,@function和@var。 文檔化一個類 -------------------------------------------------------------------------------- /*! @class BagItem @abstract An item in the shopping bag - it is a shopitem with quantity @discussion A BagItem object may be constructed without previous instantiation of neither ShopItem nor Proct*/-------------------------------------------------------------------------------- 文檔化一個類。可以在左邊的幀選擇類的方法。 第一件需要注意的事情是用在打開注釋上的風格不完全象JavaDoc注釋/**(一個斜線和兩個星號),而是換成/*!(一個斜線,一個星號和一個感嘆號) 。標記使用也不一樣,但是它們以相似的方式工作。例如,第一個標記是@class標記,它用於文檔化一個類,這個標記跟著類的名字。下一個標記是@abstract 標記,它 是一個可選的標記,用少量詞語來描述一個類的含義,同時@discussion 標記是另一個可選的標記,用於進一步的討論。當然由你來決定是在@discussion標記中描述所有的事情還是使用@abstract來處理,但是要記住,一般來說,你使用的標記越精確,結果就越好。
⑺ php的SPL標准類庫 --- 有用嗎有什麼用
參考:《PHP高級程序設計模式、框架與測試》
這里有SPL詳細解說
這本書你可以從網上找到
⑻ 規范的 php 類庫命名應該是什麼樣子的
php各種命抄名沒有統一的規范和標准,襲因為php本身很多地方都不規范,比如php的內置函數,各種命名風格都有。
一般來說常量用大寫,變數、函數名、類名用小寫,多個單詞的之間可以用下劃線,比如user_class,或則駝峰命名法,比如UserClass。
這么說吧,命名的規范完全由開發者根據自己的習慣來決定,自己覺得怎麼舒服就怎麼弄,不要太在意這些規范,如果把命名規范看得很重,說明你項目還不重,當你真的熬夜加班擼代碼的時候,隨便撿兩個字母就命名了,哪有時間去考慮命名規范。
⑼ PHP類的命名規則
public 是表示該屬性公用,類內外都能調用。(類外是指實例話後的調用,或靜回態調用)private 是表示該屬性答或方法只能在該類內使用,不能繼承,類外也不能調用。
global 是全局變數,在程序的任何位置都能使用,在方法或類方法內使用前必須聲明該變數是全局變數global $var