美文网首页
PHP基础 -- 如何引入文件并使用

PHP基础 -- 如何引入文件并使用

作者: wyc0859 | 来源:发表于2019-02-15 11:05 被阅读0次

引入文件并使用,要注意文件是否有命名空间,use使用与不使用的方式,

创建4个php文件
/index.php
/test.php
/app/test.php
/app/demo.php

index.php

未定义命令空间

<?php
//引入的3个文件均没有定义命名空间
require 'test.php';
require 'app/test.php';
require 'app/demo.php';

fun(); //fun    //报错,test.php和app/test.php存在同名的函数
Test::main();    //main    //报错,test.php和app/test.php存在同名的类
//解决方式是修改不重名,或者加入命名空间

$demo=new Demo;     
$demo->Demo_fun();  //demo  正常显示

已定义命令空间

<?php
 //引入的3个文件已定义命名空间
require 'test.php';
require 'app/test.php';
require 'app/demo.php';

/*  命令空间\函数或类   */
Test\fun(); //fun
Test\Test::main();  //main  

//如果命名空间只有app,这里就是App\fun()
App\Test\fun();    //fun

$demo=new App\Demo;    //或者use App\Demo;  $demo=new Demo;  
$demo->Demo_fun();  //demo 

已定义命令空间并已use

use 关键字的用法有三种
1.声明使用某个命名空间中的类
2.用在匿名函数之后给匿名函数增加参数
3.xxx

<?php
 //引入的3个文件已定义命名空间
require 'test.php';
require 'app/test.php';
require 'app/demo.php';

use App\Test\Test;
use App\Demo;

Test::main();   //main  
$demo=new Demo;  
$demo->Demo_fun();  //demo 

test.php

<?php
namespace Test;

function fun()
{
    echo 'fun<br/>';
}

class Test{
    function main()
    {
        echo 'main<br/>';
    }
}

app\demo.php

<?php
namespace App;

class demo{
    function demo_fun()
    {
        echo 'demo<br/>';
    }
}

app\test.php

<?php
namespace App\Test;

function fun()
{
    echo 'fun<br/>';
}

class Test{
    function main()
    {
        echo 'main<br/>';
    }
}

不使用require、include等如何引入文件?

采用自动载入功能,查看

相关文章

网友评论

      本文标题:PHP基础 -- 如何引入文件并使用

      本文链接:https://www.haomeiwen.com/subject/iqrpeqtx.html