mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-18 10:07:12 +00:00
Fix phpdoc generate for custom cast with parameter (#986)
* Fix phpdoc generate for custom cast with parameter * Add param for cast * Simplify cast class name normalizing Co-authored-by: Markus Podar <[email protected]> * Update changelog * composer fix-style Co-authored-by: Markus Podar <[email protected]>
This commit is contained in:
co-authored by
Markus Podar
parent
4aa2e6a576
commit
186340bedc
@@ -5,6 +5,9 @@ All notable changes to this project will be documented in this file.
|
||||
[Next release](https://github.com/barryvdh/laravel-ide-helper/compare/v2.8.1...master)
|
||||
--------------
|
||||
|
||||
### Added
|
||||
- Fix phpdoc generate for custom cast with parameter [\#986 / artelkr](https://github.com/barryvdh/laravel-ide-helper/pull/986)
|
||||
|
||||
2020-09-07, 2.8.1
|
||||
-----------------
|
||||
### Added
|
||||
|
||||
@@ -344,6 +344,9 @@ class ModelsCommand extends Command
|
||||
$realType = '\Illuminate\Support\Collection';
|
||||
break;
|
||||
default:
|
||||
// In case of an optional custom cast parameter , only evaluate
|
||||
// the `$type` until the `:`
|
||||
$type = strtok($type, ':');
|
||||
$realType = class_exists($type) ? ('\\' . $type) : 'mixed';
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts;
|
||||
|
||||
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
|
||||
|
||||
class CustomCasterWithParam implements CastsAttributes
|
||||
{
|
||||
public function __construct(string $param)
|
||||
{
|
||||
}
|
||||
|
||||
public function get($model, string $key, $value, array $attributes): CastedProperty
|
||||
{
|
||||
return new CastedProperty();
|
||||
}
|
||||
|
||||
public function set($model, string $key, $value, array $attributes)
|
||||
{
|
||||
// TODO: Implement set() method.
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Cas
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithDocblockReturnFqn;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithNullablePrimitiveReturn;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithoutReturnType;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithParam;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithPrimitiveDocblockReturn;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithPrimitiveReturn;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithReturnType;
|
||||
@@ -23,5 +24,6 @@ class CustomCast extends Model
|
||||
'casted_property_with_return_primitive_docblock' => CustomCasterWithPrimitiveDocblockReturn::class,
|
||||
'casted_property_with_return_nullable_primitive' => CustomCasterWithNullablePrimitiveReturn::class,
|
||||
'casted_property_without_return' => CustomCasterWithoutReturnType::class,
|
||||
'casted_property_with_param' => CustomCasterWithParam::class . ':param',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Cas
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithDocblockReturnFqn;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithNullablePrimitiveReturn;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithoutReturnType;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithParam;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithPrimitiveDocblockReturn;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithPrimitiveReturn;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CustomCasterWithReturnType;
|
||||
@@ -23,9 +24,11 @@ use Illuminate\Database\Eloquent\Model;
|
||||
* @property array|null $casted_property_with_return_primitive_docblock
|
||||
* @property array|null $casted_property_with_return_nullable_primitive
|
||||
* @property $casted_property_without_return
|
||||
* @property \Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\LaravelCustomCasts\Casts\CastedProperty $casted_property_with_param
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CustomCast newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CustomCast newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CustomCast query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CustomCast whereCastedPropertyWithParam($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CustomCast whereCastedPropertyWithReturnDocblock($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CustomCast whereCastedPropertyWithReturnDocblockFqn($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CustomCast whereCastedPropertyWithReturnNullablePrimitive($value)
|
||||
@@ -45,5 +48,6 @@ class CustomCast extends Model
|
||||
'casted_property_with_return_primitive_docblock' => CustomCasterWithPrimitiveDocblockReturn::class,
|
||||
'casted_property_with_return_nullable_primitive' => CustomCasterWithNullablePrimitiveReturn::class,
|
||||
'casted_property_without_return' => CustomCasterWithoutReturnType::class,
|
||||
'casted_property_with_param' => CustomCasterWithParam::class . ':param',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ class CustomCastsTable extends Migration
|
||||
$table->string('casted_property_with_return_primitive_docblock');
|
||||
$table->string('casted_property_with_return_nullable_primitive');
|
||||
$table->string('casted_property_without_return');
|
||||
$table->string('casted_property_with_param');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user