0

好的,所以我对 OOP 还是很陌生,在函数式 PHP 中,我们可以包含文件以使用其中的函数。

我正在尝试构建我的第一个包,一个简单的 API 包装器,我使用的 API 有多个部分用于不同的兴趣领域。举个例子:

GENRES
EVENTS
TICKETS

目前,我的包使用类似于以下的文件结构:

MYNAME
 - MYPACKAGE
   - SRC
     - MyPackageSeviceProvider.php
     - MyPackage.php

现在,这一切正常,我正在使用 MyPackage.php 进行一些简单的设置,例如设置 API URL 等。但是,我真的不想将 API 的所有部分放入一个文件中,即 getGenres() ,获取事件()。

我想把它分解成子文件夹,所以我的结构如下:

MYNAME
 - MYPACKAGE
   - SRC
     - MyPackageSeviceProvider.php
     - MyPackage.php
     - GENRES
       - Genres.php
     - EVENTS 
       - Events.php
     - TICKETS
       - Tickets.php

我设置了一个 Facade,所以我可以调用漂亮的方法(即 MyPackage::getWhatever();)。

实现我想要做的事情的最佳实践是什么?

我将如何几乎包含类方法,以便我可以调用类似 MyPackage::getGenres(); 它会路由到 GENRES -> Genres.php 文件中的方法吗?

4

1 回答 1

2

这个问题是题外话,所以可能应该关闭,但我不能忍受看到你做错了。

命名空间 + 类文件名应该是连续的,而不是它们之间有额外的 src 目录。如果你想让人们失明,你应该只把所有东西都大写。

src/
  - MyName/
     - MyPackage/
         - MyPackageSeviceProvider.php
         - MyPackage.php
         - Genres/
             - Genres.php
         - Events
             - Events.php
         - Tickets
             - Tickets.php

此外,您可能不希望在您的类或命名空间上使用复数形式。

我将如何几乎包括类方法,所以我

您将使用composer autoloader,并让它为您加载所有类文件。

于 2013-10-12T16:47:02.330 回答