Что означает ->
означает/ссылается на PHP?
В следующем из WordPress я знаю, что делает оператор if
, например, но что делает ->
?
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
Что означает ->
означает/ссылается на PHP?
В следующем из WordPress я знаю, что делает оператор if
, например, но что делает ->
?
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
->
обращается к члену объекта. Таким образом, $wp_query->max_num_pages
обращается к полю max_num_pages
в объекте $wp_query
. Его можно использовать для доступа к методу или к полю, принадлежащему объекту, и если вы знакомы с С++ или Java, это эквивалентно myObject.myField
Во-первых, вы должны понимать следующее. В PHP и многих других языках мы имеем следующие типы entites:
->
позволяет вам получить доступ к методу или значению внутри объекта, так же, как []
позволяет вам получать доступ к значениям в массиве.
Класс похож на поле, и внутри этого поля есть много элементов, и каждый элемент может взаимодействовать друг с другом, поскольку они находятся в одном поле.
Например:
class Box
{
function firstItem()
{
}
function secondItem()
{
}
}
Выше мы называем класс. Это в основном структурированный кусок кода, который на самом деле ничего не делает, пока он не станет объектом.
Объект создается с помощью ключевого слова new
, которое создает экземпляр класса и создает из него объекты.
$box = new Box;
Теперь выше $box
, который является объектом, созданным из класса Box, имеет методы внутри, такие как firstItem()
.
Это как функции, кроме того, внутри них есть еще одна переменная под названием $this
, и это используется для доступа к другим методам внутри этого объекта.
Теперь, чтобы получить доступ к методам извне объектов, вам необходимо использовать оператор, описанный в вашем вопросе.
$box->firstItem();
Оператор ->
позволит вам выполнить метод из переменной $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']
is $object->field
). В WP вы будете использовать его на $post
, например, поскольку это объект.
$object->property
используется для доступа к свойству любого объекта.