这行代码是一个函数吗?

时间:2014-03-08 17:25:59

标签: php function oop

我得到了这行代码:$user->create_account($username, $password);。 它的作用是使用用户名和密码并创建一个新用户,但我的问题并不完全是这样。如果我正在调用一个函数,我只会这样做:

create_account($username, $password);

那么" ->"手段?这实际上是一个功能吗?

请原谅我这个愚蠢的问题,但我从来没有在php的一年里看到类似的东西。 如果是Jquery那就没关系,但事实并非如此。

5 个答案:

答案 0 :(得分:3)

在这种情况下,$user是一个类(object)的实例,其中定义了method create_account。因此,您要在create_account对象上调用$user方法。

示例:

class User {
    function create_account($username, $password) {
        // Create the account
    }
}

$user = new User();
$user->create_account($username, $password);

这是一个如何实现User类的简单示例。

答案 1 :(得分:2)

->表示您从对象调用方法。一个对象只是一个类的一个实例,而一个类只是一个类型的定义。类是面向对象编程的基本构建块。当你创建一个类时,你正在抽象一个概念:定义你的应用程序中的一些概念。

此定义包含行为和属性。例如,当您创建类用户时,用户的一种可能行为是创建一个新帐户,一个可能的属性是用户名。

在PHP中,行为是作为对象内部的函数实现的。为了区分对象外的函数,我们称之为特殊函数 methods 。因此,当您在其中定义类用户时,您将创建一个函数create_account,它表示用户在系统中创建一个帐户时的行为。

当您在php中有一个类User时,您可以通过以下语法User创建此类的对象(类型为$user = new User();的变量),并且可以传递一些参数来构造对象(阅读构造函数)。然后,拥有对象$user,您可以通过->语法访问其行为和属性。

在这种情况下,$user->create_account($username, $password)会调用传递正确参数的create_account类型的方法User

答案 2 :(得分:1)

有没有听说过Object Oriented Programming? $ user是一个对象,create_account()是该对象的方法(= function)。

答案 3 :(得分:1)

表示“create_account”函数属于您创建的类中的$ user对象

答案 4 :(得分:1)

create_account 函数,但将其称为方法会更合适。 $user对象,方法为create_account->是PHP中的访问者运算符。它用于访问对象的公共方法和属性。请参阅http://www.php.net/manual/en/language.oop5.php