Scriptorama.nl

Header image showing a keyboard, mouse, laptop and books on design patterns

Flickr RSS feed inlezen met SimpleXML

Net zoals zovelen heb ook ik een account bij Flickr voor foto's die ik zo af en toe maak. Aangezien Flickr zo ongeveer het poster-child voor alles web2.0 is, is het alleen uploaden van foto's naar Flickr eigenlijk not-done.

Dus in dit artikeltje kijken we naar hoe we de RSS feeds van Flickr kunnen gebruiken om onze eigen Flickr overzicht te maken voor op bijv. je persoonlijke blog. Hiervoor zullen we PHP5's SimpleXML gebruiken.

(more...)

Webdeveloper conferences in 2008

Vorig jaar zagen we de eerste aflevering van de Dutch PHP Conference welke, in mijn ogen, een aardig succes was. Ook hield PHPFreakz haar eerste eigen conference: PFCongrez. Ook dit jaar zijn er weer de nodige conferences. Een klein overzicht..

(more...)

Traits in PHP?

Het regent voorstellen voor PHP de afgelopen paar maanden, na taint mode, closures/betere anonymous functions kwam Stefan Marr gister met een voorstel voor Traits. Traits zijn een soort niet te instantieren class (denk interface / abstract class) welke gebruikt kunnen worden om een class definitie verder uit te breiden.

PHP:
  1. trait A {
  2.   function helloWorld()
  3.   {
  4.   }
  5. }
  6.  
  7. class MijnClass
  8. {
  9.    use A;
  10. }
  11.  
  12. $x = new MijnClass();
  13. $x->helloWorld();

Wanneer een class een trait gebruikt worden de methods die gedefinieerd zijn in deze trait gekopieerd naar de klasse in kwestie. Het voordeel hiervan is dat je geen gigantische inheritance boom creeƫrt of hoeft te copy pasten wanneer je 2 verschillende classes definieert die gelijke methodes hebben

Je kunt met dit voorstel meerdere traits gebruiken en daarbij kiezen hoe er omgegaan moet worden met dubbele methodes. Een methode die in meerdere traits bestaat kun je namelijk aliasen of gewoon niet toevoegen aan de class definitie:

PHP:
  1. trait A {
  2.   function helloWorld()
  3.   {
  4.   }
  5.  
  6.   function doX()
  7.   {
  8.   }
  9. }
  10.  
  11. trait B {
  12.   function helloWorld()
  13.   {
  14.   }
  15. }
  16.  
  17. class MijnClass {
  18.   use a { doX => doY }
  19.   use b { !helloWorld }
  20. }
  21.  
  22. $x = new MijnClass;
  23. $x->myHelloWorld();
  24. $x->doY();

Het voorstel is aardig positief ontvangen, ook door hoe Stefan Marr zijn voorstel heeft gebracht, al is nog niet iedereen overtuigd van het nut van Traits. Ook is men nog niet helemaal gecharmeerd van de syntax die Stefan Marr heeft voorgesteld.

Je kunt nu al Traits proberen door de patch van Stefan Marr toe te passen op een recente versie van de PHP 5.2 branch.

Een blik op MySQLi IV: Transacties en SSL

In de vorige 3 MySQLi artikelen hebben we het gehad over het basis gebruik van MySQLi, prepared queries en unbuffered queries. In dit artikel zullen we zien hoe je met transacties kunt werken en hoe je een beveiligde verbinding kunt opzetten met MySQL.

(more...)