PHP,如何从函数设置类变量值

阿哈哈

我正在创建一个带有变量的类,如下面的代码所示,我要访问

$allen = new guest(...); echo $allen->userName;

相反,我必须使用这个

$allen->getUserName();

但是由于创建类后用户名不会更改,有没有办法做到这一点?

<?php 
    class guest {

        var $firstName;
        var $lastName; 
        var $email;
        var $userName;

        function guest($firstName, $lastName, $email) {
            $this->firstName = $firstName; 
            $this->lastName = $lastName; 
            $this->userName = getUserName();  // option 1 
            $this->userName = $this->getUserName(); // option 2

            preg_match('/^.*(?=(@))/i', $this->email, $userName);
            $this->userName = $userName[0];  // this is messy but work


        }
        function getUserName() {
            preg_match('/^.*(?=(@))/i', $this->email, $userName);
            return $userName[0];
        }
    }
?>   
十亿

为了拒绝直接访问您的class属性,您可以将其定义为private这样,类似的构造$allen->userName将引发错误。这也称为封装。

首先,请确保正确初始化类对象。在PHP中,您应该使用__constructor函数定义构造函数。这是示例:

       class Guest {
    protected $lastName;
    protected $email;
    protected $lastName;
    protected $userName;

    public function __construct($firstName, $lastName, $email, $userName){
        $this->firstName = $firstName;
        $this->lastName = $lastName;
        $this->email = $email;
        $this->userName = $userName;
    }
    public function getUsername(){
        return $this->userName;
    }      
}

构造函数接收4个参数$firstName, $lastName, $email, $userName为了创建此类的对象,您可以执行以下代码:

$allen = new Guest('John', 'Doe', '[email protected]', 'username');

要检索用户名,请写以下行:

$allen->getUsername();

在您当前的构造函数中,有一些问题是不好的,因为我认为您的userName属性未正确初始化。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在类中存储变量值,即“设置”?

来自分类Dev

如何在函数中设置变量值?

来自分类Dev

laravel设置类变量值

来自分类Dev

通过函数设置窗口变量值

来自分类Dev

从php类获取变量值

来自分类Dev

PHP定义不设置变量值

来自分类Dev

PHP定义不设置变量值

来自分类Dev

如何从列数据设置变量值?

来自分类Dev

如何在 If 中设置变量值

来自分类Dev

如何从输入设置变量值?

来自分类Dev

全局设置类路径环境变量值

来自分类Dev

如何编写将在父对象内设置变量值的函数?

来自分类Dev

在Powershell中,如何在函数中设置变量值并使该值在父作用域中可用?

来自分类Dev

如何在bash脚本中将函数的输出设置为变量值?

来自分类Dev

如何在bash脚本中将函数的输出设置为变量值?

来自分类Dev

Python-更改函数中的类变量值

来自分类Dev

PHP echo中的PHP javascript类变量值

来自分类Dev

从函数获取变量值

来自分类Dev

Twilio函数-变量值

来自分类Dev

从函数获取变量值

来自分类Dev

递归函数的变量值在PHP中未更改

来自分类Dev

将JavaScript变量值作为PHP函数的参数

来自分类Dev

在 PHP 中跨函数共享变量值

来自分类Dev

在php函数之间传递变量值

来自分类Dev

如何通过调用方法分配类变量值?

来自分类Dev

如何从类内的变量值创建对象

来自分类Dev

如何使用实例变量值动态创建类方法

来自分类Dev

如何基于子请求设置变量值

来自分类Dev

如何知道为联合设置了哪个变量值?