Upgrading to PHP 7.4 Fatal error Class not found

After upgrading PHP 7.3.5 to 7.4, we got this error:

Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Class 'TaxonomyLocale' not found in /tmp/sage-cache/tempfile.php

This is caused by calling a function from a class extends Controller in the blade template /resources/views/taxonomy-locale.blade.php

Code below:
<div class="location-wrap {{ TaxonomyLocale::featured_class($i, $num, $mod) }}">

TaxonomyLocale class is declared in ‘app/controllers/taxonomy-locale.php’:

<?php
namespace App;
use Sober\Controller\Controller;
use WP_Query;

class TaxonomyLocale extends Controller
{...

public static function featured_class($count, $total, $mod) {..}

...}

If anyone could help, I would appreciate it very much.

Does this work:

<div class="location-wrap {{ \App\TaxonomyLocale::featured_class($i, $num, $mod) }}">
1 Like

Thanks, @alwaysblank! That definitely helps! Still not sure why it is not working on PHP 7.4. Maybe autoload has some problem we are still using the Sage 9.0.0-beta4 version.

But the page still got a bunch of undefined variables. These are also coming from the same controller.

I tried to load the namespace via use App\TaxonomyLocale it is working with functions without prefix with \App\TaxonomyLocale but not sure why it is not working with variables.

This topic was automatically closed after 42 days. New replies are no longer allowed.