Browse Source

Merge branch 'arr-has-nested-key' of mrcat323/laravel-macros into master

Mr. CaT 🐈 1 year ago
parent
commit
2520438ed7
3 changed files with 44 additions and 15 deletions
  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(),
 
     /*