4

クラスなしで名前空間を使用することは可能ですか?

例えば:

namespace Foo;
// rest of the procedural code and functions

名前空間はクラスがある場所でのみ使用されるという考えがあるためです。

ご協力いただきありがとうございます。

4

2 に答える 2

2

はい、次のように、クラスなしで名前空間を使用できます。

//demo.php file
namespace FooDemo;
function first() { return "First"; }
function second() { return "Second"; }
function third() { return "Third"; }

//test.php file
require_once 'demo.php';
foreach (array("first","second","third") as $funcs) {
    echo call_user_func('FooDemo\\'.$funcs);
}

このような意味ですか

于 2013-01-16T05:24:51.757 に答える
2

はい、そうです。を参照してくださいdocumentation

エキス:

<?php
namespace Foo\Bar;
include 'file1.php';

const FOO = 2;
function foo() {}
class foo
{
    static function staticmethod() {}
}

/* Unqualified name */
foo(); // resolves to function Foo\Bar\foo
foo::staticmethod(); // resolves to class Foo\Bar\foo, method staticmethod
echo FOO; // resolves to constant Foo\Bar\FOO

/* Qualified name */
subnamespace\foo(); // resolves to function Foo\Bar\subnamespace\foo
subnamespace\foo::staticmethod(); // resolves to class Foo\Bar\subnamespace\foo,
                              // method staticmethod
echo subnamespace\FOO; // resolves to constant Foo\Bar\subnamespace\FOO

/* Fully qualified name */
\Foo\Bar\foo(); // resolves to function Foo\Bar\foo
\Foo\Bar\foo::staticmethod(); // resolves to class Foo\Bar\foo, method staticmethod
echo \Foo\Bar\FOO; // resolves to constant Foo\Bar\FOO
?>
于 2013-01-16T05:25:41.323 に答える