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

Jon W

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

These are:

All three methods use the following line of code to check whether a partial or full class name has been used:
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:
if (strpos($class, '_') === false && strpos($class, '\\') === false)
or something similar.

Thanks. :)

Liam W

in memoriam 1998-2020
I'm almost certain this was reported before and marked as won't fix.

Can't remember when though. I'll see if I can find it...


Chris D

XenForo developer
Staff member
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.