Merge pull request #326 from valorin/master

Allow for camel case model properties.
This commit is contained in:
Barry vd. Heuvel
2016-07-04 13:45:34 +02:00
committed by GitHub
2 changed files with 39 additions and 0 deletions
+26
View File
@@ -116,4 +116,30 @@ return array(
),
/*
|--------------------------------------------------------------------------
| Support for camel cased models
|--------------------------------------------------------------------------
|
| There are some Laravel packages (such as Eloquence) that allow for accessing
| Eloquent model properties via camel case, instead of snake case.
|
| Enabling this option will support these packages by saving all model
| properties as camel case, instead of snake case.
|
| For example, normally you would see this:
|
| * @property \Carbon\Carbon $created_at
| * @property \Carbon\Carbon $updated_at
|
| With this enabled, the properties will be this:
|
| * @property \Carbon\Carbon $createdAt
| * @property \Carbon\Carbon $updatedAt
|
| Note, it is currently an all-or-nothing option.
|
*/
'model_camel_case_properties' => false,
);
+13
View File
@@ -487,6 +487,11 @@ class ModelsCommand extends Command
} else {
$attr = 'property-read';
}
if ($this->hasCamelCaseModelProperties()) {
$name = Str::camel($name);
}
$tagLine = trim("@{$attr} {$property['type']} {$name} {$property['comment']}");
$tag = Tag::createInstance($tagLine, $phpdoc);
$phpdoc->appendTag($tag);
@@ -586,4 +591,12 @@ class ModelsCommand extends Command
$model = new $className;
return '\\' . get_class($model->newCollection());
}
/**
* @return bool
*/
protected function hasCamelCaseModelProperties()
{
return $this->laravel['config']->get('ide-helper.model_camel_case_properties', false);
}
}