Tag: PHP

Przechwytywanie poczty z MailCatcher w PHP

Łukasz Piotrowski Komentarzy 0

MailCatcher to mały serwer SMTP który po skonfigurowaniu naszych skryptów bądź PHP będzie przechwytywał wszystkie wysyłane mejle.

Dzięki wbudowanemu interfejsowi Web będziemy mogli przeglądać je bezpośrednio w przeglądarce.


Kategorie: Serwery

PHP Parser Error Handler

Łukasz Piotrowski Komentarzy 0

Wiele ludzi żyje w przekonaniu że Parser Error nie da się złapać. Bo niby jak? Oto bardzo prosty przepis.

Tworzymy plik np. globalErrorHandler.php a w nim:

register_shutdown_function("shutdownHandler");
function shutdownHandler()
{
    $lasterror = error_get_last();
    switch ($lasterror['type'])
    {
        case E_ERROR:
        case E_CORE_ERROR:
        case E_COMPILE_ERROR:
        case E_USER_ERROR:
        case E_RECOVERABLE_ERROR:
        case E_CORE_WARNING:
        case E_COMPILE_WARNING:
        case E_PARSE:
            $error = "[SHUTDOWN] lvl:" . $lasterror['type'] . " | msg:" . $lasterror['message'] . " | file:" . $lasterror['file'] . " | ln:" . $lasterror['line'];
            die($error);
    }
}

Obsługę błędów możemy oczywiście dowolnie modyfikować, włącznie z wysłaniem maila do siebie.

Aby to zadziałało dodajemy do php.ini do zmiennej auto_prepend_fileścieżkę bezwzględną do naszego pliku.
Jeśli nie mamy dostępu bezpośrednio/pośrednio do php.ini to możemy włączyć to w .htaccess podając
php_value auto_prepend_file "adres/do/pliku.php

Koniec. Od teraz mamy obsługę błedów m.in. Parser Error.


Kategorie: PHP

PHP – Array flattern function

Łukasz Piotrowski Komentarzy 0

Hej.

Dziś na własne potrzeby musiałem stworzyć funkcję w PHP która z wielowymiarowej tablicy wyciągnie mi wszystkie tablice z wartościami i przeniesie je na zerowy poziom.
Brzmi dziwnie ale przykład może wyjaśni. Zapraszam


Kategorie: PHP

PHP i magiczne -0

Łukasz Piotrowski Komentarzy 0

Dziś podczas codziennego firmowego programowania przyszło mi zmieniać kod który ktoś już kiedyś napisał. Było tam sporo ciekawych kwiatków np:

    if(!isset($mod_price)) $mod_price = '-0.00';

Później w kodzie ktoś napisał że pojawia mu się czasami "-0.00" i trzeba zazstosować fix w postaci:

$price_mod = ((float)$price_mod + 1 ) - 1;

Myślę sobie ok. Skoro tak jest no trudno.

Jednak cała sytuacja wynikała z zastosowanej techniki dodawania modyfikatora ceny do ceny produktu.


Kategorie: PHP
Tagi: PHP
Top