Programowanie daje mi to poczucie, że błąd może wystąpić tylko przy ograniczonych, mierzalnych parametrach systemu.
Nie to co w rzeczywistości.

Po
aktualizacji PHP do wersji 7.2 trzeba uważać na funkcję count() ponieważ od teraz będziemy otrzymywać „Warning” jeśli argumentem count nie będzie tablica. W miejscach gdzie mamy te ostrzeżenia oraz ogólnie – miejsca gdzie używamy tej funkcji warto stosować schemat:

zamiast zwykłego: $a = count($var);
zastosujemy zabezpieczenie np. $a = is_array($var) ? count($var) : 0;

W Smarty w w templatkach (tpl) widać w kodzie że programiści pozwalają sobie na stosowanie poniższego schematu który w tej wersji PHP da nam aktualnie:

Warning: count(): Parameter must be an array or an object that implements Countable in (…).tpl) files”.

Taki komunikat może początkowo wystraszyć że będzie trzeba przerabiać bibliotekę Smartów. Rozwiązanie jest natomiast proste w widoku:

{if $include|count==2}
{include file="modules/"|cat:$include[0]}
{include file="modules/"|cat:$include[1]}
{else}
{include file="modules/$include"}
{/if}

taki schemat trzeba przerobić na:

{if is_array($include) && $include|count==2}
{include file="modules/"|cat:$include[0]}
{include file="modules/"|cat:$include[1]}
{else}
{include file="modules/$include"}
{/if}

 


Napisz komentarz