Antworten auf deine Fragen:
Neues Thema erstellen

Hilfe bei PHP OOP

Kadey

Nicht mehr ganz neu hier

Hallo zusammen,
nach langer Zeit bin ich mal wieder zu Gast in diesem Forum.
Nun zu meinem Problem....

Über ein Formular sende ich Daten mit Post ab und schicke diese an meine Action im IndexController.
PHP:
protected function neuAction()
    {
        $honda = new Honda();

        if ($_POST) {
            // Im ActiveRecord Trait
            $honda->setDaten($_POST);
            $honda->speichere($honda);
            redirect('index.php');
        }

        $this->addContent('honda', $honda);
        $this->setTemplate('neuAction');
    }

setDaten() durchläuft POST und ruft gleichzeitig die Setter auf und übergibt die Values..
PHP:
public function setDaten(array $daten)
    {
        // wenn $daten nicht leer ist, rufe die passenden Setter auf
        if ($daten) {
            foreach ($daten as $k => $v) {
                $setterName = 'set' . ucfirst($k);
                // pruefe ob ein passender Setter existiert
                if (method_exists($this, $setterName)) {
                    $this->$setterName($v); // Setteraufruf
                }
            }
        }
    }

Soweit so gut....die Objekte speichere ich mit file_put_contents() -> serialize() in einer .txt
Vorher lese ich mit file_get_contents() -> unserialize() meine .txt aus und füge das weitere Objekt einfach hinzu und speichere wieder...

So ist jeder per Formular übergebener Datensatz ein Objekt...was auch so gewollt ist.

In meiner IndexAction hole ich mir dann wieder alle Daten aus der .txt übergebe Sie an ein Template (mit foreach() wird das Array durchlaufen ) sodass mir alle Objekte gebündelt angezeigt werden....
Hoffe das ist soweit nachzuvollziehen....

Jetzt möchte ich aber NUR die Daten von einem bestimmten Objekt mir anzeigen lassen...und das wäre nun meine Frage wie ich das am besten anstellte.

Vielleicht hat ja jemand eine Idee...

lg
 

Kadey

Nicht mehr ganz neu hier

OK ..der Wald vor lauter Bäumen ;)

Mir fehlte eine Methode

PHP:
public static function finde($id)
    {
        $autos = self::findeAlle();

        $auto = null;
        if (isset($autos[$id])) {
            $auto = $autos[$id];
        }

        return $auto;

In meiner .tpl muss ich natürlich die foreach anpassen...
PHP:
<?php foreach ($autos as $id => $auto): ?>
        <li>
            <a
                href="index.php?action=zeige&id=<?= (int)$id ?>"
            ><?= bereinige($auto->getModell()) ?></a>
        </li>
    <?php endforeach; ?>
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben