2016-04-26 11 views
1

私は大きなURLの配列、最大500のURLを持っています。私はヘルパークラスの関数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を使用しています。

+0

この質問はコードレビュー(http://codereview.stackexchange.com/)に属していると思います – CarlosCarucce

答えて

2

これらのデータとすべての類似データをデータベースに保存します。これがDBです。類似の構造化データを大量に保持します。コード内のあらゆる種類のデータをハードコーディングすることは、アンチパターンです。

0

これらのURLをハードコードする必要がある場合は、列挙型の「Enum」という新しいフォルダとUrlEnumのようなクラスを作成することをお勧めします。 5.6よりも古い

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

PHPのバージョンのconstの配列を受け入れていないので、あなたはプライベート/保護された変数を使用することができ、そしていくつかのpublic static getUrls():あなたは何かなどを行うことができます。

そしてforeach(UrlEnum::URLS as $url) { ... }を実行します。

この方法が欲しい場合は、BaseEnumまたはAbstractEnumを作成して、すべての列挙体が同じ機能を実装するようにすることもできます。

関連する問題