Что означает -> означает / ссылается на PHP?
В следующем из WordPress я знаю, что делает оператор if , например, но что делает -> делать?
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
-> обращается к члену объекта. Таким образом, $wp_query->max_num_pages получает доступ к полю max_num_pages в объекте $wp_query . Его можно использовать для доступа к методу или полю, принадлежащему объекту, и если вы знакомы с C ++ или Java, это эквивалентно myObject.myField
Во-первых, вы должны понимать следующее. В PHP и многих других языках мы имеем следующие типы entites:
-> позволяет вам получить доступ к методу или значению внутри объекта, так же, как [] позволяет вам получать доступ к значениям в массиве.
Класс похож на поле, и внутри этого поля есть много элементов, и каждый элемент может взаимодействовать друг с другом, поскольку они находятся в одном поле.
Например:
class Box { function firstItem() { } function secondItem() { } }
Выше мы называем класс. Это в основном структурированный фрагмент кода, который на самом деле ничего не делает, пока он не станет объектом .
Объект создается с помощью new ключевого слова, которое создает экземпляр класса и создает из него объекты.
$box = new Box;
Теперь указанный выше $box , который является объектом, созданным из класса Box, имеет методы внутри, такие как firstItem() .
Это как функции, кроме того, внутри них у нас есть другая переменная с именем $this и это используется для доступа к другим методам внутри этого объекта.
Теперь, чтобы получить доступ к методам извне объектов, вы должны использовать оператор, описанный в вашем вопросе.
$box->firstItem();
Оператор -> позволит вам выполнить метод из $box переменной $box .
Это похоже на период (.) В JavaScript и Java. Это просто простой оператор доступа.
-> используется для доступа к методам и атрибутам объекта. См. Руководство по классам и объектам PHP .
Он обращается к члену объекта слева с именем справа.
Он обращается к члену объекта; $ obj-> prop получает доступ к свойству «prop» любого объекта в переменной $ obj.
Во многих других языках программирования для этой цели используется период: obj.prop или obj.method ().
Это то, как PHP обрабатывает объекты. По сути, $wp_query – это объект, который имеет методы (функции) и атрибуты, к которым можно получить доступ через символы -> .
PHP не начинался с объектов, поэтому вы видите его теперь как своего рода запоздалая мысль. Я нахожу -> быть грязным способом справиться с этим, по сравнению с Ruby, который был построен с объектами из фонда.
Вы можете найти более подробную информацию: http://php.net/manual/en/language.oop5.php
Это очень просто понять.
В PHP мы используем -> для доступа к методу / свойству, определенному внутри класса.
Итак, в вашем случае ($ wp_query-> max_num_pages) вы пытаетесь получить значение max_num_pages, которое является переменной класса $ wp_query.
$ wp_query, определяющая текущий запрос, а затем $ wp_query определяет, к какому типу запроса он имеет дело (возможно, к архиву категории, датированному архиву, фиду или поиску) и извлекает запрошенные сообщения. Он сохраняет много информации о запросе, который можно вытащить позже.
<?php class Main{ private $name = 'My Name is Febri.<br/>'; private function print_name(){ echo $this -> name; } } class Descend extends Main{ function print(){ $this -> print_name(); } } $try = new Descend; $try -> print(); echo $try -> name; ?>
В приведенном выше примере мы не можем вызвать функцию, которая является частным методом print_name. Кроме того, мы также не можем вызывать переменную имени, которая задана как частное свойство.
-> в основном используется для доступа к элементу объекта. Аналогично атрибутам в Java.
например.
class Student { String name; int rollno; }
Student.name обращается к имени данного объекта-объекта.
Используйте -> для доступа к полям, методам в объекте, параллельным [] в переменных массива ( $array['field'] – $object->field ). В WP вы будете использовать его в $post например, поскольку это объект.
$object->property используется для доступа к свойству любого объекта.