AppServiceProvider.php 1.8 KB

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