如何组织函数使用的大型数组

时间:2016-04-26 19:00:57

标签: php laravel laravel-5 laravel-5.2

我有大量的网址,最多500个网址。我的助手类Helpers.php中有一个函数,我循环遍历此数组并对数组中的每个URL执行操作。

目前,我在函数中有数组,但这对我来说似乎很麻烦,比如:

function getURLData() {
    $urls = array( ... 500 URL array ... )
    foreach ($urls as $url) {
        // Perform actions on $url
    }
}

然而,该功能看起来非常混乱,其中列出了所有500个URL。如何重新组织它以使函数更具可读性?我应该将数组存储在单独的文件中吗?怎么样?在哪里?

P.S。我正在使用Laravel 5.2。

2 个答案:

答案 0 :(得分:2)

将它们和所有类似数据保存在数据库中。这就是数据库所需要的 - 保留大量类似的结构化数据。对代码中的任何类型的数据进行硬编码都是一种反模式。

答案 1 :(得分:0)

如果您需要对这些网址进行硬编码,我建议您为枚举创建一个名为“Enum”的新文件夹,以及像UrlEnum这样的类。你可以做类似的事情:

class UrlEnum {
    const URLS = ['http://...','https://...', ...];
}

早于5.6的PHP版本不接受const中的数组,因此可以使用private / protected变量,以及一些公共静态getUrls()。

foreach(UrlEnum::URLS as $url) { ... }

如果您喜欢这种方法,您甚至可以创建一个BaseEnum或AbstractEnum,这样您的所有枚举都将实现/具有相同的功能。