PHP - Symfony2.4我可以在单个文件中有多个类吗?

时间:2014-06-13 07:37:09

标签: php symfony code-reuse

我正在使用Vzaar PHP Library将视频从我的网站上传到他们的服务器空间。

现在指出 - 在他们的库中有一些PHP文件,其中存在多个类,并且同一文件中不存在具有相同文件名的类。

即。看看OAuth.php,该文件中没有名称为OAuth的类。

我心中提出的问题是

当我创建任何PHP类文件时,我可以在第一个文件中创建多个类,稍后我可以在我的代码中使用该文件,或者我也可以在其他项目中使用该可重用代码。

创建这样的文件是不错的做法?

如果该类的长度为15到20行,那么我应该创建一个单独的文件,还是应该只将它包含在一个文件中,如OAuth.php。

请准确指导,如果我得到wiki的链接,给出正确的解释,那么它将是最好的。

2 个答案:

答案 0 :(得分:5)

将一个以上的类放在一个文件中通常是一种不好的做法,而在Symfony2中,由于类自动加载器的工作方式更多。

当自动加载器正在寻找Acme\DemoBundle\SomeClass类时,它预计它将在Acme\DemoBundle\SomeClass.php文件中。因此,如果您在同一个文件中有第二个类,它将无法工作。

同时检查PSR类自动加载的标准。

答案 1 :(得分:0)

尽管我不想为每个文件定义多个类,但我想指出,如果类范围是私有的,PSR-4并不反对这种做法。

引用Symfony2编码标准资源(http://symfony.com/doc/current/contributing/code/standards.html

  

为每个文件定义一个类 - 这不适用于私有帮助程序   不打算从外部实例化的类   因此不关心PSR-0和PSR-4自动加载标准;