mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-18 01:57:13 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28af7cd19c | ||
|
|
8f004f5d6b | ||
|
|
da677f1ba5 | ||
|
|
321844d9a5 | ||
|
|
928389d7a4 | ||
|
|
dbfcfd66c5 | ||
|
|
a72cd81e5f |
+1
-1
@@ -42,7 +42,7 @@
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.1-dev"
|
||||
"dev-master": "2.2-dev"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
);
|
||||
|
||||
@@ -47,7 +47,7 @@ class MetaCommand extends Command
|
||||
'new \Illuminate\Contracts\Container\Container',
|
||||
'\Illuminate\Contracts\Container\Container::make(\'\')',
|
||||
'\App::make(\'\')',
|
||||
'app(\'\')',
|
||||
'\app(\'\')',
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@@ -140,7 +140,7 @@ class ModelsCommand extends Command
|
||||
|
||||
$output = "<?php
|
||||
/**
|
||||
* An helper file for your Eloquent Models
|
||||
* A helper file for your Eloquent Models
|
||||
* Copy the phpDocs from this file to the correct Model,
|
||||
* And remove them from this file, to prevent double declarations.
|
||||
*
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user