国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) php教程 php手冊(cè) 關(guān)于PHP中的Class

關(guān)于PHP中的Class

Jun 13, 2016 am 10:19 AM
class php 作者 關(guān)於 來(lái)源 深空 觀點(diǎn) 說(shuō)說(shuō) 超越

作者:深空 來(lái)源:超越PHP
以我的觀點(diǎn)來(lái)說(shuō)說(shuō)PHP中的Class,用于表達(dá)的語(yǔ)言都是非正式的語(yǔ)言,也不能確定是否正確。
建立一個(gè)類(lèi)很簡(jiǎn)單:
class my_class {}
類(lèi)到底干什么呢?很多人都說(shuō)是什么黑匣子,我在這里稱(chēng)它為一個(gè)獨(dú)立的整體。我們只知道類(lèi)名,而不知道里面有什么東西。那么,該如何使用這個(gè)類(lèi)呢?
首先:要知道它里面是否定義了公共的變量--專(zhuān)業(yè)術(shù)語(yǔ)上稱(chēng)它為“屬性”。
其次:要知道它里面定義了什么函數(shù)--專(zhuān)業(yè)術(shù)語(yǔ)中稱(chēng)它為“方法”。
我都被這些專(zhuān)業(yè)術(shù)語(yǔ)搞糊涂了,所以干脆不理它了。
類(lèi)中的如何定義公共變量,它有什么作用呢?
很簡(jiǎn)單,我們來(lái)擴(kuò)充 my_class 類(lèi):
class my_class
{
var $username;
}
看上面很簡(jiǎn)單,我們定義了一個(gè)公共的變量,只是用 var+空格+普通變量名 構(gòu)成。它有什么用呢?考慮一下函數(shù)中,如果我們要訪(fǎng)問(wèn)函數(shù)外的變量,是不是要先 global 一下呢?這個(gè)想實(shí)現(xiàn)的效果也是如此,它是想讓這個(gè)類(lèi)中的所有函數(shù)都能訪(fǎng)問(wèn)它,而它區(qū)別于函數(shù)的一個(gè)地方,是類(lèi)的外部也可以隨時(shí)訪(fǎng)問(wèn)和控制這個(gè)變量,我隨后再講外部如何訪(fǎng)問(wèn)它。還有一個(gè)區(qū)別,不能用復(fù)雜的語(yǔ)句給這個(gè)變量賦值具體的等理解了類(lèi)以后自己去看規(guī)則)。
給它一個(gè)默認(rèn)值:
class my_class
{
var $username = "深空";
}
OK,定義了一個(gè)公共的變量了,接下來(lái)定義一個(gè)函數(shù)也就是所謂的“方法”):
class my_class
{
var $username = "深空";
function show_username()
{
}
}
這個(gè)定義函數(shù)跟普通的定義函數(shù)形式上沒(méi)什么區(qū)別了。簡(jiǎn)單就好,定義一個(gè)打印 $username 的函數(shù):
class my_class
{
var $username = "深空";
function show_username($username)
{
echo $username;
}
}
到這里可能某些人開(kāi)始迷糊了,呵呵,最關(guān)鍵的就是這里了,看清楚了。現(xiàn)在有三個(gè) $username 了。到底哪個(gè)是哪個(gè)啊~~
函數(shù)所帶的形參,不用解釋了吧?這個(gè)函數(shù)功能就是打印形參所接收的值,也就是如果:
show_username("豬頭深空");
那么它將打印 “豬頭深空” ,就這么簡(jiǎn)單。
怎么樣訪(fǎng)問(wèn)這個(gè)函數(shù)?肯定不是我上面說(shuō)的那樣直接 show_username("豬頭深空"); 了,別急,類(lèi)有類(lèi)的一套。如下:
$Name = new my_class();
這樣就初始化上面的那個(gè) my_class 的類(lèi)了,并把這個(gè)對(duì)象賦給變量 $Name ,你可以這樣理解,這個(gè)變量就代表整個(gè)類(lèi)了,呵呵。
使用類(lèi)中的函數(shù):
$Name->show_username("豬頭深空");
暈了,為什么這么復(fù)雜?還要箭頭?其實(shí)很形象的。本來(lái)已經(jīng)把類(lèi)給了變量 $Name 了是吧?也就是 $Name 代表了這個(gè)類(lèi),然后用一個(gè)箭頭指向類(lèi)中的 show_username 這個(gè)函數(shù)。就是這么簡(jiǎn)單,也就是說(shuō),這個(gè)函數(shù)是這個(gè)類(lèi)中的,而不是其他的函數(shù)--你就理解為表示一個(gè)區(qū)別吧,呵呵。
試試看哦,打印出 “豬頭深空” 這四個(gè)字了。你說(shuō)為什么要這么復(fù)雜?用函數(shù)不是也能實(shí)現(xiàn)么?我說(shuō),這么簡(jiǎn)單的你當(dāng)然看不出好處了,我們繼續(xù)擴(kuò)充。
還有一個(gè)疑問(wèn)是:剛才說(shuō)的“公共的變量”怎么一點(diǎn)用處都沒(méi)有呢?為什么這個(gè)函數(shù)不會(huì)自動(dòng)接收這個(gè)公共變量 var $username 中的默認(rèn)值?也就是如果我使用:
$Name->show_username($username);
會(huì)有什么結(jié)果呢?答案是沒(méi)有任何輸出。因?yàn)槟銢](méi)有給形參 $username 一個(gè)值。
那么該怎么使用這個(gè)公共的變量?我們來(lái)修改一下這個(gè)類(lèi):
class my_class
{
var $username = "深空";
function show_username()
{
echo $this->username;
}
}
哇靠,不是吧,這回連形參都沒(méi)有了?還多了一個(gè)$this->,暈了不是,呵呵。其實(shí)這也是類(lèi)的一個(gè)最大的方便之處。
$this 的作用:訪(fǎng)問(wèn)一個(gè)公共的變量,或者類(lèi)里面的函數(shù)。
訪(fǎng)問(wèn)?這么專(zhuān)業(yè)?其實(shí)就是用 $this->username 來(lái)代替 var $username 而已拉,$this 用來(lái)說(shuō)明它是公共的、可以訪(fǎng)問(wèn)的、函數(shù)外部的東西比如其他變量或函數(shù))。
試試看:
$Name->show_username();
看到了吧,終于打印 “深空” 這兩個(gè)字了,娃哈哈。
我不打印“深空”這兩個(gè)字,我要打印“豬頭深空”,怎么辦?很簡(jiǎn)單,我們給這個(gè)公共變量重新賦值拉。服了你了。
$Name->username = "豬頭深空";
這個(gè)能明白意思么?$Name->username 表示的是類(lèi)里面的這個(gè)公共變量。等號(hào)賦值不用我解釋了。
我們?cè)賮?lái)打印看看:
$Name->show_username();
哈哈,終于打印“豬頭深空”了。不錯(cuò)吧,很方便吧,不用形參也能任意修改打印值哦~~。
不過(guò)單單打印一個(gè)名稱(chēng)也太沒(méi)意思了,我們說(shuō)點(diǎn)歡迎的話(huà)吧,來(lái)擴(kuò)充一下這個(gè)類(lèi),創(chuàng)建一個(gè)名叫 Welcome 的函數(shù):
class my_class
{
var $username = "深空";
function show_username()
{
echo $this->username;
}
function Welcome()
{
}
}
恩,實(shí)現(xiàn)什么功能好呢?簡(jiǎn)單點(diǎn)吧,就實(shí)現(xiàn)在名字前面有 “歡迎” 兩個(gè)字好了
class my_class
{
var $username = "深空";
function show_username()
{
echo $this->username;
}
function Welcome()
{
echo "歡迎";
$this->show_username();
}
}
第二次看到 $this 了吧?和上次有點(diǎn)不同,$this->show_username(); 干什么用呢?指向類(lèi)中的一個(gè)函數(shù),其實(shí)它就是調(diào)用 show_username 這個(gè)函數(shù),用 $this 來(lái)表示這個(gè)函數(shù)在類(lèi)中并且和 Welcome 函數(shù)平行,而不是在其他地方比如Welcome函數(shù)中)。
Welcome 函數(shù)實(shí)現(xiàn)的功能很簡(jiǎn)單,首先打印兩個(gè)字"歡迎",然后接下去執(zhí)行 show_username 函數(shù),打印名字。
來(lái)試試這個(gè)函數(shù)吧:
$Name->Welcome();
看到了吧,打印出“歡迎深空”這四個(gè)字了。
可是我要打印“歡迎豬頭深空”,怎么辦?我服了你了,我們給公共變量 var $username 一個(gè)值吧:
$Name->username = "豬頭深空";
接下去打印歡迎語(yǔ):
$Name->Welcome();
嘿嘿,終于打印“歡迎豬頭深空”了。
怎么樣?明白了類(lèi)的用法了么?好處在于能夠調(diào)用類(lèi)中的任意函數(shù),只要用 $this 指出來(lái),可以改變一個(gè)公共變量的值,可以在類(lèi)中的函數(shù)中使用這個(gè)公共變量。………多了去了,它的應(yīng)用等待你去發(fā)現(xiàn)了。

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線(xiàn)上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話(huà)題

