分享一个Laravel建议写法指南

下面给大家分享一个laravel建议写法指南,希望对需要的朋友有所帮助!

 

Laravel 优雅的框架,同时提供了大量灵活并且神奇的写法。但越灵活,在一些方面可能会存在小问题。

以下列出 Laravel 不太建议的写法,仅大家讨论与参考。如果可能的话在评议区说出你的看法吧。

Request 问题

Request 参数可以通过动态属性获取,如以下写法:

$name = $request->name;

该写法非常不建议,原因是如果属性名称为 query 或者 content 之类原本类的属性,就会产生非预期效果。除非你把所有该类的所以关键词都记住(就算你记住所有的属性,你也保证不了下个版本会不会加新的属性),否则你早晚会遇到这个坑。比较不建议使用,建议使用如下方式:

// 可以用这种方式
$name = $request->input('name');
 
// 或用这种方式
$input = $request->all();
$name = $input['name'];

总结:不使用 request 动态属性。

Model appends

class User extends Model{
    protected $appends = ['is_adult'];
 
    public function getIsAdultAttribute()
    {
        return $this->attribute['age'] > 18;
    }
}

getXxxAttribute是一个很用的特性,但如果model中自动append就会产生很多问题,如你在select的时候,没有age字段,依然会帮你加上append的字段,这有时会带来很多问题。建议不使用$append这个属性。在需要的时候,在controller层加载这个属性。

// modelclass 
User extends Model{
    public function getIsAdultAttribute()
    {
        return $this->attribute['age'] > 18;
    }
}
// controlle
$user = User::first();$user->append('is_adult');

总结:不使用 model 的 appends。

 

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!
2.本站部分资源包有加密,加密统一密码为:www.51zhanma.cn
3. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
4. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
5. 如果您也有好的资源或教程,您可以投稿发布,用户购买后有销售金额的80%以上的分成收入!
6.如有侵权请联系客服邮件kefu@zhanma.cn
站码网 » 分享一个Laravel建议写法指南

发表评论

  • 1809本站运营(天)
  • 1945会员数(个)
  • 5310资源数(个)
  • 1287评论数(个)
  • 0 近 30 天更新(个)
加入 VIP