Fix facades fullpath autocomplete (#441)

* Add method to retrieve namespace of extended class

* Regroup classes by namespace of the class they extends

* Restore facades shortnames

* Fix classnames used for methods declaration
This commit is contained in:
Florian Lefèvre
2017-02-13 12:52:36 +01:00
committed by Barry vd. Heuvel
parent f1e93f042d
commit 8c306035aa
2 changed files with 13 additions and 2 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ namespace {
namespace <?= $namespace == '__root' ? '' : trim($namespace, '\\') ?> { namespace <?= $namespace == '__root' ? '' : trim($namespace, '\\') ?> {
<?php foreach($aliases as $alias): ?> <?php foreach($aliases as $alias): ?>
<?= $alias->getClassType() ?> <?= $alias->getShortName() ?> { <?= $alias->getClassType() ?> <?= $alias->getExtendsCLass() ?> {
<?php foreach($alias->getMethods() as $method): ?> <?php foreach($alias->getMethods() as $method): ?>
<?= trim($method->getDocComment(' ')) ?> <?= trim($method->getDocComment(' ')) ?>
+12 -1
View File
@@ -15,6 +15,7 @@ class Alias
protected $alias; protected $alias;
protected $facade; protected $facade;
protected $extends = null; protected $extends = null;
protected $extendsClass = null;
protected $extendsNamespace = null; protected $extendsNamespace = null;
protected $classType = 'class'; protected $classType = 'class';
protected $short; protected $short;
@@ -107,6 +108,16 @@ class Alias
return $this->extends; return $this->extends;
} }
/**
* Get the class short name which this alias extends
*
* @return null|string
*/
public function getExtendsClass()
{
return $this->extendsClass;
}
/** /**
* Get the namespace of the class which this alias extends * Get the namespace of the class which this alias extends
* *
@@ -177,7 +188,7 @@ class Alias
{ {
if (strpos($this->extends, '\\') !== false) { if (strpos($this->extends, '\\') !== false) {
$nsParts = explode('\\', $this->extends); $nsParts = explode('\\', $this->extends);
array_pop($nsParts); $this->extendsClass = array_pop($nsParts);
$this->extendsNamespace = implode('\\', $nsParts); $this->extendsNamespace = implode('\\', $nsParts);
} }
} }