Symfony2

Symfony2 är det snabbaste PHP-ramverket som finns just nu. Det utvecklas av en grupp mycket skärpta och erfarna programmerare från Frankrike. Det som skiljer Symfony2 från flera andra ramverk (även Symfony1) är att det är byggt med hjälp av bundles. Kärnan är ett 20-tal php-plugin som är ihopsatta tillsammans. Det är plugin som Doctrine för databas hantering och Twig för att snabbare rendera utdata. Fördelen är att dessa bundles utvecklas och testas för sig. Det är då mycket lättare att garantera ett buggfritt ramverk.

Symfony2 är extremt objektorienterat och serviceorienterat. Det innebär att man inte laddar in alla de 1000-tals filer som ramerket består av vid vare sidladdning. Man laddar bara in de man behöver. Tack vare detta så får man ett otroligt snabbt och minnessnålt ramverk.

Vi på Webfish har utvecklat webbsidor i Symfony sedan 2009. Då var det version 1.2 som var aktuell. Vi har jobbat med Symfony2 sedan beta1 som släpptes i Maj 2011.

PS. Självklart är det också mycket bättre, stabilare, billigare och snabbare än Microsofts motsvarigheter.

WordPress, Symfony2 och Nginx

logo_symfony

För knappt en månad sen delade jag med mig av hur man konfigurerar Symfony2 på en Nginx-server. Idag vill jag visa hur jag har gjort för att köra både Symfony2 och WordPress på samma webbplats med en Nginx server. Om du har Symfony2 i rooten och WordPress i en underkatalog så ska du använda dig av denna konfiguration: Om du har en WordPress sajt i rooten och Symfony2 i en underkatalog så ska du använda dig av denna konfiguration:

Skrivet september 21st, 2012 av Tobias

Symfony2 och Nginx

logo_symfony

Jag har börjat testa experimentera med andra webbserverar än Apache. Jag har hört mycket gott om Nginx så jag tänkte att jag skulle prova. Jag läste mycket på bland annat nginx.org och diverse andra forum och bloggar för att lära mig grunderna och hur jag skulle konfigurera webbserver. Det skiljer sig något från Apache, speciellt med redirects. Men jag lyckades till slut sätta upp en webbplats med Symfony2 som är korrekt konfigurerad. Eftersom jag lade ner massor av timmar på att lösa problemet så vill jag gärna dela med mig av lösningen. Här är min konfiguration för att köra Symfony: Självklart bör du också inkludera vanliga direktiv likt dessa:

Skrivet augusti 25th, 2012 av Tobias

WordPress och Symfony2 på samma webbplats

logo_symfony

I alla fall nästan. Jag läste en kommentar på symfony.com om att man borde göra en wordpress-klon i Symfony2. Hans tanke var då att man hade det perfekta CMSet i det perfekta ramverket. Jag håller dock inte riktigt med honom.  Jag håller inte med honom alls för att vara helt ärlig. WordPress är lätt att skriva om i Symfony2. Det tar/tog mig inte mer än en vecka. (Ja, jag skrev om det till Utestället.) Det som är det fina med WordPress är alla tusentals plugin och teman som finns. Det tar lång tid att skriva dessa och det är inget man vill göra. ”Don’t reinvent the wheel”. Det man ska göra om man vill ha det perfekta CMSet och det perfekta ramverket är att använda sig av Apaches alias. Man säger helt enkelt till Apache att ”om besökaren vill åt /blogg så hämta info från denna mapp: /var/www/wordpress”. Sen fungerar [...]

Skrivet juli 26th, 2012 av Tobias

Unikt index med Doctrine och Symfony2

logo_symfony

Symfony2 är ett utmärkt verktyg på många sätt men det är inte felfritt. Just nu sitter jag i slutfasen av ett större projekt som jag började med för snart ett år sedan. Det känns skönt att kunna se mållinjen. Idag har hittade jag en betydelsefull bugg i dokumentationen. Det handlar om att sätta unika index på entities. Jag satt en timme och kliade mig i håret innan jag förstod att dokumentationen inte stämde och jag hade en lösning på problemet. Det lättaste sättet att sätta ett unikt index på en kolumn är att skriva så här: Svårare än så är det inte. Vill man sätta ett unikt index över flera kolumner så föreslår dokumentationen att man skriver: Men detta fungerar tyvärr inte. Detta ger två unika index över en kolumn. Vi ville ju ha ett unikt index över två kolumner. Efter lite grävande i Symfony2 källkoden så hittade jag en [...]

Skrivet mars 30th, 2012 av Tobias

Drupal tar efter Symfony2

logo_symfony

