Merge pull request #618 from glamorous/feature/docblocks-on-classes

Add DocBlocks for classes too
This commit is contained in:
Barry vd. Heuvel
2018-02-10 14:47:48 +01:00
committed by GitHub
2 changed files with 26 additions and 1 deletions
+1
View File
@@ -15,6 +15,7 @@
namespace <?= $namespace == '__root' ? '' : trim($namespace, '\\') ?> {
<?php foreach($aliases as $alias): ?>
<?= trim($alias->getDocComment(' ')) ?>
<?= $alias->getClassType() ?> <?= $alias->getExtendsClass() ?> {
<?php foreach($alias->getMethods() as $method): ?>
+25 -1
View File
@@ -10,6 +10,11 @@
namespace Barryvdh\LaravelIdeHelper;
use Barryvdh\Reflection\DocBlock;
use Barryvdh\Reflection\DocBlock\Context;
use Barryvdh\Reflection\DocBlock\Serializer as DocBlockSerializer;
use ReflectionClass;
class Alias
{
protected $alias;
@@ -27,6 +32,7 @@ class Alias
protected $valid = false;
protected $magicMethods = array();
protected $interfaces = array();
protected $phpdoc = null;
/**
* @param string $alias
@@ -56,7 +62,13 @@ class Alias
$this->detectNamespace();
$this->detectClassType();
$this->detectExtendsNamespace();
if(!empty($this->namespace)) {
//Create a DocBlock and serializer instance
$this->phpdoc = new DocBlock(new ReflectionClass($alias), new Context($this->namespace));
}
if ($facade === '\Illuminate\Database\Eloquent\Model') {
$this->usedMethods = array('decrement', 'increment');
}
@@ -333,6 +345,18 @@ class Alias
}
}
/**
* Get the docblock for this alias
*
* @param string $prefix
* @return mixed
*/
public function getDocComment($prefix = "\t\t")
{
$serializer = new DocBlockSerializer(1, $prefix);
return ($this->phpdoc) ? $serializer->getDocComment($this->phpdoc) : '';
}
/**
* Output an error.
*