2016-04-26 1 views
1

Ich habe eine große Auswahl an URLs mit bis zu 500 URLs. Ich habe eine Funktion in meiner Hilfsklasse, Helpers.php, und ich durchlaufe dieses Array und führe Aktionen für jede URL innerhalb des Arrays durch.So organisieren Sie ein großes Array, das von einer Funktion verwendet wird

Derzeit habe ich das Array in der Funktion, aber dies scheint wirklich chaotisch zu mir, wie:

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

Allerdings sieht die Funktion unglaublich vollgestopft mit allen 500 aufgeführten URLs werden. Wie kann ich das reorganisieren, um die Funktion lesbarer zu machen? Soll ich das Array in einer separaten Datei speichern? Wie? Woher?

P.S. Ich benutze Laravel 5.2.

+0

Ich denke, diese Frage gehört zu Code Review (http://codereview.stackexchange.com/) – CarlosCarucce

Antwort

2

Behalten Sie sie und alle ähnlichen Daten in einer Datenbank. Dafür sorgt die DB - große Menge ähnlich strukturierter Daten. Jede Art von Daten im Code zu codieren ist ein Anti-Pattern.

0

Wenn Sie diese URLs fest codieren müssen, empfehle ich Ihnen, einen neuen Ordner namens "Enum" für Ihre Enumerationen und eine Klasse wie UrlEnum zu erstellen.

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

PHP-Version älter als 5.6 akzeptiert keine Array in const, so können Sie private/geschützte Variable, und einige öffentliche statische getUrls() verwenden: Sie können so etwas wie machen.

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

Wenn Sie diesen Ansatz mögen, können Sie sogar ein BaseEnum oder AbstractEnum erstellen, sodass alle Ihre Enums die gleichen Funktionen implementieren/haben.