首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何给PHP-include自己的命名空间(就像Python语言中的"from a import MyClass“)?

如何给PHP-include自己的命名空间(就像Python语言中的"from a import MyClass“)?
EN

Stack Overflow用户
提问于 2013-08-24 02:05:11
回答 1查看 360关注 0票数 2

我在PHP方面有一些经验,但我主要来自Python。我非常喜欢Python的一点是它处理模块的方式。如果我的目录中有一个名为a.py的文件,其中包含一个名为MyClass的类,我可以像这样简单地导入该类。

代码语言:javascript
复制
from a import MyClass

但是在PHP中,我知道您可以做到:

代码语言:javascript
复制
include somefile.php

这将导入并运行文件中的所有代码,这使得它与Python中的以下代码类似

代码语言:javascript
复制
from a import *

但是,进行通配符导入会让我对实际导入的内容一无所知,还会导致名称空间污染。那么我的问题是:有没有一种方法可以通过命名来导入PHP中的类?

EN

回答 1

Stack Overflow用户

发布于 2013-09-07 12:57:01

PHP中的好做法是每个文件一个类,而不是模块的所有类都在同一个文件中

例如:

代码语言:javascript
复制
classes/mynamespace/mypackage/IO.php
classes/mynamespace/mypackage/DB.php
classes/mynamespace/mypackage/log.php
...

然后你使用一个自动加载器,每次你需要在你的代码中有一个类,自动加载器就会启动并加载它。如果您使用的框架没有内置的自动加载器,一个好的解决方案是使用由composer提供的自动加载器,composer是PHP:http://getcomposer.org/的depedncy管理器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18409109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档