批改状态:合格
老师批语:作业尽可能不要集中在双休日提交
<?phpnamespace App\Providers;//DB类所在的命名空间,如果想扩展DB类,必须先引入DB类use Illuminate\Database\Query\Builder as QueryBuilder;use Illuminate\Support\ServiceProvider;class DBServiceProvider extends ServiceProvider{//把需要扩展的方法写在boot()方法中public function boot(){//macro('扩展方法名',function(){实现该方法})//扩展DB类中的查询结果集的方法,把结果集转换为数组QueryBuilder::macro('lists',function(){$data = $this->get()->toArray();foreach($data as $item):$res[]=(array)$item;endforeach;return $res;});//扩展DB类中的查询结果为一条记录,把结果转换为数组QueryBuilder::macro('item',function(){$data = $this->get()->first();$data = (array)$data;return $data;});//扩展DB类中的查询结果为数组的索引转换为记录的索引//也可以传递参数QueryBuilder::macro('cate',function($index){$data = $this->lists();foreach($data as $item)://把查询结果集中的索引转换为记录中索引号$res[$item[$index]]=(array)$item;endforeach;return $res;});}}
<?phpreturn [/*|--------------------------------------------------------------------------| Application Name|--------------------------------------------------------------------------|| This value is the name of your application. This value is used when the| framework needs to place the application's name in a notification or| any other location as required by the application or its packages.|*/'name' => env('APP_NAME', 'Laravel'),/*|--------------------------------------------------------------------------| Application Environment|--------------------------------------------------------------------------|| This value determines the "environment" your application is currently| running in. This may determine how you prefer to configure various| services the application utilizes. Set this in your ".env" file.|*/'env' => env('APP_ENV', 'production'),/*|--------------------------------------------------------------------------| Application Debug Mode|--------------------------------------------------------------------------|| When your application is in debug mode, detailed error messages with| stack traces will be shown on every error that occurs within your| application. If disabled, a simple generic error page is shown.|*/'debug' => (bool) env('APP_DEBUG', false),/*|--------------------------------------------------------------------------| Application URL|--------------------------------------------------------------------------|| This URL is used by the console to properly generate URLs when using| the Artisan command line tool. You should set this to the root of| your application so that it is used when running Artisan tasks.|*/'url' => env('APP_URL', 'http://localhost'),'asset_url' => env('ASSET_URL', null),/*|--------------------------------------------------------------------------| Application Timezone|--------------------------------------------------------------------------|| Here you may specify the default timezone for your application, which| will be used by the PHP date and date-time functions. We have gone| ahead and set this to a sensible default for you out of the box.|*/'timezone' => 'Asia/Shanghai',/*|--------------------------------------------------------------------------| Application Locale Configuration|--------------------------------------------------------------------------|| The application locale determines the default locale that will be used| by the translation service provider. You are free to set this value| to any of the locales which will be supported by the application.|*/'locale' => 'en',/*|--------------------------------------------------------------------------| Application Fallback Locale|--------------------------------------------------------------------------|| The fallback locale determines the locale to use when the current one| is not available. You may change the value to correspond to any of| the language folders that are provided through your application.|*/'fallback_locale' => 'en',/*|--------------------------------------------------------------------------| Faker Locale|--------------------------------------------------------------------------|| This locale will be used by the Faker PHP library when generating fake| data for your database seeds. For example, this will be used to get| localized telephone numbers, street address information and more.|*/'faker_locale' => 'en_US',/*|--------------------------------------------------------------------------| Encryption Key|--------------------------------------------------------------------------|| This key is used by the Illuminate encrypter service and should be set| to a random, 32 character string, otherwise these encrypted strings| will not be safe. Please do this before deploying an application!|*/'key' => env('APP_KEY'),'cipher' => 'AES-256-CBC',/*|--------------------------------------------------------------------------| Autoloaded Service Providers|--------------------------------------------------------------------------|| The service providers listed here will be automatically loaded on the| request to your application. Feel free to add your own services to| this array to grant expanded functionality to your applications.|*/'providers' => [/** Laravel Framework Service Providers...*/Illuminate\Auth\AuthServiceProvider::class,Illuminate\Broadcasting\BroadcastServiceProvider::class,Illuminate\Bus\BusServiceProvider::class,Illuminate\Cache\CacheServiceProvider::class,Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,Illuminate\Cookie\CookieServiceProvider::class,Illuminate\Database\DatabaseServiceProvider::class,Illuminate\Encryption\EncryptionServiceProvider::class,Illuminate\Filesystem\FilesystemServiceProvider::class,Illuminate\Foundation\Providers\FoundationServiceProvider::class,Illuminate\Hashing\HashServiceProvider::class,Illuminate\Mail\MailServiceProvider::class,Illuminate\Notifications\NotificationServiceProvider::class,Illuminate\Pagination\PaginationServiceProvider::class,Illuminate\Pipeline\PipelineServiceProvider::class,Illuminate\Queue\QueueServiceProvider::class,Illuminate\Redis\RedisServiceProvider::class,Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,Illuminate\Session\SessionServiceProvider::class,Illuminate\Translation\TranslationServiceProvider::class,Illuminate\Validation\ValidationServiceProvider::class,Illuminate\View\ViewServiceProvider::class,/** Package Service Providers...*//** Application Service Providers...*/App\Providers\AppServiceProvider::class,App\Providers\AuthServiceProvider::class,// App\Providers\BroadcastServiceProvider::class,App\Providers\EventServiceProvider::class,App\Providers\RouteServiceProvider::class,//**************************************//扩展DBServiceProvider类App\Providers\DBServiceProvider::class,//******************************************],/*|--------------------------------------------------------------------------| Class Aliases|--------------------------------------------------------------------------|| This array of class aliases will be registered when this application| is started. However, feel free to register as many as you wish as| the aliases are "lazy" loaded so they don't hinder performance.|*/'aliases' => ['App' => Illuminate\Support\Facades\App::class,'Arr' => Illuminate\Support\Arr::class,'Artisan' => Illuminate\Support\Facades\Artisan::class,'Auth' => Illuminate\Support\Facades\Auth::class,'Blade' => Illuminate\Support\Facades\Blade::class,'Broadcast' => Illuminate\Support\Facades\Broadcast::class,'Bus' => Illuminate\Support\Facades\Bus::class,'Cache' => Illuminate\Support\Facades\Cache::class,'Config' => Illuminate\Support\Facades\Config::class,'Cookie' => Illuminate\Support\Facades\Cookie::class,'Crypt' => Illuminate\Support\Facades\Crypt::class,'DB' => Illuminate\Support\Facades\DB::class,'Eloquent' => Illuminate\Database\Eloquent\Model::class,'Event' => Illuminate\Support\Facades\Event::class,'File' => Illuminate\Support\Facades\File::class,'Gate' => Illuminate\Support\Facades\Gate::class,'Hash' => Illuminate\Support\Facades\Hash::class,'Http' => Illuminate\Support\Facades\Http::class,'Lang' => Illuminate\Support\Facades\Lang::class,'Log' => Illuminate\Support\Facades\Log::class,'Mail' => Illuminate\Support\Facades\Mail::class,'Notification' => Illuminate\Support\Facades\Notification::class,'Password' => Illuminate\Support\Facades\Password::class,'Queue' => Illuminate\Support\Facades\Queue::class,'Redirect' => Illuminate\Support\Facades\Redirect::class,'Redis' => Illuminate\Support\Facades\Redis::class,'Request' => Illuminate\Support\Facades\Request::class,'Response' => Illuminate\Support\Facades\Response::class,'Route' => Illuminate\Support\Facades\Route::class,'Schema' => Illuminate\Support\Facades\Schema::class,'Session' => Illuminate\Support\Facades\Session::class,'Storage' => Illuminate\Support\Facades\Storage::class,'Str' => Illuminate\Support\Str::class,'URL' => Illuminate\Support\Facades\URL::class,'Validator' => Illuminate\Support\Facades\Validator::class,'View' => Illuminate\Support\Facades\View::class,],];
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号