為什麼我們?cè)u(píng)論:PHP指南 為什麼我們?cè)u(píng)論:PHP指南 Jul 15, 2025 am 02:48 AM

PHPhasthreecommentstyles://,#forsingle-lineand/.../formulti-line.Usecommentstoexplainwhycodeexists,notwhatitdoes.MarkTODO/FIXMEitemsanddisablecodetemporarilyduringdebugging.Avoidover-commentingsimplelogic.Writeconcise,grammaticallycorrectcommentsandu

如何在Windows上安裝PHP 如何在Windows上安裝PHP Jul 15, 2025 am 02:46 AM

安裝PHP在Windows上的關(guān)鍵步驟包括:1.下載合適的PHP版本並解壓,推薦使用ThreadSafe版本配合Apache或NonThreadSafe版本配合Nginx;2.配置php.ini文件,將php.ini-development或php.ini-production重命名為php.ini;3.將PHP路徑添加到系統(tǒng)環(huán)境變量Path中以便命令行使用;4.測(cè)試PHP是否安裝成功,通過(guò)命令行執(zhí)行php-v和運(yùn)行內(nèi)置服務(wù)器測(cè)試解析能力;5.若使用Apache,需在httpd.conf中配置P

PHP語(yǔ)法:基礎(chǔ)知識(shí) PHP語(yǔ)法:基礎(chǔ)知識(shí) Jul 15, 2025 am 02:46 AM

