分享一个Laravel建议写法指南

 4358

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


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

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

Request 问题

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

  1. $name = $request->name;

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

  1. // 可以用这种方式
  2. $name = $request->input('name');
  3.  
  4. // 或用这种方式
  5. $input = $request->all();
  6. $name = $input['name'];

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

Model appends

  1. class User extends Model{
  2.     protected $appends = ['is_adult'];
  3.  
  4.     public function getIsAdultAttribute()
  5.     {
  6.         return $this->attribute['age'] > 18;
  7.     }
  8. }

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

  1. // modelclass 
  2. User extends Model{
  3.     public function getIsAdultAttribute()
  4.     {
  5.         return $this->attribute['age'] > 18;
  6.     }
  7. }
  8. // controlle
  9. $user = User::first();$user->append('is_adult');

总结:不使用 model 的 appends。


TAG标签:
本文网址:https://www.zztuku.com/index.php/detail-8848.html
站长图库 - 分享一个Laravel建议写法指南
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