bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

PHP命名空間namespace函數(shù)調(diào)用類(lèi)引用詳解

PHP namespace 命名空間 函數(shù)調(diào)用 類(lèi)引用 詳細(xì)測(cè)試分析

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的阿城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

本文測(cè)試中,假設(shè)index.php頁(yè)面和test.php頁(yè)面在同一個(gè)根目錄下,方便加載test.php頁(yè)面。

前提條件都是在namespace A;下進(jìn)行測(cè)試。

namespace A;
use B\D, C\E as F;

// 函數(shù)調(diào)用
foo();      // 首先嘗試調(diào)用定義在命名空間"A"中的函數(shù)foo()
\foo();     // 調(diào)用全局空間函數(shù) "foo"
my\foo();   // 調(diào)用定義在命名空間"A\my"中函數(shù) "foo"
F();        // 首先嘗試調(diào)用定義在命名空間"A"中的函數(shù) "F"
B\foo();    // 調(diào)用命名空間 "A\B" 中函數(shù) "foo"
B::foo();   // 調(diào)用命名空間 "A" 中定義的類(lèi) "B" 的 "foo" 方法
D::foo();   // 使用導(dǎo)入規(guī)則,調(diào)用命名空間 "B" 中定義的類(lèi) "D" 的 "foo" 方法
\B\foo();   // 調(diào)用命名空間 "B" 中的函數(shù) "foo"
\B::foo();  // 調(diào)用全局空間中的類(lèi) "B" 的 "foo" 方法
A\B::foo();   // 調(diào)用命名空間 "A\A" 中定義的類(lèi) "B" 的 "foo" 方法
\A\B::foo();  // 調(diào)用命名空間 "A\B" 中定義的類(lèi) "B" 的 "foo" 方法


//類(lèi)引用
new B();    // 創(chuàng)建命名空間 "A" 中定義的類(lèi) "B" 的一個(gè)對(duì)象
new D();    // 使用導(dǎo)入規(guī)則,創(chuàng)建命名空間 "B" 中定義的類(lèi) "D" 的一個(gè)對(duì)象
new F();    // 使用導(dǎo)入規(guī)則,創(chuàng)建命名空間 "C" 中定義的類(lèi) "E" 的一個(gè)對(duì)象
new \B();   // 創(chuàng)建定義在全局空間中的類(lèi) "B" 的一個(gè)對(duì)象
new \D();   // 創(chuàng)建定義在全局空間中的類(lèi) "D" 的一個(gè)對(duì)象
new \F();   // 創(chuàng)建定義在全局空間中的類(lèi) "F" 的一個(gè)對(duì)象

函數(shù)調(diào)用

1當(dāng)前命名空間A下函數(shù)調(diào)用 語(yǔ)法 foo();

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
require 'test.php';//加載定義命名空間"A\my"的頁(yè)面
function foo(){
    echo '我是命名空間"A"中的函數(shù)foo()';
}
// 函數(shù)調(diào)用
foo();      // 首先嘗試調(diào)用定義在命名空間"A"中的函數(shù)foo()
            // 再?lài)L試調(diào)用全局函數(shù) "foo"

結(jié)果為

我是命名空間"A"中的函數(shù)foo()

2當(dāng)前命名空間A下調(diào)用命名空間"A\my"中的函數(shù)foo()  語(yǔ)法 my\foo();

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
require 'test.php';//加載定義命名空間"A\my"的頁(yè)面
//調(diào)用函數(shù)
my\foo();   // 調(diào)用定義在命名空間"A\my"中函數(shù) "foo"
?>

test.php頁(yè)面(定義命名空間"A\my"的頁(yè)面)

<?php 
namespace A\my;
 function foo(){
     echo '我是命名空間"A\my"中的函數(shù)foo()';
 }
?>

結(jié)果為

我是命名空間"A\my"中的函數(shù)foo()

3.當(dāng)前命名空間A下調(diào)用命名空間 "A\B"的函數(shù)"foo"

語(yǔ)法 

require 'test.php';//加載命名空間 "A\B"的函數(shù)"foo"文件

B\foo();           

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
use B\D, C\E as F;
require 'test.php';//加載命名空間 "A\B"的函數(shù)"foo"文件
B\foo();    // 調(diào)用命名空間 "A\B" 中函數(shù) "foo"
?>

test.php頁(yè)面(定義命名空間 "A\B"的函數(shù)"foo"的頁(yè)面)

<?php 
namespace A\B;
function foo(){
    echo '命名空間 "A\B" 中函數(shù) "foo"';
}
?>

結(jié)果為

命名空間 "A\B" 中函數(shù) "foo"

