39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Automatically alias Laravel Model's to their base classname.
|
||
|
* Ex: "App\Models\User" now can just be accessed by "User"
|
||
|
*/
|
||
|
|
||
|
if (! function_exists('aliasModels')) {
|
||
|
function aliasModels() {
|
||
|
$finder = new \Symfony\Component\Finder\Finder();
|
||
|
$finder->files()->name('*.php')->in(base_path().'/app');
|
||
|
foreach ($finder as $file) {
|
||
|
$namespace = 'App\\';
|
||
|
if ($relativePath = $file->getRelativePath()) {
|
||
|
$namespace .= strtr($relativePath, '/', '\\') . '\\';
|
||
|
}
|
||
|
$class = $namespace . $file->getBasename('.php');
|
||
|
try {
|
||
|
$r = new \ReflectionClass($class);
|
||
|
if ($r->isSubclassOf('Illuminate\\Database\\Eloquent\\Model')) {
|
||
|
class_alias($class, $file->getBasename('.php'));
|
||
|
}
|
||
|
} catch (Exception $e) {
|
||
|
//
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
aliasModels();
|
||
|
|
||
|
return [
|
||
|
'startupMessage' => '<info>Using local config file (tinker.config.php)</info>',
|
||
|
|
||
|
'commands' => [
|
||
|
// new \App\Tinker\TestCommand,
|
||
|
],
|
||
|
];
|