Problem z funkcją call_user_func_array

Problem z funkcją call_user_func_array
K0
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 4 lata
  • Postów:25
0

Witam,
mam problem z funkcją call_user_func_array, którą używam w swoim projekcie do wywoływania metod z kontrolera, a mianowicie jeśli w urlu podam za mało argumentów metody, dostaję taką oto odpowiedź 'Fatal error: Uncaught ArgumentCountError: Too few arguments to function ...' chciałbym jednak w takim wypadku przekierować użytkownika na inną stronę. W dokumentacji wyczytałem, że ta funkcja zwraca false jeśli wystąpi error, natomiast na forach znalazłem, że można też spróbować wyłapywać wyjątki za pomocą try catcha jednak w moim przypadku żadne z tych rozwiązań nie pozwala na wyświetlenie własnego komunikatu errora.

Kopiuj
        try {
            $result = call_user_func_array([$this->controller, $this->url[1]], $params);
        } catch (Exception $e) {
            die('Wrong args');
        }
        
        
        if ($result == false) {
            die('Wrong args');
        }

Czy ktoś może spotkał się z takim problemem i wie lub podejżewa jak go można rozwiązać?? Za pomoc z góry dziękuję.

edytowany 1x, ostatnio: cerrato
serek
  • Rejestracja:około 11 lat
  • Ostatnio:około 3 godziny
  • Postów:1475
1

Gdybyś sprawdził dokumentację, to byś zauważył, że ArgumentCountError nie dziedziczy z Exception.

K0
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 4 lata
  • Postów:25
0

Faktycznie :) dzięki wielkie. Sprawdzałem tylko funkcję w dokumentacji, a potem się zasugerowałem poradom do innego wątku z forum i zupełnie to przeoczyłem.

edytowany 1x, ostatnio: kris016

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.