AppServiceProvider.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Providers;
  3. use App\Http\Controllers\Controller;
  4. use App\Services\OrderIssuePerformanceService;
  5. use Illuminate\Queue\Events\JobFailed;
  6. use Illuminate\Support\Facades\Queue;
  7. use Illuminate\Support\Facades\Schema;
  8. use Illuminate\Support\Facades\View;
  9. use Illuminate\Support\ServiceProvider;
  10. use Ramsey\Uuid\Uuid;
  11. use Validator;
  12. class AppServiceProvider extends ServiceProvider
  13. {
  14. /**
  15. * Register any application services.
  16. *
  17. * @return void
  18. */
  19. public function register()
  20. {
  21. //
  22. app()->singleton('orderIssuePerformanceService',OrderIssuePerformanceService::class);
  23. }
  24. /**
  25. * Bootstrap any application services.
  26. *
  27. * @return void
  28. */
  29. public function boot()
  30. {
  31. //
  32. Schema::defaultStringLength(191);
  33. Queue::failing(function (JobFailed $event) {
  34. (new Controller())->log(__METHOD__,'EventError_',json_encode($event));
  35. });
  36. //扩展身份证验证规则
  37. Validator::extend('identity_cards', function($attribute, $value, $parameters) {
  38. return preg_match('/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/', $value);
  39. });
  40. View::share('pageUuid',Uuid::uuid4());
  41. \Illuminate\Database\Query\Builder::macro('sql', function () {
  42. $bindings = $this->getBindings();
  43. $sql = str_replace('?','%s',$this->toSql());
  44. return vsprintf($sql, $bindings);
  45. });
  46. \Illuminate\Database\Eloquent\Builder::macro('sql', function(){
  47. return ($this->getQuery()->sql());
  48. });
  49. }
  50. }