PHP的基礎(chǔ)語(yǔ)法包括四個(gè)關(guān)鍵點(diǎn):1.PHP標(biāo)籤必須使用結(jié)束,推薦使用完整標(biāo)籤;2.輸出內(nèi)容常用echo和print,其中echo支持多參數(shù)且效率更高;3.註釋方式有//、#和//,用於提升代碼可讀性;4.每條語(yǔ)句必須以分號(hào)結(jié)尾,空格和換行不影響執(zhí)行但影響可讀性。掌握這些基本規(guī)則有助於寫(xiě)出清晰穩(wěn)定的PHP代碼。

PHP 8安裝指南 PHP 8安裝指南 Jul 16, 2025 am 03:41 AM

在Ubuntu上安裝PHP8的步驟為:1.更新軟件包列表;2.安裝PHP8及基礎(chǔ)組件;3.檢查版本確認(rèn)安裝成功;4.按需安裝額外模塊。 Windows用戶(hù)可下載ZIP包並解壓,隨後修改配置文件、啟用擴(kuò)展並將路徑加入環(huán)境變量。 macOS用戶(hù)推薦使用Homebrew安裝,依次執(zhí)行添加tap、安裝PHP8、設(shè)置默認(rèn)版本及驗(yàn)證版本等步驟。不同系統(tǒng)下安裝方式雖有差異,但流程清晰,根據(jù)用途選對(duì)方法即可。

python如果還有示例 python如果還有示例 Jul 15, 2025 am 02:55 AM

寫(xiě)Python的ifelse語(yǔ)句關(guān)鍵在於理解邏輯結(jié)構(gòu)與細(xì)節(jié)。 1.基礎(chǔ)結(jié)構(gòu)是if條件成立執(zhí)行一段代碼,否則執(zhí)行else部分,else可選;2.多條件判斷用elif實(shí)現(xiàn),順序執(zhí)行且一旦滿(mǎn)足即停止;3.嵌套if用於進(jìn)一步細(xì)分判斷,建議不超過(guò)兩層;4.簡(jiǎn)潔場(chǎng)景可用三元表達(dá)式替代簡(jiǎn)單ifelse。注意縮進(jìn)、條件順序及邏輯完整性,才能寫(xiě)出清晰穩(wěn)定的判斷代碼。

您的第一個(gè)PHP腳本:實(shí)用介紹 您的第一個(gè)PHP腳本:實(shí)用介紹 Jul 16, 2025 am 03:42 AM

如何開(kāi)始編寫(xiě)第一個(gè)PHP腳本?首先設(shè)置本地開(kāi)發(fā)環(huán)境,安裝XAMPP/MAMP/LAMP,使用文本編輯器,了解服務(wù)器運(yùn)行原理。其次,創(chuàng)建一個(gè)名為hello.php的文件,輸入基本代碼並運(yùn)行測(cè)試。第三,學(xué)習(xí)混合使用PHP與HTML以實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容輸出。最後,注意常見(jiàn)錯(cuò)誤如缺少分號(hào)、引用問(wèn)題及文件擴(kuò)展名錯(cuò)誤,並開(kāi)啟錯(cuò)誤報(bào)告以便調(diào)試。

什麼是PHP,它是用什麼? 什麼是PHP,它是用什麼? Jul 16, 2025 am 03:45 AM

PHPisaserver-sidescriptinglanguageusedforwebdevelopment,especiallyfordynamicwebsitesandCMSplatformslikeWordPress.Itrunsontheserver,processesdata,interactswithdatabases,andsendsHTMLtobrowsers.Commonusesincludeuserauthentication,e-commerceplatforms,for

如何處理PHP中的未定義索引 如何處理PHP中的未定義索引 Jul 15, 2025 am 02:08 AM

出現(xiàn)“undefinedindex”錯(cuò)誤是因?yàn)樵L(fǎng)問(wèn)了數(shù)組中不存在的鍵。解決方法包括:1.使用isset()檢查鍵是否存在,適合處理用戶(hù)輸入;2.使用array_key_exists()判斷鍵是否被設(shè)置,即使值為null也能識(shí)別;3.使用空合併運(yùn)算符??設(shè)置默認(rèn)值,避免直接訪(fǎng)問(wèn)未定義鍵;此外還需注意表單字段名拼寫(xiě)、數(shù)據(jù)庫(kù)結(jié)果為空、數(shù)組解包未驗(yàn)證、foreach中未檢查子級(jí)鍵以及未調(diào)用session_start()等常見(jiàn)問(wèn)題。

See all articles