mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-20 02:53:11 +00:00
Merge pull request #377 from ellisio/type-overrides
Allow Type Overrides
This commit is contained in:
+15
-3
@@ -1,4 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ return array(
|
|||||||
'emergency' => 'Monolog\Logger::addEmergency',
|
'emergency' => 'Monolog\Logger::addEmergency',
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Interface implementations
|
| Interface implementations
|
||||||
@@ -81,7 +81,7 @@ return array(
|
|||||||
| are detected by the helpers, others can be listed below.
|
| are detected by the helpers, others can be listed below.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'interfaces' => array(
|
'interfaces' => array(
|
||||||
|
|
||||||
),
|
),
|
||||||
@@ -142,4 +142,16 @@ return array(
|
|||||||
*/
|
*/
|
||||||
'model_camel_case_properties' => false,
|
'model_camel_case_properties' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Property Casts
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Cast the given "real type" to the given "type".
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'type_overrides' => array(
|
||||||
|
'integer' => 'int',
|
||||||
|
'boolean' => 'bool',
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -212,7 +212,6 @@ class ModelsCommand extends Command
|
|||||||
}
|
}
|
||||||
|
|
||||||
return $output;
|
return $output;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -279,11 +278,24 @@ class ModelsCommand extends Command
|
|||||||
if (!isset($this->properties[$name])) {
|
if (!isset($this->properties[$name])) {
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
$this->properties[$name]['type'] = $realType;
|
$this->properties[$name]['type'] = $this->getTypeOverride($realType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the overide type for the give type.
|
||||||
|
*
|
||||||
|
* @param string $type
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
protected function getTypeOverride($type)
|
||||||
|
{
|
||||||
|
$typeOverrides = $this->laravel['config']->get('ide-helper.type_overrides', array());
|
||||||
|
|
||||||
|
return isset($typeOverrides[$type]) ? $typeOverrides[$type] : $type;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load the properties from the database table.
|
* Load the properties from the database table.
|
||||||
*
|
*
|
||||||
|
|||||||
+3
-4
@@ -118,7 +118,7 @@ class Generator
|
|||||||
{
|
{
|
||||||
$defaultUserModel = config('auth.providers.users.model', config('auth.model', 'App\User'));
|
$defaultUserModel = config('auth.providers.users.model', config('auth.model', 'App\User'));
|
||||||
$this->interfaces['\Illuminate\Contracts\Auth\Authenticatable'] = $defaultUserModel;
|
$this->interfaces['\Illuminate\Contracts\Auth\Authenticatable'] = $defaultUserModel;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (class_exists('Auth') && is_a('Auth', '\Illuminate\Support\Facades\Auth', true)) {
|
if (class_exists('Auth') && is_a('Auth', '\Illuminate\Support\Facades\Auth', true)) {
|
||||||
if (class_exists('\Illuminate\Foundation\Application')) {
|
if (class_exists('\Illuminate\Foundation\Application')) {
|
||||||
@@ -182,7 +182,6 @@ class Generator
|
|||||||
}
|
}
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -200,7 +199,7 @@ class Generator
|
|||||||
if ($facade == 'Illuminate\Support\Facades\Redis' && !class_exists('Predis\Client')) {
|
if ($facade == 'Illuminate\Support\Facades\Redis' && !class_exists('Predis\Client')) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$magicMethods = array_key_exists($name, $this->magic) ? $this->magic[$name] : array();
|
$magicMethods = array_key_exists($name, $this->magic) ? $this->magic[$name] : array();
|
||||||
$alias = new Alias($name, $facade, $magicMethods, $this->interfaces);
|
$alias = new Alias($name, $facade, $magicMethods, $this->interfaces);
|
||||||
if ($alias->isValid()) {
|
if ($alias->isValid()) {
|
||||||
@@ -246,7 +245,7 @@ class Generator
|
|||||||
'Storage' => 'Illuminate\Support\Facades\Storage',
|
'Storage' => 'Illuminate\Support\Facades\Storage',
|
||||||
//'Validator' => 'Illuminate\Support\Facades\Validator',
|
//'Validator' => 'Illuminate\Support\Facades\Validator',
|
||||||
];
|
];
|
||||||
|
|
||||||
$facades = array_merge($facades, $this->config->get('app.aliases', []));
|
$facades = array_merge($facades, $this->config->get('app.aliases', []));
|
||||||
|
|
||||||
// Only return the ones that actually exist
|
// Only return the ones that actually exist
|
||||||
|
|||||||
Reference in New Issue
Block a user