<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Checks if the class is instantiable</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="reflectionclass.isinstance.html">ReflectionClass::isInstance</a></div> <div class="next" style="text-align: right; float: right;"><a href="reflectionclass.isinterface.html">ReflectionClass::isInterface</a></div> <div class="up"><a href="class.reflectionclass.html">ReflectionClass</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="reflectionclass.isinstantiable" class="refentry"> <div class="refnamediv"> <h1 class="refname">ReflectionClass::isInstantiable</h1> <p class="verinfo">(PHP 5)</p><p class="refpurpose"><span class="refname">ReflectionClass::isInstantiable</span> — <span class="dc-title">Checks if the class is instantiable</span></p> </div> <div class="refsect1 description" id="refsect1-reflectionclass.isinstantiable-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">bool</span> <span class="methodname"><strong>ReflectionClass::isInstantiable</strong></span> ( <span class="methodparam">void</span> )</div> <p class="para rdfs-comment"> Checks if the class is instantiable. </p> </div> <div class="refsect1 parameters" id="refsect1-reflectionclass.isinstantiable-parameters"> <h3 class="title">Parameters</h3> <p class="para">This function has no parameters.</p> </div> <div class="refsect1 returnvalues" id="refsect1-reflectionclass.isinstantiable-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns <strong><code>TRUE</code></strong> on success or <strong><code>FALSE</code></strong> on failure. </p> </div> <div class="refsect1 examples" id="refsect1-reflectionclass.isinstantiable-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-5207"> <p><strong>Example #1 <span class="methodname"><strong>ReflectionClass::isInstantiable()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">C </span><span style="color: #007700">{ }<br /><br />interface </span><span style="color: #0000BB">iface </span><span style="color: #007700">{<br /> function </span><span style="color: #0000BB">f1</span><span style="color: #007700">();<br />}<br /><br />class </span><span style="color: #0000BB">ifaceImpl </span><span style="color: #007700">implements </span><span style="color: #0000BB">iface </span><span style="color: #007700">{<br /> function </span><span style="color: #0000BB">f1</span><span style="color: #007700">() {}<br />}<br /><br />abstract class </span><span style="color: #0000BB">abstractClass </span><span style="color: #007700">{<br /> function </span><span style="color: #0000BB">f1</span><span style="color: #007700">() { }<br /> abstract function </span><span style="color: #0000BB">f2</span><span style="color: #007700">();<br />}<br /><br />class </span><span style="color: #0000BB">D </span><span style="color: #007700">extends </span><span style="color: #0000BB">abstractClass </span><span style="color: #007700">{<br /> function </span><span style="color: #0000BB">f2</span><span style="color: #007700">() { }<br />}<br /><br />class </span><span style="color: #0000BB">privateConstructor </span><span style="color: #007700">{<br /> private function </span><span style="color: #0000BB">__construct</span><span style="color: #007700">() { }<br />}<br /><br /></span><span style="color: #0000BB">$classes </span><span style="color: #007700">= array(<br /> </span><span style="color: #DD0000">"C"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"iface"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"ifaceImpl"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"abstractClass"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"D"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"privateConstructor"</span><span style="color: #007700">,<br />);<br /><br />foreach(</span><span style="color: #0000BB">$classes </span><span style="color: #007700">as </span><span style="color: #0000BB">$class </span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$reflectionClass </span><span style="color: #007700">= new </span><span style="color: #0000BB">ReflectionClass</span><span style="color: #007700">(</span><span style="color: #0000BB">$class</span><span style="color: #007700">);<br /> echo </span><span style="color: #DD0000">"Is </span><span style="color: #0000BB">$class</span><span style="color: #DD0000"> instantiable? "</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$reflectionClass</span><span style="color: #007700">-></span><span style="color: #0000BB">IsInstantiable</span><span style="color: #007700">()); <br />}<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> Is C instantiable? bool(true) Is iface instantiable? bool(false) Is ifaceImpl instantiable? bool(true) Is abstractClass instantiable? bool(false) Is D instantiable? bool(true) Is privateConstructor instantiable? bool(false) </pre></div> </div> </div> </p> </div> <div class="refsect1 seealso" id="refsect1-reflectionclass.isinstantiable-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="methodname"><a href="reflectionclass.isinstance.html" class="methodname" rel="rdfs-seeAlso">ReflectionClass::isInstance()</a> - Checks class for instance</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="reflectionclass.isinstance.html">ReflectionClass::isInstance</a></div> <div class="next" style="text-align: right; float: right;"><a href="reflectionclass.isinterface.html">ReflectionClass::isInterface</a></div> <div class="up"><a href="class.reflectionclass.html">ReflectionClass</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>