php類的命名
『壹』 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類的命名規則
public 是表示該屬性公用,類內外都能調用。(類外是指實例話後的調用,或靜態調用)private 是表示該屬性或方法只能在該類內使用,不能繼承,類外也不能調用。
global 是全局變數,在程序的任何位置都能使用,在方法或類方法內使用前必須聲明該變數是全局變數global $var
『肆』 php類文件中,類文件名和方法名要一樣嗎
你好,對於一些PHP框架來說是有要求的,其實這也是一個良好的習慣。順便提一下,在linux伺服器里,因為文件是要區分大小寫的,所以可能你在windows系統的電腦上開發的項目雖然在本地可以運行,但是放到linux伺服器上,就會出現各種文件找不到的情況,所以,在使用PHP框架前最好是要仔細查看路由、控制器、模塊、視圖這些文件的命名要求。一般情況 都是要求文件名稱和類名稱首字母大寫。
希望我的回答可以幫助到你,望採納
『伍』 tinkphp5.1手冊命名規范中類的文件名均以命名空間定義怎麼理解
這句話應該整句一起理解,不用單獨拿前面一段出來。只要能保證命名空間的路徑和類庫文件所在路徑一致即可
比如Index.php就放在app/index/controller目錄下
那麼Index.php的命名空間就是app/index/controller
『陸』 php 命名空間是什麼意思
從廣義上來說,命名空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。例如,在操作系統中目錄用來將相關文件分組,對於目錄中的文件來說,它就扮演了命名空間的角色。PHP 命名空間提供了一種將相關的類、函數和常量組合到一起的途徑。
具體舉個例子,文件foo.txt可以同時在目錄/home/greg和/home/other中存在,但在同一個目錄中不能存在兩個foo.txt文件。另外,在目錄/home/greg外訪問foo.txt文件時,我們必須將目錄名以及目錄分隔符放在文件名之前得到/home/greg/foo.txt。這個原理應用到程序設計領域就是命名空間的概念。
在PHP中,命名空間用來解決在編寫類庫或應用程序時創建可重用的代碼如類或函數時碰到的兩類問題:
用戶編寫的代碼與PHP內部的類/函數/常量或第三方類/函數/常量之間的名字沖突。
為很長的標識符名稱(通常是為了緩解第一類問題而定義的)創建一個別名(或簡短)的名稱,提高源代碼的可讀性。
『柒』 PHP 命名空間多類定義 引用問題
是引用的System.Runtime.InteropServices命名空間下的一個屬性類DllImport吧import的I要大寫如果不是大小寫問題你把代碼截圖發來看看
『捌』 如何在thinkphp裡面自定義類
類文件都是以.class.php為後綴(這里是指的ThinkPHP內部使用的類庫文件,不代表外部載入的類庫文件),使用駝峰法命名,並且首字母大寫,例如 DbMysql.class.php;
類的命名空間地址和所在的路徑地址一致,例如 Home\Controller\UserController類所在的路徑應該是 Application/Home/Controller/UserController.class.php;
確保文件的命名和調用大小寫一致,是由於在類Unix系統上面,對大小寫是敏感的(而ThinkPHP在調試模式下面,即使在Windows平台也會嚴格檢查大小寫);
類名和文件名一致(包括上面說的大小寫一致),例如 UserController類的文件命名是UserController.class.php, InfoModel類的文件名是InfoModel.class.php, 並且不同的類庫的類命名有一定的規范;
打開一個thinkphp裡面自帶的類文件對照著理解就好了