<p>Sono d'accordo, mettere il metodo nella classe astratta é una forma di duplicazione: citi la sua signature piú volte di quanto necessario. Versioni piú nuove di PHP sono evidentemente piú lasche, ma dal punto di vista della manutenzione mi sembra comodo non doverlo riscrivere dove può essere dedotto.</p>

<div class="gmail_quote">Il giorno 15/lug/2013 19.26, "Daniele Bartocci" <<a href="mailto:net02.it@gmail.com">net02.it@gmail.com</a>> ha scritto:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div><div><a href="https://bugs.php.net/bug.php?id=31207" target="_blank">https://bugs.php.net/bug.php?id=31207</a><br><br></div>Non è un bug, non ti permette di ridefinire il metodo dell'interfaccia poiché superfluo (probabilmente ha a che fare con l'effettiva implementazione lato engine di interfacce e classi astratte).<br>

</div>Puoi semplicemente evitare la dichiarazione di <font face="Courier New">doSomething()</font> in <font face="Courier New">AMyAbstract</font> perché comunque <font face="Courier New">MyImp</font> implementerà <font face="Courier New">IMyInterface</font> per "ereditarietà" - e quindi ti darà tutti gli errori del caso qualora non implementassi tutti i metodi di <font face="Courier New">IMyInterface</font>.<br>

<br></div>Daniele<br><div><div class="gmail_extra"><br><br><div class="gmail_quote">Il giorno 15 luglio 2013 14:05, Gabriele Tondi <span dir="ltr"><<a href="mailto:info@gabrieletondi.it" target="_blank">info@gabrieletondi.it</a>></span> ha scritto:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Ciao a tutti!<div><br></div><div>mi sono scontrato con questo problema, che riscontro su PHP 5.3.3.7</div>

<div><br></div><div>In pratica, ho questi tre elementi...</div><div><br></div><div><font face="Courier New">interface IMyInterface {</font></div><div><font face="Courier New">  public doSomething();</font></div><div><font face="Courier New">}</font></div>

<div><font face="Courier New"><br></font></div><div><font face="Courier New">abstract class AMyAbstract implements IMyInterface {</font></div><div><font face="Courier New">  public abstract doSomething();</font></div><div>

<font face="Courier New">}</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">class MyImp extends AMyAbstract {</font></div><div><font face="Courier New">  public doSomething() {</font></div>

<div><font face="Courier New">    return 'done';</font></div><div><font face="Courier New">  }</font></div><div><font face="Courier New">}</font></div><div><font face="Courier New"><br></font></div><div>PHP 5.3.3.7 si arrabbia, perchè non vuole che il metodo doSomething sia astratto...</div>

<div>Su PHP 5.3.14 invece non ho problemi, idem su 5.4.4</div><div><br></div><div>Ho verificato ed in linguaggio più OOP come c# è possibile fare ciò, quello che non riesco a capire è se in php non è permesso (o consigliabile) in generale, oppure se si tratta di un problema di quella versione!</div>

<div><br></div><div>Vi siete già scontrati con un problema di questo tipo?</div><div><br></div><div>A presto!</div><div>Gabriele</div><div><div>
<div style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-wrap:break-word;word-spacing:0px">

<div style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-wrap:break-word;word-spacing:0px">

<br style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">

<span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">-----------------------------------------------------------------------------</span><br style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">

<br><div>Tondi Gabriele - web and mobile software architect<br style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">

<br style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">

<b style="line-height:normal;text-indent:0px;letter-spacing:normal;text-align:-webkit-auto;font-variant:normal;text-transform:none;font-style:normal;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">mail:</b><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px"><span> </span><a href="mailto:info@gabrieletondi.it" target="_blank">info@gabrieletondi.it</a></span><br style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">

<b style="line-height:normal;text-indent:0px;letter-spacing:normal;text-align:-webkit-auto;font-variant:normal;text-transform:none;font-style:normal;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">web:</b><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px"><span> </span><a href="http://www.gabrieletondi.it" target="_blank">www.gabrieletondi.it</a></span><br style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">

<b style="line-height:normal;text-indent:0px;letter-spacing:normal;text-align:-webkit-auto;font-variant:normal;text-transform:none;font-style:normal;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">mobile:</b><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px"><span> </span>392 54 50 560</span><br style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">

<b style="line-height:normal;text-indent:0px;letter-spacing:normal;text-align:-webkit-auto;font-variant:normal;text-transform:none;font-style:normal;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">skype:<span> </span></b><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">gabrieletondi</span><br style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">

<br style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">

<i style="line-height:normal;text-indent:0px;letter-spacing:normal;text-align:-webkit-auto;font-variant:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;font-weight:normal;word-spacing:0px">In ottemperanza alla Legge 196/2003 sulla tutela dei dati personali, le<br>

informazioni contenute in questa mail sono di natura confidenziale e si<br>devono intendere ad uso esclusivo della persona o della Società cui è<br>destinato. Se chi legge questo messaggio non è il destinatario o l’incaricato<br>

per la consegna del messaggio al destinatario, non deve assolutamente<br>copiare, divulgare, distribuire o in qualsiasi modo utilizzare le<br>informazioni contenute in questa mail.Nel caso in cui aveste ricevuto questa<br>

mail per errore, vogliate avvertire il mittente al più presto a mezzo posta<br>elettronica e distruggere il presente messaggio.<br><br>According to Italian Law 196/2003 concerning privacy, the information<br>contained in this mail is confidential and is intended for the addressee<br>

only. If you are not the correct recipient, please note that any use,<br>dissemination or copy of this document/information is strictly prohibited.<br>If you have received this message in error, you should destroy it and please<br>

notify us immediatly by e-mail.</i></div></div></div>
</div>
<br></div></div><br>_______________________________________________<br>
Milano mailing list<br>
<a href="mailto:Milano@ml.grusp.org" target="_blank">Milano@ml.grusp.org</a><br>
<a href="http://ml.grusp.org/listinfo.cgi/milano-grusp.org" target="_blank">http://ml.grusp.org/listinfo.cgi/milano-grusp.org</a><br>
<br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
Milano mailing list<br>
<a href="mailto:Milano@ml.grusp.org">Milano@ml.grusp.org</a><br>
<a href="http://ml.grusp.org/listinfo.cgi/milano-grusp.org" target="_blank">http://ml.grusp.org/listinfo.cgi/milano-grusp.org</a><br>
<br></blockquote></div>