Что означает эта конструкция php: $ html-> redirect ("URL")? - PullRequest
4 голосов
/ 05 августа 2009

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

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

Заранее спасибо!

Ответы [ 5 ]

23 голосов
/ 05 августа 2009

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

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

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

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

$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: когда использовать :: vs. ->?
https://stackoverflow.com/questions/tagged/oop
https://stackoverflow.com/questions/249835/book-recommendation-for-learning-good-php-oop
Зачем использовать PHP OOP над основными функциями и когда?
Каковы преимущества ОО-программирования? Поможет ли мне написать лучший код?

3 голосов
/ 05 августа 2009

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

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

Например, у вашего вопроса наверняка есть ответ в главе Основы ; -)

1 голос
/ 05 августа 2009

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

0 голосов
/ 05 августа 2009

$ html - это переменная, html - это класс.

$html = new html;

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

0 голосов
/ 05 августа 2009

$ html в вашем случае это не переменная, а класс. Просто Google для "учебник по PHP классу". redirect в этом случае является функцией-членом, которая, вероятно, должна содержать аналогичный код:

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

Это позволит создать класс из вашего PHP-скрипта следующим образом:

$html = new html;

И вы сможете позвонить его члену:

$html->redirect("www.stackoverflow.com");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...