Jan
14
2009
0

6:e året med PHP Architect

Nu börjar mitt 6:e år med Php Architect, tidningen för den som gillar att utveckla med PHP. Från och med detta nummer har de lyft layouten rejält, den ser nu riktigt proffsig och är betydligt mer lättläst än tidigare. Jag använder tidningen mer som uppslagsverk, det vill säga att när jag söker inspiration eller lösningen på ett problen, då letar jag i den.

Kan rekomenderas starkt. Väljer man att prenumerera kan man ladda ned en pdf. Dessutom får man numer ett pappersexemplar i brevlådan efter ca 14 dagar.

Helt klart, intressant läsning!

/Erik

Leave a Comment | Written by Erik Franzén in: PHP |
Dec
29
2008
0

PHP and memcache, speeding up a website?!

m e m c a c h e d

When reading on Facebook developing notes, which uses PHP among other languages, I stumbled on an interesting article about memcache. Memcache is a way to cache objects in memory, and after reading a blog post about php and memcache I realised that this little neat cache tool can be magick if you run a website with heavy load.

Definitely something to think on when designing a new web site. Especially when Zend Framework supports memcache!

/Erik

Leave a Comment | Written by Erik Franzén in: PHP |
Sep
09
2008
0

The quest of routing in Zend Framework

I am a ZF beginner and I am trying to find out a way to handle routing.

Let say that I am building a website with different sections:

http://example.com/news
http://example.com/articles
http://example.com/gallery
http://example.com/forum

I am wondering how should I set up routing? Take the forum as an example.

Let say I use this principle:

http://example.com/module/controller/action?var1=value&var2=value

And apply the principle to the forums function addpost:

"http://example.com/forum/addpost" should be routed to Forum module, viewthread Action, indexAction() method

The indexAction method displays a form where you can write your post. The forms action is pointing to http://example.com/forum/addpost/add
 which is represented by the addAction() method in the same controller.

By choosing module/controller/action route pattern, each controller manages a complete "forum function" like:

  • Adding a post (writing, preview, adding post)
  • Editing a post (writing, preview, update post)
  • Reading a post (display)

This looks like a good solution for me? But is it working?

And how can you handle a form which has several submit buttons in the above context? I must point the forms action to a *Action method in the Controller and inside this method I must handle which button the user has pressed and do a second "dispatch" on my own? I would like to have organized code, with one method per "subfunction". Has ZF built in functions for this?

/Erik

Sep
07
2008
0

Staplande steg med Zend Framework

Har i dagarna fått lite smak på att koda lite. Har köpt en bok, PHP|architect’s guide to Programming with Zend Framework. Mycket intressant läsning som gör mig grymt nyfiken. Dock verkar tröskeln vara hög för att kunna använda Framworket eftersom i alla fall jag  vill veta hur det funkar i detalj.

Håller just nu på förstå hur routing sker. Zend Framework bygger på principen att alla request hamnar i en enda php-fil, mha mod rewrite om man kör apache. Zend Framework använder en sk FrontController för att expedera (dispatch) alla anrop till individuella sk Action Controllers.

I denna process ingår routing och det är den som jag just nu studerar. Vill luska ut hur Zend Framwork  routar följande exempel:

http://examplecom/forum/viewboard/board/ot

Detta enligt principen http://example.com/controller/action/var/value

Ovanstående är standard routing-inställningar i Zend Framework och skulle i så fall routa anropet till classen Forum och metoden viewboardAction.

Dock inser jag att klassen Forum skulle bli gigantiskt stor eftersom den skulle behöva innehåll alla Action-metoder som ett forum kräver. Det blir många, vilket betyder att man måste göra refactoring på något bättre sätt. Hur detta skall göras har jag inte ännu lyckats klurat ut.

/Erik

 

Feb
17
2008
13

RoundCube with Captcha Security Image and mvision skin support

RoundCube Webmail is a browser-based multilingual IMAP client with an application-like user interface. It provides full functionality you expect from an e-mail client, including MIME support, address book, folder manipulation, message searching and spell checking.

The text above is from the RoundCube Webmail Project website. RoundCube is indeed a very interesting webmail project. It is using Web 2.0 technologies and is highly customable. The team behind the project is certainly creating one of the best webmail applications ever!

For a couple of week ago I was browsing through the RoundCube forum and found a template called mvision made by Miha. I was totally baffled since it is a very good looking skin and it is working very well.

Localization

RoundCube is supporting a lot of languages. I have only localized two of the language files to support localized captcha security text field description (Swedish and English). All other languages are showing “Security Code”.

Prerequisite

PHP5 and GD-library with support for freetype is needed for the captcha function

2008-10-01 Update

Added support for mvision2 and also updated roundcube to 0.2beta. Source package is removed from server.

2009-02-15 Update

  • Upgraded to round cube 0.2 stable.
  • Fixed configuration problem
  • Integrated mvision 2.2
  • Added captcha javascript reload function on login page (se picture in this blog post)

2009-03-10 Update

  • Reworked zippackage, fixed some typos etc (thanks to Cyril DUCHENOY for his feedback)

Download complete source roundcube 0.2stable_mvision2.2captcha.zip (4.6MB).

Download svn patch roundcube 02stable_captcha (178KB) with default theme only

Download svn patch rcube 0.2stable _mvision2.2captcha.patch (232KB)

/Erik

13 Comments | Written by Erik Franzén in: PHP |
Apr
25
2007
0

Zend framework är kusligt bra genomtänkt!

Har ägnat en hel del timmar åt att spana in Zend framework och kan bara konstatera att det är kusligt bra genomtänkt. Mycket finns med från början och det svåra är att finna hur man skall tillämpa det hela, trots att det finns många bra guider.

