Array dereferencing in PHP 5.4.0!

Na bijna 4 jaar is het dan zover! Mijn idee zit in de recentste PHP versie (5.4.0)! Het zal wel niet helemaal te maken hebben dankzij mijn blogpost maar toch vind ik het leuk dat er een concept is uitgewerkt. De andere features van PHP 5.4.0 vind je op de volgende  link. Enjoy!

http://docs.php.net/manual/en/migration54.new-features.php

Advertenties

PHP: encrypt/decrypt geeft andere data….

Ik ben bezig aan een project waarbij ik login data encrypted opsla in sessies en cookies. Nu gebruik ik de mcrypt functies in PHP. Ik was dingen aan het testen maar om de één of andere reden was de data die nog niet encrypted was korter dan de decryptie van de encryptie. Encryptie werkt blijkbaar met blocks en als een block niet helemaal vol zit, dan gaat de functie data toevoegen achteraan de encryptie. Het is lastig om te detecteren want de zie je niet in een var_dump of dergelijke. Dus als je data decrypt met mcrypt, voer dan een rtrim uit zodat de achteraan weg zijn.

return rtrim(mcrypt_decrypt(self::$_algorithm, self::$_privateKey, $data, self::$_mode), “\4”);

Waar zijn de systray icons?

Leuk als je iconen gaan weglopen van je systray.

PDF’s met PHP maken

Als je een website maakt (bv een webshop) dan kan het handig zijn om bepaalde zaken als PDF aan te bieden aan de gebruiker. Voor een webshop moest ik de bestellingen in PDF vorm doorsturen naar de klant. Via bepaalde libraries kan je zelf je PDF’s maken maar als je een tabel moet maken of een font hier en andere font daar, dan ben je letterlijk dagen bezig. Dus ging ik zoeken naar een makkelijkere oplossing. Toen kwam ik mPDF tegen. Die laat je toe om HTML om te zetten naar PDF. En het resultaat is verbluffend. Bijna alles rendert het in PDF vorm. Dus je typt of genereert je HTML code en laat die mPDF klasse de PDF maken en opslaan/mailen/versturen naar de browser. En dat met drie regels code!

$mpdf = new mPDF();
$mpdf->WriteHTML(utf8_encode($html)); //ut8_encode omdat é,à,… errors geeft
$mpdf->Output($filename, ‘F’); //als file opslaan

Het enige nadeel is dat de omzetting enorm veel geheugen nodig heeft. Voor alles heeft de klasse makkelijk 15MB nodig of meer, naargelang de grote van je PDF. De ontwikkelaar(s) hebben een compression gemaakt. Hiermee selecteer je welke dingen je wilt laten renderen. Bijvoorbeeld enkel images en tabellen of als extra nog floating div’s. Zo reduceer je het geheugen (tot 7MB). Als je toch alles wilt gebruiken, raad ik aan om de memory_usage in je php.ini te verhogen naar 20MB of meer.

Netlog en IE9

Ik was vandaag nog eens op Netlog maar dat bezoekje duurde maar 5 seconden bij het aanschouwen van de volgende melding.

Netlog, één van de grootste sociale websites van Europa, maakt zijn website blijkbaar browser afhankelijk. Een website waar mensen met jarenlange ervaring, hoge diploma’s, … aan zitten te werken. Die mensen kunnen dus blijkbaar hun JS, CSS of whatever browser afhankelijke code niet compatibel maken met andere browsers. Het grappige is dat er op Netlog met Mac computers gewerkt wordt. Eén woord: afschepen!

PHP Cloud

3 cheers! want Zend heeft ook een PAAS voor PHP gemaakt. PHP Cloud, zo noemt het product, is een PAAS. Het zit allemaal nog in test fase en je geraakt er dus enkel in met een uitnodiging (wie er ééntje wilt, ik heb er nu nog 4). Het is mijn eerste ervaring met een PAAS en tot nu toe valt het goed mee. Ik moet niets van servers configureren, directory’s goed plaatsen of databases gaan configureren. Ik voeg gewoon een nieuwe applicatie toe in mijn container en PHP cloud doet de rest. Ik maak een nieuw project aan in Zend Studio (een product die ik na de trial zeer zekers gaan aanschaffen) en link mijn studio aan de applicatie. Wat ook speciaal is dat je kan kiezen welke PHP applicatie (normaal, ZF, Joomla, WordPress, …) en dan worden die libraries ook toegevoegd. Iedere wijziging wordt doorgevoerd naar PHP cloud. Dat is niets speciaals, dit is gewoon een SSH verbinding die alles upload bij iedere save operatie. Maar het is leuk dat je als ontwikkelaar niet meer bezig hoeft te zijn met servers en configuratie.

Hier heb ik nog een filmpje van PHP Cloud (configuratie):

Windows 8

Ziet er cool uit :)