Symfony Exception

ErrorException

HTTP 500 Internal Server Error

foreach() argument must be of type array|object, bool given

Exception

ErrorException

  1.     public static function getUsedProductsWithColor($usedProducts)
  2.     {
  3.         $products $usedProducts;
  4.         foreach($products AS $product) {
  5.             $categories get_the_category($product->ID);
  6.             $parent_cat null;
  7.             foreach($categories as $category) {
  1.      * @throws \ErrorException
  2.      */
  3.     public function handleError($level$message$file ''$line 0$context = [])
  4.     {
  5.         try {
  6.             parent::handleError($level$message$file$line$context);
  7.         } catch (Throwable $e) {
  8.             if (! apply_filters('acorn/throw_error_exception'true$e)) {
  9.                 return false;
  10.             }
  1.     public static function getUsedProductsWithColor($usedProducts)
  2.     {
  3.         $products $usedProducts;
  4.         foreach($products AS $product) {
  5.             $categories get_the_category($product->ID);
  6.             $parent_cat null;
  7.             foreach($categories as $category) {
Reference::getUsedProductsWithColor() in /home/ubuntu/stage/web/themes/murexin/app/View/Composers/Reference.php (line 29)
  1.     {
  2.         return [
  3.             'all_references' => ReferencesArchive::getAllReferences(),
  4.             'featured_image_slideshow' => get_field('featured_image_slideshow'),
  5.             'references_title' => get_the_title(),
  6.             'references_used_products' => $this->getUsedProductsWithColor(get_field('used_products'), get_field('product_category')),
  7.             'references_cats' => $this->getReferencePrimaryCategoryWithColorget_field('product_category') ),
  8.             'filter_categories' => CatFilter::getFilterCats(ReferencesArchive::getAllReferences()),
  9.         ];
  10.     }
  1.      * @return array
  2.      */
  3.     protected function merge()
  4.     {
  5.         return array_merge(
  6.             $this->with(),
  7.             $this->view->getData(),
  8.             $this->override()
  9.         );
  10.     }
  1.     public function compose(View $view)
  2.     {
  3.         $this->view $view;
  4.         $this->data = new Fluent($view->getData());
  5.         $view->with($this->merge());
  6.     }
  7.     /**
  8.      * Data to be merged and passed to the view before rendering.
  9.      *
  1.         // Once we have the class and method name, we can build the Closure to resolve
  2.         // the instance out of the IoC container and call the method on it with the
  3.         // given arguments that are passed to the Closure as the composer's data.
  4.         return function () use ($class$method) {
  5.             return $this->container->make($class)->{$method}(...func_get_args());
  6.         };
  7.     }
  8.     /**
  9.      * Parse a class based composer name.
in /var/www/stage/vendor/illuminate/events/Dispatcher.php -> Illuminate\View\Concerns\{closure} (line 404)
  1.         return function ($event$payload) use ($listener$wildcard) {
  2.             if ($wildcard) {
  3.                 return $listener($event$payload);
  4.             }
  5.             return $listener(...array_values($payload));
  6.         };
  7.     }
  8.     /**
  9.      * Create a class based listener using the IoC container.
in /var/www/stage/vendor/illuminate/events/Dispatcher.php -> Illuminate\Events\{closure} (line 249)
  1.         }
  2.         $responses = [];
  3.         foreach ($this->getListeners($event) as $listener) {
  4.             $response $listener($event$payload);
  5.             // If a response is returned from the listener and event halting is enabled
  6.             // we will just return this response, and not call the rest of the event
  7.             // listeners. Otherwise we will add the response on the response list.
  8.             if ($halt && ! is_null($response)) {
  1.      * @param  \Illuminate\Contracts\View\View  $view
  2.      * @return void
  3.      */
  4.     public function callComposer(ViewContract $view)
  5.     {
  6.         $this->events->dispatch('composing: '.$view->name(), [$view]);
  7.     }
  8.     /**
  9.      * Call the creator for a given view.
  10.      *
  1.         // We will keep track of the amount of views being rendered so we can flush
  2.         // the section after the complete rendering operation is done. This will
  3.         // clear out the sections for any separate views that may be rendered.
  4.         $this->factory->incrementRender();
  5.         $this->factory->callComposer($this);
  6.         $contents $this->getContents();
  7.         // Once we've finished rendering the view, we'll decrement the render count
  8.         // so that each sections get flushed out next time a view is created and
  1.      * @throws \Throwable
  2.      */
  3.     public function render(callable $callback null)
  4.     {
  5.         try {
  6.             $contents $this->renderContents();
  7.             $response = isset($callback) ? $callback($this$contents) : null;
  8.             // Once we have the contents of the view, we will flush the sections if we are
  9.             // done rendering all views so that there is nothing left hanging over when
  1. <body <?php body_class( ); ?>>
  2.   <?php wp_body_open(); ?>
  3.   <?php do_action('get_header'); ?>
  4.   <div id="app">
  5.     <?php echo view(app('sage.view'), app('sage.data'))->render(); ?>
  6.   </div>
  7.   <?php do_action('get_footer'); ?>
  8.   <?php wp_footer(); ?>
  9. </body>
include('/home/ubuntu/stage/web/themes/murexin/index.php') in /var/www/stage/web/wp/wp-includes/template-loader.php (line 106)
  1.      *
  2.      * @param string $template The path of the template to include.
  3.      */
  4.     $template apply_filters'template_include'$template );
  5.     if ( $template ) {
  6.         include $template;
  7.     } elseif ( current_user_can'switch_themes' ) ) {
  8.         $theme wp_get_theme();
  9.         if ( $theme->errors() ) {
  10.             wp_die$theme->errors() );
  11.         }
require_once('/var/www/stage/web/wp/wp-includes/template-loader.php') in /var/www/stage/web/wp/wp-blog-header.php (line 19)
  1.     // Set up the WordPress query.
  2.     wp();
  3.     // Load the theme template.
  4.     require_once ABSPATH WPINC '/template-loader.php';
  5. }
require('/var/www/stage/web/wp/wp-blog-header.php') in /var/www/stage/web/index.php (line 11)
  1. /**
  2.  * WordPress View Bootstrapper
  3.  */
  4. define('WP_USE_THEMES'true);
  5. require __DIR__ '/wp/wp-blog-header.php';

Stack Trace

ErrorException
ErrorException:
foreach() argument must be of type array|object, bool given

  at /home/ubuntu/stage/web/themes/murexin/app/View/Composers/Reference.php:59
  at Illuminate\Foundation\Bootstrap\HandleExceptions->handleError()
     (/var/www/stage/vendor/roots/acorn/src/Roots/Acorn/Bootstrap/HandleExceptions.php:54)
  at Roots\Acorn\Bootstrap\HandleExceptions->handleError()
     (/home/ubuntu/stage/web/themes/murexin/app/View/Composers/Reference.php:59)
  at App\View\Composers\Reference::getUsedProductsWithColor()
     (/home/ubuntu/stage/web/themes/murexin/app/View/Composers/Reference.php:29)
  at App\View\Composers\Reference->with()
     (/var/www/stage/vendor/roots/acorn/src/Roots/Acorn/View/Composer.php:70)
  at Roots\Acorn\View\Composer->merge()
     (/var/www/stage/vendor/roots/acorn/src/Roots/Acorn/View/Composer.php:59)
  at Roots\Acorn\View\Composer->compose()
     (/var/www/stage/vendor/illuminate/view/Concerns/ManagesEvents.php:124)
  at Illuminate\View\Factory->Illuminate\View\Concerns\{closure}()
     (/var/www/stage/vendor/illuminate/events/Dispatcher.php:404)
  at Illuminate\Events\Dispatcher->Illuminate\Events\{closure}()
     (/var/www/stage/vendor/illuminate/events/Dispatcher.php:249)
  at Illuminate\Events\Dispatcher->dispatch()
     (/var/www/stage/vendor/illuminate/view/Concerns/ManagesEvents.php:177)
  at Illuminate\View\Factory->callComposer()
     (/var/www/stage/vendor/illuminate/view/View.php:120)
  at Illuminate\View\View->renderContents()
     (/var/www/stage/vendor/illuminate/view/View.php:91)
  at Illuminate\View\View->render()
     (/home/ubuntu/stage/web/themes/murexin/index.php:38)
  at include('/home/ubuntu/stage/web/themes/murexin/index.php')
     (/var/www/stage/web/wp/wp-includes/template-loader.php:106)
  at require_once('/var/www/stage/web/wp/wp-includes/template-loader.php')
     (/var/www/stage/web/wp/wp-blog-header.php:19)
  at require('/var/www/stage/web/wp/wp-blog-header.php')
     (/var/www/stage/web/index.php:11)