2009-08-05 4 views
4

Я видел это «->» в другом месте, используемом в php. Одна из книг, которые я использовал для изучения PHP, имеет это в нем, но это никогда не объясняется. Что он делает, как это работает!

Бит redirect Я знаю, но что происходит с переменной $ html и функцией перенаправления?

Заранее благодарен!

+1

Как примечание, вы можете выбрать ответ на этот вопрос, нажав на большую галочку. –

+1

Hi Chacha, Извините, я не смотрел это для ответа:/ Просто получил электронную почту, в которой было много ответов. Спасибо за Ваш ответ! – Kirrus

ответ

23

Примечание: Если вы не знаете, что такое «Объект», следующий абзац может не иметь смысла. Я добавил ссылки в конце, чтобы узнать больше о «объектах» и о том, что они представляют

Это будет доступ к методу внутри класса, который был назначен HTML.

class html 
{ 
    function redirect($url) 
    { 
     // Do stuff 
    } 
    function foo() 
    { 
     echo "bar"; 
    } 
} 
$html = new html; 
$html->redirect("URL"); 

Когда вы создаете класс и назначаете его переменной, вы используете оператор '->' для доступа к методам этого класса. Методы - это просто функции внутри класса.

В принципе, «html» - это тип объекта. Вы можете создавать новые объекты в любой переменной, а затем использовать эту переменную для доступа к объектам внутри объекта. Каждый раз, когда вы назначаете класс HTML для Названия переменного, как это:

$html = new html; 

Вы можете получить доступ к любой функции внутри него, как этого

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

Чтобы узнать больше вы будете хотеть, чтобы найти статьи об объекте ориентированное программирование на PHP

Сначала попробуйте руководство PHP:
http://us2.php.net/manual/en/language.oop.php
http://us2.php.net/oop

Больше StackOverflow знаний:
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

Это настоящий момент facepalm. Печальная часть состоит в том, что у меня была моя репутация, прежде чем отправлять ответ. –

+0

Еще +1; и как 10-й взнос для этого ответа, это должно получить вас (второй?) «приятный значок-ответ» ;-) –

+0

По крайней мере, есть. –

1

$ HTML является объект. Функция перенаправления - это метод , который принадлежит этому объекту. Я настоятельно рекомендую вам прочитать PHP documentation on classes and objects, чтобы объяснить эти понятия.

3

В дополнение к тому, что Chacha102 said (который является объяснением для конкретного случая, в вопросе вы спрашиваете), вы действительно можете Takle взглянуть на Руководство по PHP и его Classes and Objects (PHP 5)

Она научит вас много полезных вещей :-)

например, вы вопрос, безусловно, имеет свой ответ в главе The Basics ;-)

0

$ HTML в вашем случае не является переменной, а класс. Просто google для «урока PHP-класса».перенаправлять в этом деле является функцией, которая, вероятно, следует содержать подобный код:

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

Это позволит построить класс из вашего PHP-скрипта, как это:

$html = new html; 

И вы будете быть в состоянии назвать это член:

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

$ HTML переменная, HTML класс.

$html = new html; 

ставит новый объект с классом html в переменную $ html. В противном случае это правильно.

Смежные вопросы