Heim  >  Artikel  >  Backend-Entwicklung  >  php namespace 的疑问

php namespace 的疑问

WBOY
WBOYOriginal
2016-07-06 13:53:26948Durchsuche

在官方手册上没有找的这种写法的意思?

<code class="php">namespace {
    $test = 'a';
}

namespace {
    if($test == 'a'){
        //do something
    }
}</code>

回复内容:

在官方手册上没有找的这种写法的意思?

<code class="php">namespace {
    $test = 'a';
}

namespace {
    if($test == 'a'){
        //do something
    }
}</code>

可以看看,以前优化的时候,用过这个方式,将框架多个文件合并成一个。
手册地址是: http://php.net/manual/zh/language.namespaces.definitionmultiple.php

我本地自己试了一次,发现一个问题

<code>namespace a
{
    class abc
    {
        private $test = 'a';
        public function ceshi()
        {
            echo $this->test;
        }
    }
}

namespace {
    $ceshi = new a\abc();
    $ceshi->ceshi();
}
</code>

<code>namespace a;
class abc
{
    private $test = 'a';
    public function ceshi()
    {
        echo $this->test;
    }
}

namespace b;

class abc
{
    private $test = 'b';
    public function ceshi()
    {
        echo $this->test;
    }
}
use a;
$ceshi = new a\abc();
$ceshi->ceshi();</code>

意义差不多 第一种是全局调用

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn