<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi,<div><br></div><div>Imagine I have the following PHP function in a class called Obfuscated (real name removed for reasons):</div><div><br></div><div><div><font face="Courier New">/**</font></div><div><font face="Courier New"> * Fetch the ''obfuscated'' associated with a specific (numeric) ID</font></div><div><font face="Courier New"> * </font></div><div><font face="Courier New"> * @param int $id</font></div><div><font face="Courier New"> *   Numeric ID of the </font><span style="font-family: 'Courier New';">''obfuscated''</span><font face="Courier New"> to fetch; can be null to let this method return null.</font></div><div><font face="Courier New"> * </font></div><div><font face="Courier New"> * @retval Obfuscated</font></div><div><font face="Courier New"> *   The </font><span style="font-family: 'Courier New';">''obfuscated''</span><font face="Courier New"> with the given ID, or null if no such </font><span style="font-family: 'Courier New';">''obfuscated''</span><font face="Courier New"> exists</font></div><div><font face="Courier New"> */</font></div><div><font face="Courier New">public static function fromId($id)</font></div><div><font face="Courier New">{</font></div><div><font face="Courier New"><span class="Apple-tab-span" style="white-space:pre">   </span>return self::fromDatabase(array(</font></div><div><font face="Courier New"><span class="Apple-tab-span" style="white-space:pre">                       </span>‘ObfuscatedId' => $id,</font></div><div><font face="Courier New"><span class="Apple-tab-span" style="white-space:pre">              </span>)</font></div><div><font face="Courier New"><span class="Apple-tab-span" style="white-space:pre">      </span>);</font></div><div><font face="Courier New">}</font></div></div><div><font face="Courier New"><br></font></div><div><br></div><div><div apple-content-edited="true">fromDatabase does something in the lines of:</div><div apple-content-edited="true"><br></div><div apple-content-edited="true"><div apple-content-edited="true"><font face="Courier New">protected static function </font><span style="font-family: 'Courier New';">fromDatabase</span><font face="Courier New">($filter)</font></div><div apple-content-edited="true"><font face="Courier New">{</font></div><div apple-content-edited="true"><span class="Apple-tab-span" style="font-family: 'Courier New'; white-space: pre;">    </span><span style="font-family: 'Courier New';">$class = get_called_class();</span></div><div apple-content-edited="true"><font face="Courier New"><span class="Apple-tab-span" style="white-space: pre;"> </span>$obj = new $class();</font></div><div apple-content-edited="true"><font face="Courier New"><br></font></div><div apple-content-edited="true"><font face="Courier New"><span class="Apple-tab-span" style="white-space:pre">        </span>// More code…</font></div><div apple-content-edited="true"><font face="Courier New"><br></font></div><div apple-content-edited="true"><font face="Courier New"><span class="Apple-tab-span" style="white-space:pre">       </span>return $obj;</font></div><div apple-content-edited="true"><font face="Courier New">}</font></div></div><div apple-content-edited="true"><br></div><div apple-content-edited="true">In this case KDevelop does not correctly understand the type of the object returned from the fromId() function.</div><div apple-content-edited="true"><br></div><div apple-content-edited="true">For example PHPStorm can use @return to specify (“force”) the return type of a function. However KDevelop does not seem to support such a feature.</div><div apple-content-edited="true"><br></div><div apple-content-edited="true">Am I missing something or is this something that could be added?</div><div apple-content-edited="true"><br></div><div apple-content-edited="true">
Regards,<div><br></div><div>Nicky Gerritsen</div></div></div></body></html>