<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: How I PHP: multiple inheritance</title>
	<atom:link href="http://www.jasny.net/articles/how-i-php-multiple-inheritance/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/</link>
	<description>It&#039;s all about me, mysql and Einstein.</description>
	<lastBuildDate>Wed, 08 Sep 2010 17:54:42 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jon</title>
		<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/comment-page-1/#comment-245488</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Mon, 05 Jul 2010 12:26:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.adaniels.nl/?p=242#comment-245488</guid>
		<description>There is always an obscure occasion when these kinds of patterns become necessary (e.g. working with Magento where user contributed plug-ins clash due to lack of multiple inheritance). The pattern may not be pretty but it&#039;s ridiculous to dismiss it outright. I never understand people&#039;s fear of programming power.</description>
		<content:encoded><![CDATA[<p>There is always an obscure occasion when these kinds of patterns become necessary (e.g. working with Magento where user contributed plug-ins clash due to lack of multiple inheritance). The pattern may not be pretty but it&#8217;s ridiculous to dismiss it outright. I never understand people&#8217;s fear of programming power.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alexbrina</title>
		<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/comment-page-1/#comment-208130</link>
		<dc:creator>alexbrina</dc:creator>
		<pubDate>Mon, 28 Sep 2009 18:15:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.adaniels.nl/?p=242#comment-208130</guid>
		<description>This discussion is good to promote things like that Horizontal Reuse with its Traits and Grafts. I too need a way to share states and behaviors that goes beyond Inheritance and Composition.</description>
		<content:encoded><![CDATA[<p>This discussion is good to promote things like that Horizontal Reuse with its Traits and Grafts. I too need a way to share states and behaviors that goes beyond Inheritance and Composition.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alexbrina</title>
		<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/comment-page-1/#comment-208129</link>
		<dc:creator>alexbrina</dc:creator>
		<pubDate>Mon, 28 Sep 2009 18:07:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.adaniels.nl/?p=242#comment-208129</guid>
		<description>http://wiki.php.net/rfc/horizontalreuse</description>
		<content:encoded><![CDATA[<p><a href="http://wiki.php.net/rfc/horizontalreuse" rel="nofollow">http://wiki.php.net/rfc/horizontalreuse</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Artur Ejsmont</title>
		<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/comment-page-1/#comment-208104</link>
		<dc:creator>Artur Ejsmont</dc:creator>
		<pubDate>Mon, 28 Sep 2009 08:52:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.adaniels.nl/?p=242#comment-208104</guid>
		<description>Im sorry but it looks bad to me as well.

PHP projects that use code like that above are notoriously over complicated and debugging or changing anyghing becomaes a real nightmare.

Wrapper itself without __call is a good thing though ;-) 

I would also discourage from trying to make PHP a language that its not. For example the fact that you can use reflection to mess with an object does not mean you should be doing it. Its an option for cases where its the only way like code analyzers or unit tests frameworks etc.</description>
		<content:encoded><![CDATA[<p>Im sorry but it looks bad to me as well.</p>
<p>PHP projects that use code like that above are notoriously over complicated and debugging or changing anyghing becomaes a real nightmare.</p>
<p>Wrapper itself without __call is a good thing though <img src='http://www.jasny.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  </p>
<p>I would also discourage from trying to make PHP a language that its not. For example the fact that you can use reflection to mess with an object does not mean you should be doing it. Its an option for cases where its the only way like code analyzers or unit tests frameworks etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel Darlow</title>
		<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/comment-page-1/#comment-208079</link>
		<dc:creator>Noel Darlow</dc:creator>
		<pubDate>Sun, 27 Sep 2009 19:28:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.adaniels.nl/?p=242#comment-208079</guid>
		<description>PS: sorry I didn&#039;t make myself clear, My comments don&#039;t refer to you yoda, or Giorgio.</description>
		<content:encoded><![CDATA[<p>PS: sorry I didn&#8217;t make myself clear, My comments don&#8217;t refer to you yoda, or Giorgio.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel Darlow</title>
		<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/comment-page-1/#comment-208078</link>
		<dc:creator>Noel Darlow</dc:creator>
		<pubDate>Sun, 27 Sep 2009 19:24:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.adaniels.nl/?p=242#comment-208078</guid>
		<description>When I read comments such as above I sometimes wonder if the internet should just be switched off. 

Decorating objects is a common problem (I think that&#039;s what&#039;s at the root of this). Wrappers are one solution. &quot;Mixins&quot; (I like to call that method injection http://aperiplus.sourceforge.net/method-injection.php) are another. 

I think it&#039;s fair to point out that you should first try to find a single home for related behaviours. There is a danger that you could end up spreading bits of logic around in several classes when they ought to be encapsulated in one unit. Mixed in shouldn&#039;t mean mixed up. At the same time, I think there are situations where you might want to assemble a single (apparent) interface from many parts.</description>
		<content:encoded><![CDATA[<p>When I read comments such as above I sometimes wonder if the internet should just be switched off. </p>
<p>Decorating objects is a common problem (I think that&#8217;s what&#8217;s at the root of this). Wrappers are one solution. &#8220;Mixins&#8221; (I like to call that method injection <a href="http://aperiplus.sourceforge.net/method-injection.php)" rel="nofollow">http://aperiplus.sourceforge.net/method-injection.php)</a> are another. </p>
<p>I think it&#8217;s fair to point out that you should first try to find a single home for related behaviours. There is a danger that you could end up spreading bits of logic around in several classes when they ought to be encapsulated in one unit. Mixed in shouldn&#8217;t mean mixed up. At the same time, I think there are situations where you might want to assemble a single (apparent) interface from many parts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Les</title>
		<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/comment-page-1/#comment-208067</link>
		<dc:creator>Les</dc:creator>
		<pubDate>Sun, 27 Sep 2009 15:44:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.adaniels.nl/?p=242#comment-208067</guid>
		<description>There is numerous reasons as to why we don&#039;t have multiple inheritance, and we should not try to implement it, so why do you do it?

This leaves a terrible, vile impression on those who a) are learning about programming for the first time and don&#039;t know any better, and b) those who don&#039;t care about using bad practices.

Everything you have described in this post is bad; I am sure you want to be innovative (we all do) but this isn&#039;t the end result, unfortunately.

Please give yourself a slap... before someone else does ;)</description>
		<content:encoded><![CDATA[<p>There is numerous reasons as to why we don&#8217;t have multiple inheritance, and we should not try to implement it, so why do you do it?</p>
<p>This leaves a terrible, vile impression on those who a) are learning about programming for the first time and don&#8217;t know any better, and b) those who don&#8217;t care about using bad practices.</p>
<p>Everything you have described in this post is bad; I am sure you want to be innovative (we all do) but this isn&#8217;t the end result, unfortunately.</p>
<p>Please give yourself a slap&#8230; before someone else does <img src='http://www.jasny.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Giorgio Sironi</title>
		<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/comment-page-1/#comment-208055</link>
		<dc:creator>Giorgio Sironi</dc:creator>
		<pubDate>Sun, 27 Sep 2009 09:50:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.adaniels.nl/?p=242#comment-208055</guid>
		<description>I think there are more basic techniques to achieve this, like using interfaces for multiple inheritance and then delegation to helper classes. :)</description>
		<content:encoded><![CDATA[<p>I think there are more basic techniques to achieve this, like using interfaces for multiple inheritance and then delegation to helper classes. <img src='http://www.jasny.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yoda</title>
		<link>http://www.jasny.net/articles/how-i-php-multiple-inheritance/comment-page-1/#comment-208053</link>
		<dc:creator>yoda</dc:creator>
		<pubDate>Sun, 27 Sep 2009 08:44:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.adaniels.nl/?p=242#comment-208053</guid>
		<description>This is just a bounch of bad pattern designs which should not be used at all.</description>
		<content:encoded><![CDATA[<p>This is just a bounch of bad pattern designs which should not be used at all.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
