title: Collisions with other trait methods
body: <p>How can I deal with traits with methods of same name? </p>
  
  <pre><code>trait FooTrait {
    public function fooMethod() {
          return 'foo method';
    }
  
    public function getRow() {
          return 'foo row';
    }
  }
  
  trait TooTrait {
      public function tooMethod() {
          return 'too method';
      }
  
      public function getRow() {
          return 'too row';
      }
  }
  
  class Boo
  {
      use FooTrait;
      use TooTrait;
  
      public function booMethod() {
          return $this-&gt;fooMethod();
      }
  }
  </code></pre>
  
  <p>error,</p>
  
  <blockquote>
    <p>Fatal error: Trait method getRow has not been applied, because there
    are collisions with other trait methods on Boo in...</p>
  </blockquote>
  
  <p>What should I do about it?</p>
  
  <p>And also, with two same method names, how can I <strong>get</strong> the method from <code>trait FooTrait</code>?</p>
  
  <pre><code>$a = new Boo;
  var_dump($a-&gt;getRow()); // Fatal error: Call to undefined method Boo::getRow() in... 
  </code></pre>
  
  <p><strong>Edit:</strong></p>
  
  <pre><code>class Boo
  {
      use FooTrait, TooTrait {
          FooTrait::getRow insteadof TooTrait;
      }
  
      public function booMethod() {
          return $this-&gt;fooMethod();
      }
  }
  </code></pre>
  
  <p>what if I want to get the method <code>getRow</code> from <code>TooTrait</code> via <code>Boo</code> as well? Is it possible?</p>