0 レビュー
2 回答
php-関数で使用される大きな配列を整理する方法
最大500個のURLを含む多数のURLがあります。ヘルパークラスに関数Helpers.php
があり、この配列をループして、配列内の各URLに対してアクションを実行します。
現在、関数内に配列がありますが、これは次のように非常に厄介なようです。
function getURLData() {
$urls = array( ... 500 URL array ... )
foreach ($urls as $url) {
// Perform actions on $url
}
}
ただし、500個のURLがすべてリストされているため、関数は非常に雑然としているように見えます。関数を読みやすくするためにこれを再編成するにはどうすればよいですか?配列を別のファイルに保存する必要がありますか?どのように?どこ?
P.S。 Laravel5.2を使用しています。
わからない
0
レビュー
答え :
解決策:
それらとすべての同様のデータをデータベースに保持します。それがDBの目的です-同様の構造化データを大量に保持します。コード内のあらゆる種類のデータをハードコーディングすることはアンチパターンです。
わからない
0
レビュー
答え :
解決策:
これらのURLをハードコーディングする必要がある場合は、列挙型用の「Enum」という新しいフォルダーと、UrlEnumのようなクラスを作成することをお勧めします。次のようなものを作成できます:
class UrlEnum {
const URLS = ['http://...','https://...', ...];
}
5.6より古いバージョンのPHPは、constで配列を受け入れないため、private / protected変数、および一部のpublic static getUrls()を使用できます。
そしてforeach(UrlEnum::URLS as $url) { ... }
を実行します。
このアプローチが気に入った場合は、BaseEnumまたはAbstractEnumを作成して、すべての列挙型が同じ関数を実装/持つようにすることもできます。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。