PHP Fehler

  • Moin,
    ich bin gerade dabei PHP zu lernen und verfolge dabei die Videoreihe von Laracasts.
    Ich habe eine Class Task erstellt. in einem Array füge ich new Task hinzu mit einer Beschreibung, ich will mir dann die Tasks in einer List anzeigen lassen. Als letzten Schritt setze ich ein Task auf completed und will den durchgestrichen haben in der Liste.
    Leider zeigt er mir nur die Punkte von der List an.
    Ich habe zwei PHP Dateien.


    Einmal index.php


    und eine index.view.php


    Ist das erste mal das ich mit Klassen arbeite.


    Hoffe ihr könnt mir helfen.


    Smile325

  • Beitrag von Kaliber ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Danke dir


    aber warum ist das so richtig:


    PHP
    public function isComplete() {
    	return $this->completed;
      }


    so aber nicht?

    PHP
    public function isComplete() {
    	return $this->$completed;
      }


    In meiner Class steht das doch so drinne:

    PHP
    protected $completed = false;

    wieso ist denn dann nicht $completed richtig?

    • Offizieller Beitrag

    So ist der Syntax von PHP, completed ist eine Eigenschaft von dem Objekt, welches du mit deiner Klasse erstellst.


    Mit $this->$irgendeinevariable könntest du Funktionen über die Variable $irgendeinevariable aufrufen. Beispielsweise:

    Code
    public function callFunction() {
    $variable = 'isComplete';
    return $this->$variable;
    }

    Um dies mal in einem sinnlosen Beispiel vorzuzeigen.

  • mach mal print_r($Tasks) (Ohne echo!) und zeig was er ausgibt^^


    Aber die Klasse ergibt meines erachtens keinen Sinn weil du diesen Text (Auch wenn im Konstruktor von Task) in die Array selbst einspeisst. Lediglich kannst du damit überprüfen ob ein Inhalt sich in der Array befindet. Das kannst du aber auch sicher mit count($array)

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.