PHP中->
的含义是什么意思?
在下面的WordPress中,我知道if
语句的作用,例如->
做了什么?
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
答案 0 :(得分:30)
->
访问对象的成员。因此,$wp_query->max_num_pages
正在访问对象max_num_pages
中的字段$wp_query
。它可用于访问属于对象的方法或字段,如果您熟悉C ++或Java,则它等同于myObject.myField
答案 1 :(得分:25)
首先,您应该了解以下内容。在PHP和许多其他语言中,我们有以下类型的entites:
->
允许您访问对象中的方法或值,就像[]
允许您访问数组中的值一样。
一个类就像一个盒子,在那个盒子里面有很多物品,每个物品都可以互相交互,因为它们在同一个盒子里。
例如:
class Box
{
function firstItem()
{
}
function secondItem()
{
}
}
以上是我们所说的课程。它基本上是一段结构化的代码,在它成为对象之前,它并没有真正做任何事情。
使用new
关键字创建对象,该关键字实例化一个类并从中创建对象。
$box = new Box;
现在上面的$box
是一个从Box类创建的对象,里面有方法,例如firstItem()
。
这些就像其中的函数一样,我们有另一个名为$this
的变量,它用于访问该对象中的其他方法。
现在要从对象外部访问方法,您必须使用问题中描述的运算符。
$box->firstItem();
操作符->
将允许您从变量$box
执行方法。
答案 2 :(得分:5)
就像JavaScript和Java中的句点(。)。它只是一个简单的访问操作符。
答案 3 :(得分:4)
- &GT;用于访问对象的方法和属性。请参阅PHP manual on classes and objects。
答案 4 :(得分:3)
它访问左侧对象的成员,并在右侧显示名称。
答案 5 :(得分:3)
它访问对象的成员; $ obj-&gt; prop访问$ obj变量中任何对象的“prop”属性。
在许多其他编程语言中,为此目的使用句点:例如obj.prop或obj.method()。
答案 6 :(得分:2)
这是PHP处理对象的方式。本质上,$wp_query
是一个对象,它具有可以通过->
字符访问的方法(函数)和属性。
PHP并没有从对象开始,因此您现在将其视为事后想法。我发现->
是处理它的一种混乱方式,而Ruby则是用基础中的对象构建的。
答案 7 :(得分:1)
这很容易理解。
在PHP中我们使用 - &gt;访问类中定义的方法/属性。
所以在您的情况下($ wp_query-&gt; max_num_pages),您正在尝试获取max_num_pages的值,这是$ wp_query类的变量。
$ wp_query定义当前请求的对象信息,然后$ wp_query确定它正在处理的查询类型(可能是类别存档,日期存档,提要或搜索),并获取所请求的帖子。它保留了很多关于请求的信息,可以在以后提取。
答案 8 :(得分:0)
<?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方法的函数。另外,我们也不能调用设置为私有属性的name变量。
答案 9 :(得分:0)
->
主要用于访问对象的字段。类似于Java中的属性。
例如。
class Student {
String name;
int rollno;
}
Student.name访问给定学生对象的名称。
答案 10 :(得分:0)
使用->
访问对象中的字段和方法,它与数组变量中的[]
并行($array['field']
为$object->field
)。在WP中,您将在$post
上使用它,例如,因为它是一个对象。
答案 11 :(得分:0)
$object->property
用于访问任何对象的属性。