2009-08-05 9 views
4

Ich habe dieses "->" anderswo in PHP verwendet. In einem der Bücher, in denen ich PHP gelernt habe, ist das drin, aber es wird nie erklärt. Was macht es, wie funktioniert es?

Das Redirect-Bit weiß ich, aber was passiert mit der Variablen $ html und der Redirect-Funktion?

Vielen Dank im Voraus!

+1

Wie eine Notiz, möchten Sie vielleicht eine Antwort auf diese Frage auswählen, indem Sie das große Häkchen drücken. –

+1

Hallo Chacha, Sorry, ich habe das nicht für eine Antwort beobachtet:/ Habe gerade E-Mail mit vielen Antworten. Danke für deine Antwort! – Kirrus

Antwort

23

Hinweis: Wenn Sie keine Ahnung haben, was ein "Objekt" ist, macht der nächste Absatz möglicherweise keinen Sinn. Ich habe Links am Ende hinzugefügt, um mehr über 'Objekte' zu erfahren und was sie sind

Dies wird auf die Methode innerhalb der Klasse zugreifen, die HTML zugewiesen wurde.

Wenn Sie eine Klasse erstellen und einer Variablen zuweisen, verwenden Sie den Operator '->', um auf Methoden dieser Klasse zuzugreifen. Methoden sind einfach Funktionen innerhalb einer Klasse.

Grundsätzlich ist "html" eine Art von Objekt. Sie können neue Objekte in einer beliebigen Variablen erstellen und diese Variable später verwenden, um auf Objekte innerhalb des Objekts zuzugreifen. Jedes Mal, wenn Sie die HTML-Klasse zu einem varaible wie folgt vergeben:

$html = new html; 

Sie jede Funktion in der es wie diese zugreifen können

$html->redirect(); 
$html->foo(); // echos "bar" 

mehr erfahren Sie Objekt finden Artikel gehen zu wollen, Oriented Programming in PHP

Zuerst versuchen, die PHP-Handbuch:
http://us2.php.net/manual/en/language.oop.php
http://us2.php.net/oop

Mehr Stackoverflow Wissen:
PHP Classes: when to use :: vs. ->?
https://stackoverflow.com/questions/tagged/oop
https://stackoverflow.com/questions/249835/book-recommendation-for-learning-good-php-oop
Why use PHP OOP over basic functions and when?
What are the benefits of OO programming? Will it help me write better code?

+0

Dies ist ein echter Facepalm-Moment. Der traurige Teil ist, dass ich meine Reputation Cap hatte, bevor ich diese Antwort posten konnte. –

+0

Noch +1,; und als 10. upvote für diese Antwort sollte dir das ein (zweites?) "nice response badge" bringen ;-) –

+0

Zumindest gibt es das. –

1

$ html ist ein Objekt. Die Redirect-Funktion ist eine Methode, die zu diesem Objekt gehört. Ich schlage vor, dass Sie die PHP documentation on classes and objects lesen, um diese Konzepte zu erklären.

3

Zusätzlich zu dem, was Chacha102 said (das ist die Erklärung für den speziellen Fall in der Frage ist, Sie fragen), die Sie wirklich wollen vielleicht einen Blick auf die PHP Manual takle und seine Classes and Objects (PHP 5)

Es wird Sie lehren viele nützliche Dinge :-)

Zum Beispiel in Frage stellen Sie ganz sicher es die Antwort im Kapitel The Basics ;-)

0

$ html in Ihrem Fall ist keine Variable sondern eine Klasse hat. Googeln Sie einfach nach 'PHP class tutorial'.Umleitung in diesem Fall ist eine Elementfunktion ist, die wahrscheinlich einen ähnlichen Code enthalten sollte:

class html { 
    function redirect($url) { 
     echo '<META HTTP-EQUIV="refresh" CONTENT="0;URL='.$url.'">'; 
     exit; 
    } 
} 

Dies ermöglicht den Bau einer Klasse von PHP-Skript wie folgt aus:

$html = new html; 

und Sie werden der Lage sein, es zu nennen ist Mitglied:

$html->redirect("www.stackoverflow.com"); 
0

$ html die Variable ist, html die Klasse ist.

$html = new html; 

setzt ein neues Objekt mit der Klasse html in die Variable $ html. Ansonsten ist das korrekt.