Om CMAES kommer bli förverkligat någon gång i framtiden är Zend framework verkligen intressant att titta närmare på.

Hantering av exceptions
En sak som jag  är kritiskt mot är hanteringen av sk exceptions. Enligt min filosofi anser jag att överliggande kod bör kunna få en felberoende  felkod för att kunna hantera exceptions rätt beroende på vilket exception som kastades. Detta görs inte i zend framework (felberoende felkod saknas)

Vidare tycker jag att textmeddelandet i ett exception skall vara avsett för utvecklaren i först hand, inte primärt för användaren. För att få fram ett genereiskt användarmeddelande kan man använda Exceptionklassen samt felkoden som nyckel för att kunna skapa ett generiskt felmeddelande avsett till användaren. Detta funkar dessutom bra om applikationen är flerspråkig eftersom det då blir möjligt att ändra språket.

För mer beskrivande felmeddelanden är det svårare, oavsett metod. Det kräver mer implementation och tänk bakom, men det är inte omöjligt.

/Erik

Leave a Comment | Written by Erik Franzén in: PHP |
Jan
15
2007
0

PHP Paradox!

Upptäckte igår att det PHP-framework som jag har jobbat med för att använda i CMAES är kuslikt likt Zend framework.

Skall därför undersöka Zend Framwork lite mer. Inte minst för att studera likheter och olikheter utan också för att lära mig mer hur Zend Framwork är uppbyggt. Kan vara matnyttigt inför framtiden

/Erik

Jul
02
2006
0

PHP poesi

Hittade detta i maillingslistan php-dev. Postat av Martin Alteriso

<?php
$timeWaiting = 0;
while (!$you->near($me)) {
 $me->thinkAbout($you);

 switch (true) {
   case $timeWaiting < 5:
     $me->wait($you);
     break;

   case $timeWaiting < 10:
     $me->worry();
     break;

   case $timeWaiting < 20:
     $me->lookFor($you);
     break;

   case $timeWaiting < 40:
     $me->worry();
      $me->lookFor($you);
     break;

   case $timeWaiting < 80:
     $me->worry();
      $me->cry();
      $me->lookFor($you);
      $me->lookFor($you);
      $me->lookFor($you);
     break;

   case $timeWaiting < 160:
     $me->worry();
      $me->cry();
      $me->drink();
      $me->lookFor($you);
      $me->lookFor($you);
      $me->lookFor($you);
     $me->thinkAbout($you);
     $me->thinkAbout($you);
     $me->cry();
      $me->lookFor($you);
      $me->lookFor($you);
      $me->drink();
      $me->drink();
     break;

   default:
     throw new CantLiveWithoutYou();
     die("alone");
 }

 $timeWaiting++;
}

$me->happy = true;
?>

Leave a Comment | Written by Erik Franzén in: PHP |
Feb
19
2006
0

PHP stagnation!

Att bli far är inte helt lätt om man vill fortsätta med sina hobbies. Dom som känner mig vet att jag gillar att pilla med kod, särskilt PHP. Det är ett sätt för mig att fly från världen och få framförallt vara kreativ på mitt egna sätt. Men när man blir förälder uppstår en konkurrens, vilket betyder att man måste prioritera.

Det var en av mina chefer på jobbet som i höstas som ställde frågan: -"Vad skall du prioritera bort nu när du blir far?". -"Va?" sade jag och han förklarade vad han menade, vis av erfarenhet.
Gick och funderade rätt mycket på hans ord i ett par veckor och insåg att han hade ju helt rätt. Började därför redan under sena hösten med att gå ur styrelsen i både bostadsrättsföreningen samt samfällighetsförening i det område jag bor i. Efter att Simon föddes har det kännts som ett helt rätt val.

Men vad har då hänt med PHP-kodningen? Ja, den har mer eller mindre stagnerat. Har nämligen otroligt svårt att starta upp och börja koda. Hittar alltid tusen andra smågrejor som verkar vara mer intressant när jag får möjlighet att sitta framför datorn.

Har lite små funderingar att tvinga mig själv att starta, för jag vet att om jag bara kommer igång funkar det förutom när Simon leker eller lever runt ute i vardagsrummet. Då kan jag inte fokusera eftersom hörseln och därmed hjänan koncentreras mot vad Simon och min fru sysslar med.

Min dröm och stora mål med PHP-kodandet just nu är att bli så pass klar med CMAES, som skall bli en helt ny teknisk plattform för NordicAudi:s framtid. Har kommit en bra bit på vägen men det har tagit sin tid. Närmare bestämt tre år och just därför vore det helt fantastiskt att kunna sjösätta den nya plattformen.

Hur skall jag då finna den tid samt inte minst motivation för att kunna färdigställa CMAES? Tja, den frågan är inte helt enkel att besvara. Framtiden får utvisa! Helt klart är att jag inte vill sluta koda PHP, för det är så otroligt roligt att få vara kreativ och kunna jobba med något som används av tusentals andra på Internet.

Leave a Comment | Written by Erik Franzén in: CMAES,PHP |
Dec
22
2005
0

Zend Certification – svårt!

Har läst igenom första boken, Zend Certification study guide, och har sakta påbörjat den andra boken, The Zend certification Practice test book. Mitt intryck än så länge är att det är betydligt svårare än jag trodde från början.

Andi Gutmans, en av skaparna av PHP, skriver så här om sin egen examen:

A PHP developer with no experience really cannot pass this exam, which I think is great. It really certifies PHP developers who have experience in developing PHP based web applications in the real world.

Börjar sakta inse att detta kommer bli svårt. Vissa frågor är busenkla, andra svårare och vissa kan jag inte alls. Nu handlar det om att plugga in många funktioner!

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com