Commit eceeeb80 authored by hj's avatar hj

更新

parent d6b3a2f2
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Filesystem\Filesystem; use Illuminate\Filesystem\Filesystem;
use Illuminate\Support\Str;
use Prettus\Repository\Providers\LumenRepositoryServiceProvider; use Prettus\Repository\Providers\LumenRepositoryServiceProvider;
class RepositoryServiceProvider extends LumenRepositoryServiceProvider class RepositoryServiceProvider extends LumenRepositoryServiceProvider
...@@ -20,42 +21,33 @@ class RepositoryServiceProvider extends LumenRepositoryServiceProvider ...@@ -20,42 +21,33 @@ class RepositoryServiceProvider extends LumenRepositoryServiceProvider
public function register() public function register()
{ {
parent::register(); // TODO: Change the autogenerated stub parent::register(); // TODO: Change the autogenerated stub
$this->bindRepository();
$this->bindRepository('app/Repositories/Contracts');
$this->bindRepository('app/Rhawn/Repositories/Contracts');
$this->bindRepository('app/Finance/Repositories/Contracts');
} }
protected function bindRepository() protected function bindRepository($path)
{ {
$fileObj = (new Filesystem()); $files = app(Filesystem::class)->allFiles(base_path($path));
$files = $fileObj->files(base_path('app/Repositories/Contracts'));
if($files){ if($files){
collect($files)->map(function ($file){ collect($files)->map(function ($file) use ($path){
$fileName = $file->getRelativePathname(); $filePath = $file->getRelativePathname();
list($name,$extend) = explode('.',$fileName); $class = str_replace('/', '\\', $path).'\\';
$class = "App\Repositories\Contracts\\".$name; if(!Str::contains($filePath, 'app')){
$concrete = "App\Repositories\Eloquent\\".$name."Eloquent"; $class = 'app\\'.$class;
$this->app->bind($class,$concrete);
});
} }
$class = ucfirst($class);
$files = $fileObj->files(base_path('app/Rhawn/Repositories/Contracts')); $concrete = str_replace('Contracts', 'Eloquent', $class);
if($files){ if(Str::contains($filePath,'/')){
collect($files)->map(function ($file){ list($directory, $file) = explode('/',$filePath);
$fileName = $file->getRelativePathname(); $class .= "$directory\\";
list($name,$extend) = explode('.',$fileName); $concrete .= "$directory\\";
$class = "App\Rhawn\Repositories\Contracts\\".$name; $filePath = $file;
$concrete = "App\Rhawn\Repositories\Eloquent\\".$name."Eloquent";
$this->app->bind($class,$concrete);
});
} }
list($name,$extend) = explode('.',$filePath);
$files = $fileObj->files(base_path('app/Finance/Repositories/Contracts')); $this->app->bind($class.$name, $concrete.$name."Eloquent");
if($files){
collect($files)->map(function ($file){
$fileName = $file->getRelativePathname();
list($name,$extend) = explode('.',$fileName);
$class = "App\Finance\Repositories\Contracts\\".$name;
$concrete = "App\Finance\Repositories\Eloquent\\".$name."Eloquent";
$this->app->bind($class,$concrete);
}); });
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment