View Issue Details

IDProjectCategoryView StatusLast Update
0005916OXID eShop (all versions)4.10. AutoLoaderpublic2015-12-04 16:46
Status resolvedResolutionfixed 
Product Version4.9.0 / 5.2.0 
Target VersionFixed in Version6.0.0-beta.1 
Summary0005916: oxAutoload can cause preg_match compilation warnings on namespaced class names
DescriptionAlthough OXID does not make use of namespaces itself of course, the autoloader must not cause any warnings when it comes to autloading of full qualified class names.
Steps To ReproduceTry wherever in OXID framework context the following check (or any other where e.g. this 'P‘ follows up a backslash):


=> the oxid autloader comes up with this warning:

Warning: preg_match(): Compilation failed: unknown property name after \P or \p at offset ...

caused by l. 111 of file oxfunctions.php
TagsNo tags attached.
PHP VersionNot defined
Database VersionNot defined


parent of 0006228 acknowledgedflorian.auer oxAutoload can cause preg_match compilation warnings on namespaced class names => Bug 5916 is not resolved 
Not all the children of this issue are yet resolved or closed.



2014-10-17 11:31

reporter   ~0010249

Same Problem here.

My solution as pull request:
See pull Request:


2014-10-17 11:53

reporter   ~0010250



2014-10-27 14:34

reporter   ~0010274

Last edited: 2014-10-27 14:34

View 2 revisions

The fix according to pull request no. 178 looks correct (also for another case):
1. must escape backslash '\' character for classes with namespaces, this is the current problem - "... whenever you reference a namespace in a string, each backslash must be escaped with another backslash because of how PHP handles strings" (from docs).
2. escaping forward slash '/' is not required, but as it is used as preg_match delimiter it is safe to do so.


2014-10-29 13:47

reporter   ~0010287

Fixed with pull request