访问命名空间内的类

发布于 2024-12-03 10:28:27 字数 143 浏览 0 评论 0原文

我正在尝试学习 PHP 中的命名空间功能,但是如何访问命名空间中的类?

例如,假设我在名为 Core 的命名空间内有类 Users,我如何从 Pages 命名空间访问该命名空间?

I'm trying to learn the namespaces feature in PHP, however how do I access classes that are in namespaces?

Like, say I have the class Users inside the namespace called Core, how do I access that namespace from the Pages namespace?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我一向站在原地 2024-12-10 10:28:27

我相信这就是您所追求的:

<?php
$users = new \Core\Users;
echo $users->all();

当您想使用名称空间内的类时,您需要定义该类的“绝对路径”,就像我在示例中所做的那样。请注意 Core 命名空间之前的 \,它告诉 PHP 使用位于 PHP 的根或“全局”命名空间中的 Core 命名空间。

因此,如果您想访问 Pages 命名空间中的 Users 类,您可以执行以下操作:

<?php
namespace Pages;

$users = new \Core\Users;
echo $users->all();

还有另一种使用 Users 类的方法,即:

<?php
namespace Pages;
use \Core\Users as Users;

$users = new Users;
echo $users->all();

use \Core\Users; 行允许您使用 Core 命名空间中的 Users 类,就好像它是普通的类一样Pages 命名空间中的类。

I believe this is what you're after:

<?php
$users = new \Core\Users;
echo $users->all();

When you want to use a class that's inside a namespace, you need to define the "absolute path" to the class, like I have done in the example. Note the \ before the Core namespace, that tells PHP to use the Core namespace that is located in the root or "global" namespace of PHP.

So if you wanted to access the Users class in your Pages namespace, you would do the following:

<?php
namespace Pages;

$users = new \Core\Users;
echo $users->all();

There's also another way to use the Users class, which is:

<?php
namespace Pages;
use \Core\Users as Users;

$users = new Users;
echo $users->all();

The use \Core\Users; line allows you to use the Users class from the Core namespace as if it were a normal class inside the Pages namespace.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文