4.當(dāng)前命名空間A下調(diào)用本命名空間 "A" 中定義的類(lèi) "B" 的 "foo" 靜態(tài)方法

語(yǔ)法 

B::foo();           

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
use B\D, C\E as F;

class B{
   static  public function foo(){
        echo '命名空間 "A" 中定義的類(lèi) "B" 的 "foo" 方法';
    }
}

B::foo();   // 調(diào)用命名空間 "A" 中定義的類(lèi) "B" 的 "foo" 方法
            // 如果未找到類(lèi) "A\B" ,則嘗試自動(dòng)裝載類(lèi) "A\B"
?>

結(jié)果為

命名空間 "A" 中定義的類(lèi) "B" 的 "foo" 方法

5.當(dāng)前命名空間A下調(diào)用本命名空間 "B" 中定義的類(lèi) "D" 的 "foo" 靜態(tài)方法

語(yǔ)法 

require 'test.php';   //加載文件

use B\D;                //引導(dǎo)類(lèi)

D::foo();                //進(jìn)行調(diào)用

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
require 'test.php';
use B\D, C\E as F;
D::foo();   // 使用導(dǎo)入規(guī)則,調(diào)用命名空間 "B" 中定義的類(lèi) "D" 的 "foo" 方法
            // 如果類(lèi) "B\D" 未找到,則嘗試自動(dòng)裝載類(lèi) "B\D"
?>

test.php頁(yè)面(定義命名空間 "B"的類(lèi)"D"的函數(shù)"foo"的頁(yè)面)

<?php
namespace B;
class D{
static public function foo(){
echo '命名空間 "B" 中定義的類(lèi) "D" 的 "foo" 方法';
}
}
?>

結(jié)果為

命名空間 "B" 中定義的類(lèi) "D" 的 "foo" 方法

6.當(dāng)前命名空間A下調(diào)用命名空間 "B"的函數(shù)"foo"

語(yǔ)法 

require 'test.php';//加載命名空間 "B"的函數(shù)"foo"文件

\B\foo();           

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
use B\D, C\E as F;
require 'test.php';//加載命名空間 "B"的函數(shù)"foo"文件
\B\foo();    // 調(diào)用命名空間 "B" 中函數(shù) "foo"
?>

test.php頁(yè)面(定義命名空間 "B"的函數(shù)"foo"的頁(yè)面)

<?php 
namespace B;
function foo(){
    echo '命名空間 "B" 中函數(shù) "foo"';
}
?>

結(jié)果為

命名空間 "B" 中函數(shù) "foo"

7.當(dāng)前命名空間A下調(diào)用全局空間 "B"的函數(shù)"foo"靜態(tài)方法

語(yǔ)法 

require 'test.php';//加載全局空間 "B"的函數(shù)"foo"文件

\B::foo();           

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
use B\D, C\E as F;
require 'test.php';//加載全局空間 "B"的函數(shù)"foo"文件
\B::foo();  // 調(diào)用全局空間中的類(lèi) "B" 的 "foo" 方法
            // 如果類(lèi) "B" 未找到,則嘗試自動(dòng)裝載類(lèi) "B"
?>

test.php頁(yè)面(定義全局空間 "B"的函數(shù)"foo"的頁(yè)面)

<?php 
class B{
    static public function foo(){
        echo '全局空間的B類(lèi)中foo方法';
    }
}
?>

結(jié)果為

全局空間的B類(lèi)中foo方法

8.當(dāng)前命名空間A下調(diào)用命名空間 "A\A"的B類(lèi)"foo"靜態(tài)方法

語(yǔ)法 

require 'test.php';//加載命名空間 "A\A"的B類(lèi)"foo"靜態(tài)方法文件

A\B::foo();           

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
use B\D, C\E as F;
require 'test.php';//加載命名空間 "A\A"的B類(lèi)"foo"靜態(tài)方法文件
A\B::foo();   // 調(diào)用命名空間 "A\A" 中定義的類(lèi) "B" 的 "foo" 方法
              // 如果類(lèi) "A\A\B" 未找到,則嘗試自動(dòng)裝載類(lèi) "A\A\B"
?>

test.php頁(yè)面(定義命名空間 "A\A"的B類(lèi)"foo"靜態(tài)方法的頁(yè)面)

<?php 
namespace A\A;
class B{
    static public function foo(){
        echo '命名空間A\A中B類(lèi)foo方法';
    }
}
?>

結(jié)果為

命名空間A\A中B類(lèi)foo方法

9.當(dāng)前命名空間A下調(diào)用命名空間 "A\B"的B類(lèi)"foo"靜態(tài)方法

語(yǔ)法 

require 'test.php';//加載命名空間 "A\B"的B類(lèi)"foo"靜態(tài)方法文件

