靜安網(wǎng)站開發(fā)推廣方案流程
php基礎(chǔ)語法
一 php程序
1.php標(biāo)記
開始標(biāo)記<?php? 和結(jié)束標(biāo)記 ?>中間寫 PHP 代碼
當(dāng)解析一個(gè)文件時(shí),PHP 會尋找起始和結(jié)束標(biāo)記,也就是告訴php 開始和停止解析二者之間的代碼。此種解析方式使得PHP 可以被嵌入到各種不同的文檔中去,而任何起始和結(jié)束標(biāo)記之外的部分都會被 PHP 解析器忽略
2.php代碼
echo? ----->可以輸出一個(gè)或多個(gè)字符串,用逗號(,)隔開
print?? ----->只允許輸出一個(gè)字符串
<?phpecho 111,222;print 345;
?>
3.語句結(jié)束符 ;
4.注釋
//? ----->單行注釋
/*
*/?? ------>多行注釋
二 php變量
?1、聲明變量
<?php$a='ooii';echo $a;
?>
2.賦值運(yùn)算符
=
3.變量命名規(guī)則
- 開頭不能用數(shù)字
- 中間不能有空格
<?php$a_new='ooii'; //下劃線命名法echo $a_new;$a_New='ooi'; //小駝峰命名法echo $a_New;$A_New='oo'; //大駝峰命名法echo $A_New;
?>
php標(biāo)量類型介紹
一 php標(biāo)量數(shù)據(jù)類型
echo 輸出數(shù)據(jù)值,開發(fā)時(shí)使用
var_dump 可以打印數(shù)據(jù)類型和值,測試時(shí)使用?
1.布爾型
布爾型通常用于條件判斷
<?php$x = true;var_dump($x);echo '<hr>';$y = false;var_dump($y);
?>
2.整型
- 整數(shù)不能包含逗號或空格
- 整數(shù)是沒有小數(shù)點(diǎn)的
- 整數(shù)可以是正數(shù)或負(fù)數(shù)
- 整型可以用三種格式來指定: 十進(jìn)制、十六進(jìn)制、八進(jìn)制
<?php $number = 0; var_dump($number); echo '<hr>'; $number = 67; var_dump($number); echo '<hr>'; $number = -322; var_dump($number); ?>
3.浮點(diǎn)型
帶小數(shù)部分的數(shù)字
<?php$number = 10.03;var_dump($number);echo '<hr>';$number = -88.23;var_dump($number);
?>
4 字符串
- 引號內(nèi)的數(shù)據(jù)可以是單引號或雙引號
- 字符串不用引號會報(bào)錯(cuò)
- 數(shù)字、浮點(diǎn)型、布爾型,用引號也屬于字符串
<?php$str ='我是歐陽';var_dump($str);echo '<hr>';$str = 'My name is ou yang';var_dump($str);
?>
?
一個(gè)漢字三個(gè)長度
ps
這里說明一下單引號和雙引號的區(qū)別
簡而言之 就是雙引號可以解析變量
在單引號的情況下,我們在第二個(gè)str變量中引入第一個(gè)str變量
發(fā)現(xiàn)顯示出的還是$str
<?php$str ='我是歐陽';var_dump($str);echo '<hr>';$str = '$str My name is ou yang';var_dump($str);
?>
但是我們?nèi)绻褂秒p引號來包裹第二個(gè)變量
<?php$str ='我是歐陽';var_dump($str);echo '<hr>';$str = "$str My name is ou yang";var_dump($str);
?>
?就可以發(fā)現(xiàn)第一個(gè)變量被引入了
二 php復(fù)合數(shù)據(jù)類型
三 php特殊數(shù)據(jù)類型
<?php$null;var_dump($null);echo '<hr>';$null ='';var_dump($null);echo '<hr>';$null = null;var_dump($null);
?>
?
php數(shù)組類型
一 數(shù)組
1.空數(shù)組
<?php$arr = array();var_dump($arr);$arr = [];var_dump($arr);
?>
2.索引數(shù)組
<?php$arr = array('ooii','ww','y');var_dump($arr);echo '<hr>';$arr = ['ooii','ww','y'];var_dump($arr);
?>
輸出鍵為0的值
<?php$arr = array('ooii','ww','y');var_dump($arr[0]);
?>
3.關(guān)聯(lián)數(shù)組
自定義鍵
<?php$arr = array('qwe'=>'ooii', //ooii這一值的鍵定義為qwe'ww','y');var_dump($arr['qwe']);
?>
輸出一整個(gè)數(shù)組
print_r
<?php$arr = array('qwe'=>'ooii','ww','y');print_r($arr);
?>
看下print_r與var_dump的區(qū)別
第一行是print_r
第二行是var_dump
4.連接符
.
可以連接多個(gè)數(shù)據(jù)
echo 'wy is:' . $arr[qwe];
二.php多維數(shù)組
1.二維數(shù)組
<?php$arr = array(array('ooii'),array('ww'),array('yy'),);print_r($arr);echo '<hr>';var_dump($arr);
?>
2.三維數(shù)組
<?php$arr = [['name' => '歐陽','school' => 'PHP中文網(wǎng)','gongfu' => ['PHP','小程序','layui','Thinkphp']],['name' => '西內(nèi)','school' => 'PHP中文網(wǎng)','gongfu' => ['PHP','Thinkphp','Laravel','實(shí)戰(zhàn)項(xiàng)目']],['name' => '強(qiáng)滅絕','school' => 'PHP中文網(wǎng)','gongfu' => ['HTML','PHP','layui','Thinkphp']]];print_r($arr)
?>
輸出某一鍵值
echo $arr[0]['name'];
三.php 數(shù)組循環(huán)
1.foreach
<?php$arr = array('ouyang' => '歐陽','ximen' => '西門','miejue' => '強(qiáng)滅絕');foreach ($arr as $v) { //as 是給予 $v是循環(huán)每次value的值echo $v;echo '<hr>';}
?>
2.key value的循環(huán)
我們可以通過num循環(huán)來體現(xiàn)一下
<?php$arr = array('ouyang' => '歐陽','ximen' => '西門','miejue' => '強(qiáng)滅絕');$num=1;foreach ($arr as $v) { echo $v;$num=$num+1;echo $num;echo '<hr>';}
?>
那么剛才循環(huán)的是值 我們看看能不能循環(huán)key
這里需要=>
<?php$arr = array('ouyang' => '歐陽','ximen' => '西門','miejue' => '強(qiáng)滅絕');foreach ($arr as $k =>$v) {echo $k.$v;echo '<hr>';}
?>
3.循環(huán)多維數(shù)組
<?php$arr = [['name' => '強(qiáng)歐陽','school' => 'PHP中文網(wǎng)'],['name' => '西門','school' => 'PHP中文網(wǎng)'],['name' => '強(qiáng)滅絕','school' => 'PHP中文網(wǎng)']];foreach ($arr as $k => $v) {print_r($v);echo '<hr>';}
?>
<?php$arr = [['name' => '強(qiáng)歐陽','school' => 'PHP中文網(wǎng)'],['name' => '西門','school' => 'PHP中文網(wǎng)'],['name' => '強(qiáng)滅絕','school' => 'PHP中文網(wǎng)']];foreach ($arr as $k => $v) {echo $v['name'].$v['school'];echo '<hr>';}
?>
?
這里可以看出循環(huán)先從外層數(shù)組開始
<?php$arr = [['name' => '強(qiáng)歐陽','school' => 'PHP中文網(wǎng)'],['name' => '西門','school' => 'PHP中文網(wǎng)'],['name' => '強(qiáng)滅絕','school' => 'PHP中文網(wǎng)']];foreach ($arr as $k => $v) {foreach($v as $vv){echo $vv;echo '<hr>';}}
?>
php條件判斷
1、三元運(yùn)算符 ? :
若str變量有值 則返回 i am ooii
否則error
$str='ooii';echo $str ? 'i am ooii' : 'error';
$str='';echo $str ? 'i am ooii' : 'error';
?
2.if
<?php$wy='ooii';if($wy){echo 'i am ooii';}
如果wy變量有值,則返回i am ooii
3. if else
<?php$wy='';if($wy){echo 'i am ooii';}else{echo 'error';}
wy變量為空,則返回 error
4. if elseif else
wyy有值,則返回yes
<?php$wy='';$wyy='ooii';if($wy){echo 'i am ooii';}elseif($wyy){echo 'yes';}else{echo'error';}
如果wy wyy的值都為空,則返回error
<?php$wy='';$wyy='';if($wy){echo 'i am ooii';}elseif($wyy){echo 'yes';}else{echo'error';}
5.switch default
進(jìn)行條件匹配
<?php$wy='ooii';switch($wy){case 'ooii':echo 'i am ooii';break;case 'oi':echo 'error';break;default:echo $wy;}
6.php8新特性? match
這里php版本需要到8
<?php$wy = 'aaa';switch ($wy) {case 'ooii':echo 'i am ooii';break;case 'oi':echo 'error';break;default:echo $wy;}echo match ($wy) {'aaa' => '啊啊啊','bbb' => '不不不','ccc' => '踩踩踩'};
?>
與swtich區(qū)別
match 是表達(dá)式 要增加結(jié)束符號
match 可以返回給變量 或者直接輸出
match 只支持單行表達(dá)式
match 匹配進(jìn)行嚴(yán)格比較
php函數(shù)
一 函數(shù)介紹
1.函數(shù)判斷
<?php
if($wy){echo 'ooii';
}
if(isset($wy)){echo 'ooi';
}
if(empty($wy)){echo 'oo';
}
?>
2.什么是函數(shù)
- 函數(shù)是一段可以重復(fù)執(zhí)行的代碼片斷
- 函數(shù)是實(shí)現(xiàn)代碼復(fù)用的重要手段。
- 函數(shù)是現(xiàn)代編程語言最重要的基本單元
- 函數(shù)永遠(yuǎn)是編程的核心工作
3.函數(shù)分類
根據(jù)函數(shù)的提供者(編寫者),分為二類
- 系統(tǒng)函數(shù): 編程語言開發(fā)者事先寫好提供給開發(fā)者直接使用的
- 自定義函數(shù): 用戶根據(jù)自身需求,對系統(tǒng)功能進(jìn)行擴(kuò)展
二 系統(tǒng)函數(shù)
PHP 的真正力量來自它的函數(shù):它擁有超過 1000個(gè)內(nèi)建的函數(shù)
1.string字符串函數(shù)
<?php
//將宇符串轉(zhuǎn)化為小寫
$ouyang ='OUYANGKE';
echo strtolower($ouyang);
echo '<hr>';
//將字符串轉(zhuǎn)化為大寫
$miejue ='miejueshitai';
echo strtoupper($miejue);
echo '<hr>';
//將字符串分割為數(shù)組
$php='歐陽克,滅絕師太,西門大官人,天';
print_r(explode(',',$php));
echo '<hr>';
//將字符串進(jìn)行md5加密
$ximen ='西門大官人';
echo md5($ximen);
?>
2.array數(shù)組函數(shù)
<?php
$arr=['歐陽克','滅絕師太','西門大官人','天'
];
//數(shù)組中元素的數(shù)量
echo count($arr);
echo '<hr>';
// 把數(shù)組元素組合為字符串
echo implode(',',$arr);
echo '<hr>';
//數(shù)組中是否存在指定的值
echo in_array('天',$arr);
echo '<hr>';
//刪除數(shù)組中的最后一個(gè)元素
array_pop($arr);
print_r($arr);
?>
?
三 php自定義函數(shù)
1.函數(shù)的自定義語法
//創(chuàng)建函數(shù)
function fun_name(參數(shù)列表)
{
//函數(shù)體:由一條或多條語句組成,可以為空
}
- 必須使用關(guān)鍵字: function 聲明
- 函數(shù)名稱不區(qū)分大小寫,多個(gè)單詞推薦使用下劃線連接
2.調(diào)用函數(shù)
<?php
//創(chuàng)建函數(shù)
function fun_name()
{return'我是wy';
}// 調(diào)用函數(shù)
echo fun_name();
?>
3.函數(shù)參數(shù)
<?php
//創(chuàng)建函數(shù)
function fun_name($name)
{return'我是:'.$name ;
}//調(diào)用函數(shù)
echo fun_name('ooii');
?>
- 方法參數(shù)可以有默認(rèn)值,有默認(rèn)值可以不傳值
- 方法必須以返回的方式,不要用echo 輸出的方式?
<?php
// 創(chuàng)建函數(shù)
function fun_name($name, $school = 'PHP中文網(wǎng)')
{return '我是:' . $name . ' from ' . $school;
}// 調(diào)用函數(shù)
echo fun_name('ooii', '過去');
?>
?
4.作用域
- php中,只有函數(shù)作用域和全局作用域
- 所有函數(shù)作用域中的變量,外部不可見
- 全局作用域聲明變量,在函數(shù)中是可見的
運(yùn)算符
一.php運(yùn)算符
<?php
var_dump(120+80);
echo '<hr>';
var_dump(120-80);
echo '<hr>';
var_dump( 120*80);
echo '<hr>';
var_dump(120/80);
echo '<hr>';
var_dump( 120%80);
echo '<hr>';
$num = 120;
var_dump( $num++);
echo '<hr>';
var_dump( $num--);
echo '<hr>';
var_dump( ++$num);
echo '<hr>';
var_dump(--$num);
echo '<hr>';
var_dump(120.80);
echo '<hr>';
$var1 ='PHP講師:';
$var2 ='歐陽';
var_dump( $var1 .$var2);
- 兩個(gè)變量連接,沒問題
- 一個(gè)變量和字符串,沒問題
- 一個(gè)變量連接整型,必須在整型前加個(gè)空格
二 php賦值運(yùn)算符
<?php
$int = 120;
var_dump($int);
echo '<hr>';
$int += 30;
var_dump( $int);
echo '<hr>';
$int = $int + 30;
var_dump($int);
echo '<hr>';
$int -= 30;
var_dump( $int);
echo '<hr>';
$int *= 30;
var_dump( $int);
echo '<hr>';
$int /= 30;
var_dump( $int);
echo '<hr>';
$int %= 30;
var_dump( $int);
echo '<hr>';
$int .= 30;
var_dump( $int);
?
三 php比較運(yùn)算符
<?php
var_dump( 100 >100 );
echo '<hr>';
var_dump(100>90);
echo '<hr>';
var_dump( 100 >110 );
echo '<hr>';
var_dump( true >false );
echo '<hr>';
var_dump('php'>'php');
echo '<hr>';
?
1.==等于
<?php
var_dump( 100== 100 );
echo '<hr>';
var_dump( true =='true');
echo '<hr>';
這是不判斷類型的 只判斷值
2.===恒等于
<?php
var_dump( 100=== 100 );
echo '<hr>';
var_dump( true ==='true');
echo '<hr>';
判斷類型 判斷值
四 php邏輯運(yùn)算符
1. and和&&
兩個(gè)真 返回真
一個(gè)假 返回假
<?php
var_dump( 100 && 30);
echo '<hr/>';
var_dump( true && true );
echo '<hr/>';
var_dump( true and false );
echo '<hr/>';
var_dump( false and false );
echo '<hr/>';
2.or和||
一個(gè)真,返回真。
兩個(gè)真,返回真。
兩個(gè)假,返回假
<?php
var_dump( 120||80 );
echo '<hr/>';
var_dump( true||true );
echo '<hr/>';
var_dump( true or false );
echo '<hr/>';
var_dump( false or false );
echo '<hr/>';
3.xor
一個(gè)真、返回真。
兩個(gè)真,返回假。
兩個(gè)假,也返回假
<?php
var_dump(0 xor 1);
echo '<hr/>';
var_dump( true xor true );
echo '<hr/>';
var_dump( true xor false );
echo '<hr/>';
var_dump(false xor false );
echo '<hr/>';
4 !取反
一個(gè)真、返回真。
兩個(gè)真,返回假。
兩個(gè)假,也返回假。
循環(huán)
1.while
<?php
$int = 1;
while($int<10 ){echo $int;echo '<hr/>';$int ++;
}
2.do while
<?php
$int = 1;
while($int<10 ){echo $int;echo '<hr/>';$int ++;
}$int = 1;
do{$int ++;echo $int;echo '<hr/>';
}while($int<10);
?while與do while的區(qū)別
我們把條件改成int<1? 顯而易見條件不滿足
但是結(jié)果有2
我們看下是誰執(zhí)行的
<?php
$int = 1;
while($int<1 ){echo $int;echo '<hr/>';$int ++;echo 'while執(zhí)行';
}$int = 1;
do{$int ++;echo $int;echo '<hr/>';echo 'do while執(zhí)行';
}while($int<1);
因?yàn)閣hile先執(zhí)行
do while先判斷
3.for
<?php
for( $int=1;$int<10; $int++){echo $int;echo '<hr>';
}
4。continue
- 結(jié)束當(dāng)前循環(huán),進(jìn)入下次循環(huán)
- 在循環(huán)語句中使用 while for
<?php
for( $int=1; $int<10;$int++){if($int == 5){//結(jié)束當(dāng)前循環(huán),進(jìn)入下次循環(huán)continue;}var_dump($int);echo '<hr>';
}
?
5、break
- 結(jié)束循環(huán)
- 在循環(huán)語句中使用 while forswitch
- 可以跳出多層循環(huán)?
<?php for( $int=1;$int<10;$int++){if($int == 5){//結(jié)束當(dāng)前循環(huán),進(jìn)入下次循環(huán)break;}var_dump($int);echo '<hr>'; }
?類與對象
1、創(chuàng)建類
<?php
# 創(chuàng)建類
class Teacher{}
# 調(diào)用類(實(shí)例化)
$ouyang = new Teacher();
$miejue = new Teacher();
$ximen = new Teacher();
2、復(fù)合數(shù)據(jù)類型
<?php
# 創(chuàng)建類
class Teacher{}
# 調(diào)用類(實(shí)例化)
$ouyang = new Teacher();
$miejue = new Teacher();
$ximen = new Teacher();
var_dump($ouyang);
var_dump($miejue);
var_dump($ximen);
3、對象
var_dump($ouyang == $miejue);
echo '<hr/>';
var_dump($miejue == $ximen);
echo '<hr/>';
var_dump($ouyang == $ximen);
?
4、成員變量
- 成員變量,也叫: 類屬性
<?php
# 創(chuàng)建類
class Teacher{public $name = 'aa';public $school = 'PHP中文網(wǎng)';}$ouyang = new Teacher();echo $ouyang->name;echo '<hr/>';echo $ouyang->school;
?
5、成員方法
<?php
class Teacher{public $name = 'ooii';public $school = 'PHP中文網(wǎng)';public function fun1(){echo '姓名:ooii,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun2(){return '姓名:ooii,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun3(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員變量return '姓名:'.$this->name.',學(xué)校:'.$this->school.'<hr/>';}public function fun4(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員方法return $this->fun3();}}// 類實(shí)例化$yangmi = new Teacher();$yangmi->fun1();echo $yangmi->fun2();echo $yangmi->fun3();echo $yangmi->fun4();
?
- 類里成員有兩種:屬性(變量)和行為(方法)
4、魔術(shù)方法
?
構(gòu)造方法
<?php
class Teacher{public $name;public $school;// 構(gòu)造方法public function __construct($name, $school){$this->name = $name;$this->school = $school;}public function fun1(){echo '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun2(){return '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun3(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員變量return '姓名:'.$this->name.',學(xué)校:'.$this->school.'<hr/>';}public function fun4(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員方法return $this->fun3();}}// 實(shí)例化$obj = new Teacher('aa','bb');echo $obj->fun4();
析構(gòu)方法
<?php
class Teacher{public $name;public $school;// 構(gòu)造方法public function __construct($name, $school){$this->name = $name;$this->school = $school;}public function fun1(){echo '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun2(){return '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun3(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員變量return '姓名:'.$this->name.',學(xué)校:'.$this->school.'<hr/>';}public function fun4(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員方法return $this->fun3();}// 析構(gòu)方法public function __destruct(){echo '類執(zhí)行完畢,要關(guān)閉了';}}// 實(shí)例化$obj = new Teacher('aa','bb');echo $obj->fun3();
類的三大特性
- 繼承:可以讓某個(gè)類型的對象獲得另一個(gè)類型的對象的屬性和方法
- 封裝:指將客觀事物抽象成類,每個(gè)類對自身的數(shù)據(jù)和方法實(shí)行保護(hù)
- 多態(tài):指同一個(gè)實(shí)體同時(shí)具有多種形式,它主要體現(xiàn)在類的繼承體系
1.繼承
extends
關(guān)鍵詞繼承父類<?php class Teacher{public $name;public $school;// 構(gòu)造方法public function __construct($name, $school){$this->name = $name;$this->school = $school;}public function fun1(){echo '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun2(){return '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun3(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員變量return '姓名:'.$this->name.',學(xué)校:'.$this->school.'<hr/>';}public function fun4(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員方法return $this->fun3();}// 析構(gòu)方法public function __destruct(){echo '類執(zhí)行完畢,要關(guān)閉了';}} // 子類代碼復(fù)用 class PHPTeacher extends Teacher{}// 實(shí)例化$obj = new PHPTeacher('aa','bb');echo $obj->fun3();
2、封裝
public
默認(rèn)的, 關(guān)鍵詞定義類內(nèi)、類外、子類都可見protected
關(guān)鍵詞定義類內(nèi)、子類可見,類外不可見private
關(guān)鍵詞定義類內(nèi)可見, 子類、類外不可見
<?php
class Teacher{protected $name;private $school;// 構(gòu)造方法public function __construct($name, $school){$this->name = $name;$this->school = $school;}protected function fun1(){echo '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}private function fun2(){return '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun3(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員變量return '姓名:'.$this->name.',學(xué)校:'.$this->school.'<hr/>';}public function fun4(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員方法return $this->fun3();}// 析構(gòu)方法public function __destruct(){echo '類執(zhí)行完畢,要關(guān)閉了';}}// 子類代碼復(fù)用class PHPTeacher extends Teacher{public function fun5(){$this->fun1();}public function fun6(){$this->fun2();}public function fun7(){return $this->name;}public function fun8(){return $this->school;}}// 實(shí)例化$obj = new Teacher('西門大官人','PHP中文網(wǎng)');echo $obj->fun1();echo $obj->fun2();echo $obj->name;echo $obj->school;$obj2 = new PHPTeacher('西門大官人','PHP中文網(wǎng)');echo $obj2->fun1();echo $obj2->fun2();echo $obj2->fun5();echo $obj2->fun6();echo $obj2->fun7();echo $obj2->fun8();
?
3、多態(tài)
- 實(shí)現(xiàn)多態(tài)的前提是要先繼承,在重寫父類方法
<?php class Teacher{protected $name;private $school;// 構(gòu)造方法public function __construct($name, $school){$this->name = $name;$this->school = $school;}protected function fun1(){echo '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}private function fun2(){return '姓名:滅絕師太,學(xué)校:PHP中文網(wǎng)<hr/>';}public function fun3(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員變量return '姓名:'.$this->name.',學(xué)校:'.$this->school.'<hr/>';}public function fun4(){// 在類中使用偽變量: "$this" 引用當(dāng)前類的成員方法return $this->fun3();}// 析構(gòu)方法public function __destruct(){echo '類執(zhí)行完畢,要關(guān)閉了';}}// 子類代碼復(fù)用class PHPTeacher extends Teacher{public function fun5(){$this->fun1();}public function fun6(){$this->fun2();}public function fun4(){return '我是重寫的方法';}}$obj2 = new PHPTeacher('西門大官人','PHP中文網(wǎng)');echo $obj2->fun4();
?
命名空間
1、命名空間
- 解決全局成員的命名沖突問題
<?php function php(){} function php(){}
?
2、創(chuàng)建命名空間
- 命名空間使用 "namespace" 關(guān)鍵字聲明
<?php
namespace one{function php(){}
}
namespace two{function php(){}
}
?3、常量、函數(shù)、類
<?php
namespace one{const NAME = '滅絕師太';$name = '滅絕師太';function php(){}class phpcn{}
}
namespace two{const NAME = '西門大官人';$name = '西門大官人';function php(){}class phpcn{}
}
namespace three{echo $name;echo NAME;php();new phpcn();
}
?4、子命名空間
就跟windows目錄一樣\
namespace{const NAME = '滅絕師太';function php(){}class phpcn{}
}
namespace one{const NAME = '西門大官人';function php(){}class phpcn{}
}
namespace one\two{const NAME = '西門大官人';function php(){}class phpcn{}
}
namespace one\two\three{const NAME = '西門大官人';function php(){}class phpcn{}
}