Skip to content

Commit

Permalink
Merge pull request #702 from atk4/feature/only-prepend-namespace-for-…
Browse files Browse the repository at this point in the history
…known-classes

Only prepend namespace for known classes
  • Loading branch information
romaninsh committed Jun 3, 2019
2 parents f77ac09 + 5af06eb commit 51e3a01
Showing 1 changed file with 27 additions and 1 deletion.
28 changes: 27 additions & 1 deletion src/App.php
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,33 @@ public function addStyle($style)
*/
public function normalizeClassNameApp($name)
{
return '\\'.__NAMESPACE__.'\\'.$name;
/**
* @see https://agile-core.readthedocs.io/en/develop/factory.html#FactoryTrait::normalizeClassName
* replacing / to \
*/
$checkClass = str_replace('/', '\\', $name);

// check FQCN existence without prepend \\
// @case $name = "\\externalNamespace\\className"
if (class_exists($checkClass)) {
return $checkClass;
}

$checkClass = '\\'.$checkClass;
// check FQCN existence prepending \
// @case $name = "externalNamespace\\className"
if (class_exists($checkClass)) {
return $checkClass;
}

$checkClass = '\\'.__NAMESPACE__.$checkClass;
// check FQCN existence prepending FQNS \atk4\ui
// @case $name = "FormField/AutoComplete"
if (class_exists($checkClass)) {
return $checkClass;
}

return $name;
}

/**
Expand Down

0 comments on commit 51e3a01

Please sign in to comment.