• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Duplicate Checks for partial class names don't check for namespaces

Jon W

Well-known member
#1
There are three methods in XenForo which allow for partial class names to be used.

These are:
XenForo_BbCode_Formatter_Base::create
XenForo_Deferred_Abstract::create
XenForo_Controller->getHelper


All three methods use the following line of code to check whether a partial or full class name has been used:
Code:
if (strpos($class, '_') === false)
This follows the assumption that all full class names will contain an underscore. However, this assumption is not always correct if namespaces are used.

I suggest that it be replaced with the following code:
Code:
if (strpos($class, '_') === false && strpos($class, '\\') === false)
or something similar.

Thanks. :)
 

Chris D

XenForo developer
Staff member
#4
No real plans to change this as the system is not designed with namespaces in mind; you may find this pattern in a few places.
The same thoughts still apply to these cases. We're not planning on adding further namespace support in XF 1.x.