PHP Pamokos

Naujos password_hash funkcijos nuo PHP 5.5 versijos

Slaptažodžių kodavimas yra viena "karščiausių" temų programavimo pasaulyje - egzistuoja eilė algoritmų. Jau seniai žinoma apie MD5 nesaugumą, ir daug kas naudoja bcrypt, o nuo PHP 5.5 versijos pasirodė specialios funkcijos, su kuriomis koduoti slaptažodžius tapo visai paprasta.

Kaip greitai peržiūrėti Laravel log failą su Artisan

Laravel turi vieną log-failą, į kurį įrašo visas klaidas ir šiaip pranešimus - tai yra app/storage/logs/laravel.log. Ir jį peržiūrėti su komandine eilute kartais vargina - rašyti "tail app/storage/logs/laravel.log" kiekvieną kartą vargina. Laimei, yra paprastesnis būdas - mums padės Artisan.

CodeIgniter - klaidų rodymas ir skirtingos aplinkos

Klaidų rodymas naršyklėje PHP kalboje yra labai įdomi tema - yra įvairių klaidų "sunkumo" tipų (fatal, warning, notice, parse ir kt.), už jų rodymo nustatymus atsakinga funkcija error_reporting(). Bet dažniausiai būna poreikis rodyti klaidas lokalioje versijoje, ir slėpti jas nuo realių lankytojų "production" versijoje. Pažiūrėkime, kaip paprastai tai galima nustatyti CodeIgniter frameworke.

Laravel - savo konfigūracijos failų kūrimas

Laravel savo viduje siūlo nemažai konfigūracijos failų kataloge app/config - kiekvienas turi savo paskirtį: database.php, cache.php, mail.php ir kt. Bet kartais to neužtenka - sakykime, integruojame kokią nors kitą sistemą (Mailchimp, Paysera ar pan.) ir norime kažkur įdėti API raktus. Tam galime sukurti savo config-failus.

WordWrap, arba kaip greitai suskaidyti tekstą į kelias eilutes

Neseniai susidūriau su problema: formuojant PDF sąskaitą-faktūrą su DomPDF, adresas per dvi eilutes gaudavosi "negražus" - reikėjo suskaidyti pačiam adresą į dvi eilutes, kad pirma eilutė būtų ne daugiau nei X simbolių, o visas kitas likutis eitų į antrą eilutę. Laimei, su PHP tai labai paprasta.

Laravel Eloquent Accessors - laukų pakeitimai

Labai reta situacija, bet man prireikė: sakykime, kad ištraukus duomenis iš duomenų bazės, su konkrečiu lauku reikia atlikti nedidelius pakeitimus - padidinti pirmąją raidę, užšifruoti ar pakeisti iš string į integer. Būtent su pastaruoju atveju ir susidūriau.

Codeigniter "nematomas" DB nustatymas

Codeigniter kaip frameworkas yra neblogas greitam startui, bet dirbant su didesnių duomenų bazių projektais, teko pastebėti kad MySQL neatlaiko apkrovimų. Pasiaiškinus, pasirodė viskas dėl vieno default nustatymo.