\A\B::foo();           

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
require 'test.php';//加載命名空間 "A\B"的B類(lèi)"foo"靜態(tài)方法文件
\A\B::foo();  // 調(diào)用命名空間 "A\B" 中定義的類(lèi) "B" 的 "foo" 方法
              // 如果類(lèi) "A\B" 未找到,則嘗試自動(dòng)裝載類(lèi) "A\B"
?>

test.php頁(yè)面(定義命名空間 "A\B"的B類(lèi)"foo"靜態(tài)方法的頁(yè)面)

<?php 
namespace A\B;
class B{
    static public function foo(){
        echo '命名空間A\B中B類(lèi)的foo靜態(tài)方法';
    }
}
?>

結(jié)果為

命名空間A\B中B類(lèi)的foo靜態(tài)方法

類(lèi)引用

1當(dāng)前命名空間A下本空間類(lèi)引用  語(yǔ)法 $b=new B();

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
use B\D, C\E as F;

class B{
    public $name='我是命名空間 "A" 中定義的類(lèi) "B" 的一個(gè)對(duì)象';
}

$b=new B();    // 創(chuàng)建命名空間 "A" 中定義的類(lèi) "B" 的一個(gè)對(duì)象
              // 如果未找到,則嘗試自動(dòng)裝載類(lèi) "A\B"
echo $b->name;

結(jié)果為

我是命名空間 "A" 中定義的類(lèi) "B" 的一個(gè)對(duì)象

2當(dāng)前命名空間A下命名空間 "B" 中定義的類(lèi) "D"引用 

語(yǔ)法

use B\D        //導(dǎo)入命名空間B中的D類(lèi)

$b=new D();

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
use B\D, C\E as F;
require 'test.php';//加載命名空間B中的D類(lèi)的文件
$d=new D();    // 使用導(dǎo)入規(guī)則,創(chuàng)建命名空間 "B" 中定義的類(lèi) "D" 的一個(gè)對(duì)象
            // 如果未找到,則嘗試自動(dòng)裝載類(lèi) "B\D"
echo $d->name;
?>

test.php頁(yè)面(定義命名空間B中D類(lèi)的頁(yè)面)

<?php 
namespace B;
 class D{
     public $name='命名空間B中D類(lèi)';
 }
?>

結(jié)果為

命名空間B中D類(lèi)

3當(dāng)前命名空間A下命名空間 "C" 中定義的類(lèi) "E"引用 

語(yǔ)法

use C\E as F        //導(dǎo)入命名空間C中的E類(lèi)  F為命名空間 "C" 中定義的類(lèi) "E"的別名

$b=new F();

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
use B\D, C\E as F;
require 'test.php';//加載命名空間C中的E類(lèi)的文件
$f=new F();    // 使用導(dǎo)入規(guī)則,創(chuàng)建命名空間 "C" 中定義的類(lèi) "E" 的一個(gè)對(duì)象
            // 如果未找到,則嘗試自動(dòng)裝載類(lèi) "C\E"
echo $f->name;
?>

test.php頁(yè)面(定義命名空間C中E類(lèi)的頁(yè)面)

<?php 
namespace C;
 class E{
     public $name='命名空間C中E類(lèi)';
 }
?>

結(jié)果為

命名空間C中E類(lèi)

4當(dāng)前命名空間A下全局空間中定義的類(lèi) "B","D" "F"引用 

語(yǔ)法 

require 'test.php';//加載全局空間中定義的類(lèi) "B","D" "F"文件

$b=new \B();  //    \  表示絕對(duì)路徑引用  全局空間中定義的類(lèi)

$d=new \D();

$f=new \F();

index.php頁(yè)面

<?php
namespace A;
header("content-type:text/html;charset=utf-8");
use B\D, C\E as F;
require 'test.php';//加載全局空間中定義的類(lèi) "B","D" "F"文件

$b=new \B();   // 創(chuàng)建定義在全局空間中的類(lèi) "B" 的一個(gè)對(duì)象
            // 如果未發(fā)現(xiàn),則嘗試自動(dòng)裝載類(lèi) "B"

$d=new \D();   // 創(chuàng)建定義在全局空間中的類(lèi) "D" 的一個(gè)對(duì)象
            // 如果未發(fā)現(xiàn),則嘗試自動(dòng)裝載類(lèi) "D"
 
$f=new \F();   // 創(chuàng)建定義在全局空間中的類(lèi) "F" 的一個(gè)對(duì)象
            // 如果未發(fā)現(xiàn),則嘗試自動(dòng)裝載類(lèi) "F"
echo $b->name;
echo '<br/>';
echo $d->name;
echo '<br/>';
echo $f->name;
?>

