Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

XEM Fast Rep - count() error

Założony przez  indovsky.

Adres forum:
www.e-raper.pl


Wersja silnika:
1.8.x


Opis problemu:
Witam. Mam problem z wtyczką XEM Fast Rep. Po zainstalowaniu wtyczki pojawia się błąd
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 587 - File: inc/plugins/xem_fast_rep.php PHP 7.2.3 (Linux)
Ktoś wie jak to naprawić? W pliku xem_fast_rep.php nic nie zmieniałem, a w google nie znalazłem podobnego problemu. Z góry dziękuję
Problem rozwiązany. Problemem było count(); w php 7.2. Wystarczy zamienić 
$count_likeThis = count($likeThis);
na
if (isset($likeThis)) {
    $count_likeThis = count($likeThis);
}
Nie wiem czy jest to dobre i bezpieczne rozwiązanie, ale działa. Zostawiam dla potomnych :D
Młody front-end, młody raper. Aktualnie robię sobie forum o rapie.
5!
Generalnie lepiej byłoby poprawić $likeThis, ale te rozwiązanie także będzie działać.
Jak zrobiłeś to w ten sposób to dodaj jeszcze $count_likeThis = 0; przed tym ifem. Teraz może być przypadek kiedy $count_likeThis będzie niezdefiniowane.
(05.01.2019, 11:42)Matslom napisał(a): Generalnie lepiej byłoby poprawić $likeThis, ale te rozwiązanie także będzie działać.
Jak zrobiłeś to w ten sposób to dodaj jeszcze $count_likeThis = 0; przed tym ifem. Teraz może być przypadek kiedy $count_likeThis będzie niezdefiniowane.

Tylko, że $likeThis jest tablicą i nie mam pojęcia dlaczego to wywalało błąd 
Młody front-end, młody raper. Aktualnie robię sobie forum o rapie.
5!
Widocznie w jakimś przypadku jest ona niedefiniowana.
Lepszym rozwiązaniem jest powrót do tej linijki:
$count_likeThis = count($likeThis);
I przed nią wstawić to:
if (!isset($likeThis) || !is_array($likeThis)) {
   $likeThis = [];
}
Teraz zajrzałem do tej wtyczki, jak już upieramy się przy najlepszym rozwiązaniu, to wystarczy
$count_likeThis = count($likeThis);
if(is_array($likeThis))
{
zamienić na
if(is_array($likeThis)) {
    $count_likeThis = count($likeThis);
zamiast dublować funkcjonalność.



Użytkownicy przeglądający ten wątek:

2 gości