Idag kan man läsa på Symfonybloggen att Drupal utvecklarna har fått upp ögonen för Symfony2. Det står att Drupal 8 kommer att använda komponenter som HttpFoundation, HttpKernel, Routing, EventDispatcher, DependencyInjection, and ClassLoader. Detta kommer innebära att det är lättare att integrera en Drupal sajt till en Symfony2 sajt. Eller tvärt om. Man tror att drupalutvecklarna kommer hjälpa till att bygga upp communityt. Jag tycker det är positivt att det blir fler som använder Symfony2 men varför gör man så här? En av grundtanken med Symfony är ”Don’t reinvent the wheel”. Varför vill man ha två ramverk som är väldigt lika? Det går emot grundtanken. Jag ser gärna att drupalutvecklarna kommer över till Symfony2 men jag tror inte att detta är rätt sätt att få hit dem. Om Drupal gillar Symfony2 så mycket så bör man väl lägga ner utvecklingen av Drupal och försöka konvertera de bästa av Drupals moduler till [...]

Skrivet mars 22nd, 2012 av Tobias

Brödsmulor till Symfony2

breadcrumbs

När man bygger stora webbplatser med en stor hierarki av undersidor kan det vara förmånligt att använda sig av brödsmulor för att underlätta navigeringen och låta besökarna få en bättre förståelse på hur webbplatsen är uppbyggd. Brödsmulorna hjälper även google att indexera alla sidor i hierarkin. Jag byggde nyligen ett Symfony2-projekt med kategorisidor. Jag ville använda brödsmulor och jag ville se till att Google insåg att det var brödsmulor. Jag hittade en källa som beskrev att jag skulle beskriva brödsmulor på detta sätt: <div itemscope itemtype=”http://data-vocabulary.org/Breadcrumb”>   <a href=”http://www.example.com/dresses” itemprop=”url”>      <span itemprop=”title”>Dresses</span>   </a> › </div> <div itemscope itemtype=”http://data-vocabulary.org/Breadcrumb”>   <a href=”http://www.example.com/dresses/real” itemprop=”url”>     <span itemprop=”title”>Real Dresses</span>   </a> › </div> <div itemscope itemtype=”http://data-vocabulary.org/Breadcrumb”>    <a href=”http://www.example.com/clothes/dresses/real/green” itemprop=”url”>     <span itemprop=”title”>Real Green Dresses</span>   </a> </div> Jag skrev då en twig-fil för att skriva ut dessa brödsmulor. Twig-filen fick se ut så här: <div class=”breadcrumb”>   <div itemscope itemtype=”http://data-vocabulary.org/Breadcrumb”>     <a href=”{{ path(‘site_root’)}}” itemprop=”url”>       <span itemprop=”title”>Startsida</span>     </a>   </div>   {% [...]

Skrivet mars 2nd, 2012 av Tobias

Symfony2 med ny version

logo_symfony

Nu har Symfony2 funnits ute ett tag. Då och då kommer uppdateringar med buggfixar till bland annat Twig och Doctrine. Jag har uppdaterat flera av mina projekt med bland annat att köra vendor-scriptet och att ta bort alla filer och ladda ner på nytt. Jag tycker att det är alldeles för mycket jobb för att bara uppdatera. Om det hade varit lika enkelt som WordPress hade jag nog uppdaterat oftare. Jag rekommenderar endast att uppdatera Symfony2 om du råkar ut för buggar som du vet är lösta i senare versioner. Jag tycker dock att man alltid ska börja alla nya projekt med den senaste versionen av Symfony. I veckan så släpptes Symfony2.0.10.

Skrivet februari 22nd, 2012 av Tobias

Binero har serverproblem

logo_symfony

Binero tycks ha serverproblem igen. De senaste dagarna har vi fått en del felmeddelanden från symfony2 forum som säger att vi har överskridit det maximala antalet anslutningar till databasservern. Efter att ha pratat med Binero idag så säger de att problemet ska vara löst.

Skrivet augusti 22nd, 2011 av Tobias

Symfony2 forum

symfony2

Det har som sagt varit ganska tyst på denna blogg den senaste tiden. Vi har haft en del projekt igång samtidigt som vi har flyttat kontoret en längre sträcka. Nu har färdigställt ett av projekten. Vi utvecklar mycket i Symfony2 och när man kör fast så finns det ingenstans att vända sig. Därför har skapat ett Symfony2 forum. Forumet är ett vBulletin forum som vi har designat ett tema till. vBulletin är ett väldigt välarbetat forum men massor av inställningar och funktionalitet inbyggt. Men att lägga in temat var lite svårare än vad vi först trodde. Vi kunde inte skapa ett nytt template på ett enkelt och smidigt sätt så vi redigerade standard temats 200+ filer så det blev som vi ville ha det. Det tog ett par timmar extra med det blev bra till slut.

Skrivet augusti 8th, 2011 av Tobias