<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Introspektion | Nerdpress.org</title>
	<atom:link href="https://nerdpress.org/tag/introspektion/feed/" rel="self" type="application/rss+xml" />
	<link>https://nerdpress.org</link>
	<description>...dev, tech problems and solutions.</description>
	<lastBuildDate>Tue, 28 Sep 2010 16:03:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>ReflectionParameter::isOptional() vs. ReflectionParameter::isDefaultValueAvailable()</title>
		<link>https://nerdpress.org/2010/09/28/reflectionparameterisoptional-vs-reflectionparameterisdefaultvalueavailable/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 28 Sep 2010 16:03:50 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software engineering]]></category>
		<category><![CDATA[Introspektion]]></category>
		<category><![CDATA[Reflection]]></category>
		<category><![CDATA[Runkit]]></category>
		<guid isPermaLink="false">https://nerdpress.org/?p=1128</guid>

					<description><![CDATA[<p>Während der Bastelei am DI-Container bin ich über die beiden Methoden ReflectionParameter::isOptional() und ReflectionParameter::isDefaultValueAvailable() gestoßen. Der kleine, undokumentierte und feine Unterschied ist folgender: Ein formaler Parameter einer Methode/Funktion ist immer optional, wenn er einen Initialwert zugewiesen bekommt (Fachausdruck &#8220;Polymorphie für Arme&#8221;). Nun kann es sein, dass eine Methode zwar optional ist, man den DefaultValue aber &#8230; </p>
<p class="link-more"><a href="https://nerdpress.org/2010/09/28/reflectionparameterisoptional-vs-reflectionparameterisdefaultvalueavailable/" class="more-link">Continue reading<span class="screen-reader-text"> "ReflectionParameter::isOptional() vs. ReflectionParameter::isDefaultValueAvailable()"</span></a></p>
The post <a href="https://nerdpress.org/2010/09/28/reflectionparameterisoptional-vs-reflectionparameterisdefaultvalueavailable/">ReflectionParameter::isOptional() vs. ReflectionParameter::isDefaultValueAvailable()</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></description>
										<content:encoded><![CDATA[<p>Während der Bastelei am <a href="https://nerdpress.org/2010/09/26/dependency-injection-mit-php-5-3-runkit-erweiterung-und-doctrine-2-annotationen/">DI-Container</a> bin ich über die beiden Methoden ReflectionParameter::isOptional() und ReflectionParameter::isDefaultValueAvailable() gestoßen. Der kleine, undokumentierte und feine Unterschied ist folgender:</p>
<p><span id="more-1128"></span></p>
<p>Ein formaler Parameter einer Methode/Funktion ist immer optional, wenn er einen Initialwert zugewiesen bekommt (Fachausdruck &#8220;Polymorphie für Arme&#8221;). Nun kann es sein, dass eine Methode zwar optional ist, man den DefaultValue aber nicht abfragen <strong>darf</strong>. ReflectionParameter::getDefaulValue() würde in diesem Falle eine Exception werfen. Dies kann bspw. bei internen Funktionen/Methoden (auch der Default-Constructor ist eine &#8220;interne&#8221; Methode) der Fall sein. Also Vorsicht bei Verwendung von ReflectionParameter::isOptional(), besser nochmal via ReflectionParameter::isDefaultValueAvailable() prüfen, ob man an den Parameter wirklich dran darf, bevor man ihn sich via ReflectionParameter::getDefaultValue() holt.</p>The post <a href="https://nerdpress.org/2010/09/28/reflectionparameterisoptional-vs-reflectionparameterisdefaultvalueavailable/">ReflectionParameter::isOptional() vs. ReflectionParameter::isDefaultValueAvailable()</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
