Ich habe Arrays verwendet, um verwandte Felder für eine lange Zeit zu speichern. Wenn ich im Zusammenhang Benutzerfelder haben wollte, habe ich:Was ist besser stdClass oder (Objekt) Array, um verwandte Daten zu speichern?
$user = array(
'id' => 27
'name' => 'Pepe'
);
Aber in letzter Zeit habe ich viel mit Objekten arbeitet, und Ich mag es mehr zu $ user-> id statt $ user [verwenden‘ Ich würde'].
Meine Frage: ein objektorientiertes Design zu erreichen, können Sie stdClass verwenden:
$user = new stdClass();
$user->id = 27;
$user->name = 'Pepe';
oder aus einem Array Gießen
$user = (object) array(
'id' => 27
, 'name' => 'Pepe'
);
ist einer von ihnen besser als die anderen, in der Reihenfolge der Leistung und Stil, oder können Sie, was Sie wollen, undeutlich verwenden?
Danke!
Update: Ich stimme allen Kommentaren zu, das ist überhaupt nicht OOP, ist nur über verwandte Daten in einer Struktur gruppiert. Mein $ user-Beispiel ist nicht das beste, weil es ein typisches Beispiel für die Verwendung von Klassen mit Methoden, Eigenschaften, blablabla ist ... Ich habe gefragt, weil ich viele config-Strukturen habe, wie uns "initTable", und ich möchte etwas wie:
$table => page => init => 1
=> end => 25
sort => field => name
=> order => asc
und so weiter, und ich möchte wissen, was besser ist init Seite zu erhalten:
$table->page->init **OR** $table['page']['init']
Instinktiv würde ich sagen, ein Objekt zu erstellen ist besser als ein Array zu erstellen und es in Bezug auf Speicherverbrauch und allgemeine Leistung auf ein Objekt zu werfen. – mhafellner
nur weil etwas in einem Objekt ist, bedeutet nicht, dass Sie OOP verwenden. – Prisoner
Wenn Sie ein tatsächliches typisiertes Objekt verwenden, kann Ihre IDE eine Intellisense/Korrektheitsprüfung durchführen. Subjektiv ist das viel nützlicher als mikroskopische Unterschiede zwischen diesen Möglichkeiten. – DCoder