Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
maatwebsite
/
excel
/
src
/
Console
:
WithModelStub.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Maatwebsite\Excel\Console; use Illuminate\Support\Str; use InvalidArgumentException; trait WithModelStub { /** * Build the model replacement values. * * @param array $replace * @return array */ protected function buildModelReplacements(array $replace): array { $modelClass = $this->parseModel($this->option('model')); return array_merge($replace, [ 'DummyFullModelClass' => $modelClass, 'DummyModelClass' => class_basename($modelClass), ]); } /** * Get the fully-qualified model class name. * * @param string $model * @return string */ protected function parseModel($model): string { if (preg_match('([^A-Za-z0-9_/\\\\])', $model)) { throw new InvalidArgumentException('Model name contains invalid characters.'); } $model = ltrim($model, '\\/'); $model = str_replace('/', '\\', $model); $rootNamespace = $this->rootNamespace(); if (Str::startsWith($model, $rootNamespace)) { return $model; } $model = is_dir(app_path('Models')) ? $rootNamespace . 'Models\\' . $model : $rootNamespace . $model; return $model; } /** * Resolve the fully-qualified path to the stub. * * @param string $stub * @return string */ protected function resolveStubPath($stub) { return file_exists($customPath = $this->laravel->basePath(trim($stub, '/'))) ? $customPath : __DIR__ . $stub; } }