Difference between Trait and an Abstract Class in PHP
<p>I recently came across <a href="http://php.net/manual/en/language.oop5.traits.php" rel="noreferrer">Traits</a> in PHP and I'm trying to understand them. During my research I stumbled upon this Stack Overflow question: <a href="https://stackoverflow.com/questions/9205083/traits-vs-interfaces">Traits vs. Interfaces</a>. The accepted answer mentions the following:</p>

<blockquote>
  <p>An interface defines a set of methods that the implementing class must
  implement.</p>
  
  <p>When a trait is use'd the implementations of the methods come along
  too--which doesn't happen in an Interface.</p>
</blockquote>

<p>So far so good but this sounds exactly like the difference between an interface and an abstract class to me. So this raises a follow-up question for me:</p>

<ul>
<li>What is the difference between a Trait and an Abstract Class in PHP?</li>
</ul>

<p>I am aware that I can extend from only one abstract class and on the other hand use any amount of traits. But is this really the only difference? I still don't completely understand traits and its use.</p>