php - Laravel - 访问模型属性的不同方法

标签 php laravel eloquent model attributes

我发现有几种方法可以访问模型属性:

// In Model Class 1.
public function getUsername()
{
    return $this->username;
}

// OR 2.
public function getUsername()
{
    return $this->attributes['username'];
}

然后调用方法,

或者只是在需要时调用该属性:

// 3.
$user->username;

这3种方法有什么区别?以及使用哪个?最佳实践、性能和 OOP?

最佳答案

从 OOP 的角度来看,前两个是正确的,因为对于那些使用该对象的人来说,该对象如何将值返回给您并不重要。 最终,这个Laravel机制指向同一个变量,实现也几乎是一样的。

但是第三个是错误的,因为它直接访问属性,因为如果将来需要更改值格式,在返回方法时处理会简单得多。

关于php - Laravel - 访问模型属性的不同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62601131/

相关文章:

php - 将几个 WordPress 类别的内容加入到新的虚拟类别中

php - 在对象被转换时返回特定值的对象上的函数

php - Laravel 验证多列的唯一规则

php - 在 Windows 上构建 Laravel 应用程序的 docker 镜像时未找到 000-default.conf

php - Laravel 5 isDirty() 总是返回 false

Laravel "save"总是创建新记录

php - Laravel - Axois 请求上不存在方法 [orderBy]

php - 在数据库中创建页面和条目的表单

php - MySQL SELECT 语句 : Multiple items and Owner's Information

Laravel 4 自然语言全文搜索 MATCH (title,body) AGAINST ('word' )