title: Laravel/Eloquent advises to override a trait property?
body: <p>I'm using Eloquent models within Laravel 5.4
  In the documentation, I see: </p>
  
  <blockquote>
    <p>You may also use the create method to save a new model in a single
    line. The inserted model instance will be returned to you from the
    method. However, before doing so, you will need to specify either a
    fillable or guarded attribute on the model, as all Eloquent models
    protect against mass-assignment by default.</p>
  </blockquote>
  
  <pre><code>&lt;?php
  
  namespace App;
  
  use Illuminate\Database\Eloquent\Model;
  
  class Flight extends Model
  {
      /**
       * The attributes that are mass assignable.
       *
       * @var array
       */
      protected $fillable = ['name'];
  }
  </code></pre>
  
  <p>However, the $fillable property is already defined in a trait used by all models:</p>
  
  <pre><code>trait GuardsAttributes
  {
      /**
       * The attributes that are mass assignable.
       *
       * @var array
       */
      protected $fillable = [];
  
  ...
  </code></pre>
  
  <p>The PHP documentation is clear about Traits properties:</p>
  
  <blockquote>
    <p>If a trait defines a property then a class can not define a property
    with the same name, otherwise an error is issued. It is an E_STRICT if
    the class definition is compatible (same visibility and initial value)
    or fatal error otherwise.</p>
  </blockquote>
  
  <p>Is the Laravel documentation wrong about the adivsed implementation?</p>