test.php頁(yè)面(全局空間中定義的類(lèi) "B","D" "F"的頁(yè)面)

<?php 
class B{
    public $name='全局空間的類(lèi)B';
}
class D{
    public $name='全局空間的類(lèi)D';
}
class F{
    public $name='全局空間的類(lèi)F';
}
?>

結(jié)果為

全局空間的類(lèi)B
全局空間的類(lèi)D
全局空間的類(lèi)F

附錄

<?php
namespace A;
use B\D, C\E as F;
 
// 函數(shù)調(diào)用
 
foo();      // 首先嘗試調(diào)用定義在命名空間"A"中的函數(shù)foo()
            // 再?lài)L試調(diào)用全局函數(shù) "foo"
 
\foo();     // 調(diào)用全局空間函數(shù) "foo" 
 
my\foo();   // 調(diào)用定義在命名空間"A\my"中函數(shù) "foo" 
 
F();        // 首先嘗試調(diào)用定義在命名空間"A"中的函數(shù) "F" 
            // 再?lài)L試調(diào)用全局函數(shù) "F"
 
// 類(lèi)引用
 
new B();    // 創(chuàng)建命名空間 "A" 中定義的類(lèi) "B" 的一個(gè)對(duì)象
            // 如果未找到,則嘗試自動(dòng)裝載類(lèi) "A\B"
 
new D();    // 使用導(dǎo)入規(guī)則,創(chuàng)建命名空間 "B" 中定義的類(lèi) "D" 的一個(gè)對(duì)象
            // 如果未找到,則嘗試自動(dòng)裝載類(lèi) "B\D"
 
new F();    // 使用導(dǎo)入規(guī)則,創(chuàng)建命名空間 "C" 中定義的類(lèi) "E" 的一個(gè)對(duì)象
            // 如果未找到,則嘗試自動(dòng)裝載類(lèi) "C\E"
 
new \B();   // 創(chuàng)建定義在全局空間中的類(lèi) "B" 的一個(gè)對(duì)象
            // 如果未發(fā)現(xiàn),則嘗試自動(dòng)裝載類(lèi) "B"
 
new \D();   // 創(chuàng)建定義在全局空間中的類(lèi) "D" 的一個(gè)對(duì)象
            // 如果未發(fā)現(xiàn),則嘗試自動(dòng)裝載類(lèi) "D"
 
new \F();   // 創(chuàng)建定義在全局空間中的類(lèi) "F" 的一個(gè)對(duì)象
            // 如果未發(fā)現(xiàn),則嘗試自動(dòng)裝載類(lèi) "F"
 
// 調(diào)用另一個(gè)命名空間中的靜態(tài)方法或命名空間函數(shù)
 
B\foo();    // 調(diào)用命名空間 "A\B" 中函數(shù) "foo"
 
B::foo();   // 調(diào)用命名空間 "A" 中定義的類(lèi) "B" 的 "foo" 方法
            // 如果未找到類(lèi) "A\B" ,則嘗試自動(dòng)裝載類(lèi) "A\B"
 
D::foo();   // 使用導(dǎo)入規(guī)則,調(diào)用命名空間 "B" 中定義的類(lèi) "D" 的 "foo" 方法
            // 如果類(lèi) "B\D" 未找到,則嘗試自動(dòng)裝載類(lèi) "B\D"
 
\B\foo();   // 調(diào)用命名空間 "B" 中的函數(shù) "foo" 
 
\B::foo();  // 調(diào)用全局空間中的類(lèi) "B" 的 "foo" 方法
            // 如果類(lèi) "B" 未找到,則嘗試自動(dòng)裝載類(lèi) "B"
 
// 當(dāng)前命名空間中的靜態(tài)方法或函數(shù)
 
A\B::foo();   // 調(diào)用命名空間 "A\A" 中定義的類(lèi) "B" 的 "foo" 方法
              // 如果類(lèi) "A\A\B" 未找到,則嘗試自動(dòng)裝載類(lèi) "A\A\B"
 
\A\B::foo();  // 調(diào)用命名空間 "A\B" 中定義的類(lèi) "B" 的 "foo" 方法
              // 如果類(lèi) "A\B" 未找到,則嘗試自動(dòng)裝載類(lèi) "A\B"
?>

網(wǎng)站標(biāo)題:PHP命名空間namespace函數(shù)調(diào)用類(lèi)引用詳解
當(dāng)前鏈接:http://vcdvsql.cn/article12/pdsjgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站自適應(yīng)網(wǎng)站網(wǎng)站制作全網(wǎng)營(yíng)銷(xiāo)推廣外貿(mào)網(wǎng)站建設(shè)外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)