Просмотр исходного кода

Splitting to providers

Array macros in provider
Mr. CaT 1 год назад
Родитель
Сommit
5dc8319f95
3 измененных файлов с 44 добавлено и 15 удалено
  1. 1 15
      app/Providers/AppServiceProvider.php
  2. 39 0
      app/Providers/Macros/ArrayProvider.php
  3. 4 0
      config/app.php

+ 1 - 15
app/Providers/AppServiceProvider.php

@@ -20,20 +20,6 @@ class AppServiceProvider extends ServiceProvider
      */
     public function boot(): void
     {
-        // Some array macros
-        // Searching for key in nested array
-        Arr::macro('hasNestedKey', function ($key, $array) {
-            if (array_key_exists($key, $array)) {
-                return true;
-            }
-
-            foreach ($array as $element) {
-                if (is_array($element)) {
-                    return Arr::hasNestedKey($key, $element);
-                }
-            }
-
-            return false;
-        });
+        // 
     }
 }

+ 39 - 0
app/Providers/Macros/ArrayProvider.php

@@ -0,0 +1,39 @@
+<?php
+
+namespace App\Providers\Macros;
+
+use Illuminate\Support\Arr;
+use Illuminate\Support\ServiceProvider;
+
+class ArrayProvider extends ServiceProvider
+{
+    /**
+     * Register services.
+     */
+    public function register(): void
+    {
+        //
+    }
+
+    /**
+     * Bootstrap services.
+     */
+    public function boot(): void
+    {
+        // Some array macros
+        // Searching for key in nested array
+        Arr::macro('hasNestedKey', function ($key, $array) {
+            if (array_key_exists($key, $array)) {
+                return true;
+            }
+
+            foreach ($array as $element) {
+                if (is_array($element)) {
+                    return Arr::hasNestedKey($key, $element);
+                }
+            }
+
+            return false;
+        });
+    }
+}

+ 4 - 0
config/app.php

@@ -168,6 +168,10 @@ return [
         // App\Providers\BroadcastServiceProvider::class,
         App\Providers\EventServiceProvider::class,
         App\Providers\RouteServiceProvider::class,
+        /**
+         * Macros providers
+         */
+        App\Providers\Macros\ArrayProvider::class,
     ])->toArray(),
 
     /*