我正在使用Vzaar PHP Library将视频从我的网站上传到他们的服务器空间。
现在指出 - 在他们的库中有一些PHP文件,其中存在多个类,并且同一文件中不存在具有相同文件名的类。
即。看看OAuth.php,该文件中没有名称为OAuth
的类。
我心中提出的问题是
当我创建任何PHP类文件时,我可以在第一个文件中创建多个类,稍后我可以在我的代码中使用该文件,或者我也可以在其他项目中使用该可重用代码。
创建这样的文件是不错的做法?
如果该类的长度为15到20行,那么我应该创建一个单独的文件,还是应该只将它包含在一个文件中,如OAuth.php。
请准确指导,如果我得到wiki的链接,给出正确的解释,那么它将是最好的。
答案 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自动加载标准;