(kortlänk: http://dbwebb.se/lydia/tutorial). Senast uppdaterad 2012-05-07.
Lydia, ett PHP-baserat och MVC-inspirerat CMF
Denna tutorial visar hur du stegvis bygger ett MVC-ramverk, eller mer "exakt", ett PHP-baserat och MVC-inspirerat Content Management Framework (CMF). Vi döper ramverket till Lydia.
Tutorialen är uppbyggd i delar där varje del har ett visst fokus. Följande delar finns.
* Grunden i ett MVC ramverk
* Bygg ut ramverket och gör en gästbok
* Skapa modell och hantering av användare, grupper, profil och login
* Skapa och spara innehåll i databasen som sidor ("page") och poster ("post")
* Ett tema med vertikalt och horisontalt grid
* Dokumentera koden och använd ramverket för att bygga en webbplats
Grunden i ett MVC ramverk
Här skapar vi grunderna i MVC-ramverket. Jobba igenom följande delar och du har en bra start till ditt egna MVC-ramverk.

Lydia: Skicka alla requester till index.php
Lydia: Grundstrukturen i index.php
Lydia: Frontcontroller route
Lydia: Theme engine render
Lydia: Vilken är webbplatsens base_url?
Lydia: Låt ramverket skapa interna länkar
Lydia: Städa och publicera koden på github (v0.1.1)
Bygg ut ramverket och gör en gästbok
Här bygger vi ut ramverket med ett gränssnitt mot databasen, vy-hantering i kontrollern och en exempel-kontroller i form av en gästbok.

Lydia: En gemensam basklass för kontrollers (v0.1.2)
Lydia: En kontroller för en gästbok (v0.1.3)
Lydia: Gästboken sparar till databas (v0.1.4)
Lydia: Ett gränssnitt mot databasen (v0.1.5)
Lydia: Separera SQL-satserna från PHP-koden (v0.1.6)
Lydia: Separera HTML från kontrollern med vyer (v0.1.7)
Lydia: Skicka meddelanden mellan sidanrop via sessionen (v0.1.8)
Lydia: En modell för gästboken (v0.1.9)
Skapa modell och hantering av användare, grupper, profil och login
Vi bygger ut ramverket med en modell för användare som underlättar hantering av login, skapa nya användare, användarens profil och under tiden försöker vi samtidigt finna en effektiv och smidig hantering av formulär.

Lydia: CMUser, en modell för användare (v0.2.01)
Lydia: Användare tillhör en eller flera grupper (v0.2.02)
Lydia: Användaren som en del av CLydia (v0.2.03)
Lydia: Meny för inloggning (v0.2.03)
Lydia: Visa tillgängliga kontrollers med Reflection (v0.2.04)
Lydia: Stöd för hantering av formulär (v0.2.05)
Lydia: Formulär för användarens profil (v0.2.06)
Lydia: Integrera med Gravatar (v0.2.07)
Lydia: Lagra lösenordet säkert och flexibelt (v0.2.08)
Lydia: Validera fälten i postade formulär (v0.2.09)
Lydia: Skapa ny användare (v0.2.10)
Skapa och spara innehåll i databasen som sidor ("page") och poster ("post")
Gör kod för att lagra webbplatsens innehåll i databasen. Lagra innehållet som olika typer av information och visa den som en vanlig sida eller en blogglista. Pröva olika sätt att formattera innehållet, både som ren text, html, php-kod, bbcode och "städad" html-kod.
En sida som ser ut så här (BBCode):

Visas upp på detta sätt (BBCode formatterad till HTML):

Lydia: Hantera innehållet på en webbplats, dess "content" (v0.2.11)
Lydia: Presentera innehållet som sida och blogg (v0.2.12)
Lydia: Spara allt, filtrera och formattera vid utskrift (v0.2.13)
Lydia: Formattera innehåll enligt BBCode (v0.2.14)
Lydia: Filtrera innehåll med HTMLPurifier (v0.2.15)
Ett tema med vertikalt och horisontalt grid
Här fortsätter vi att utveckla tema-delen och gör ett nytt tema som baseras på LESS och semantic.gs som ger ett horisontalt grid. Dessutom inför vi ett vertikalt grid och stylar typografin så att den matchar gridet. Vi inför regioner i temat och kopplar innehållet i vyerna med regionerna.
Så här kan det se ut när vi är klara.
Regioner utplacerade enligt grid.

Typografi stylad enligt vertikalt grid.

Lydia: Nytt tema baserat på LESS (v0.2.16)
Lydia: Grid och layout regioner (v0.2.17)
Lydia: Koppla innehåll till regioner (v0.2.18)
Lydia: Vertikalt grid med typografi (v0.2.19)
Lydia: Hantera statiskt innehåll i temat (v0.2.20)
Dokumentera koden och använd ramverket för att bygga en webbplats
Det närmar sig slutet på tutorialserien och Lydia är flygfärdigt, eller? Vi bygger en modulhanterare som visar upp de olika moduler som Lydia består av. Med Reflection API:et får vi en dokumentation av ramverkets kod. Vi skapar ett installationsförfarande och testar Lydia genom att bygga en webbplats. Under testet så märker vi ett par saker som fattas, bland annat menyhantering och förbättrad hantering av länkning. Slutligen får vi en webbplats med Lydia.
Resultatet kan se ut så här.
En webbplats som testfall för Lydia:

Dokumentation av Lydia:

Lydia: En modulhanterare till Lydia (v0.2.21)
Lydia: Installationsfasen (v0.2.22)
Lydia: Skapa en webbplats med Lydia (v0.2.23)
Lydia: Dokumentera koden med phpdoc och modulhanteraren (v0.2.24)
Avslutningsvis
Denna tutorialserie är en del av kursen phpmvc där du bygger ett eget PHP-baserat MVC-inspirerat Content Management Framework. I Kursen gås alla tutorial igenom och därefter avslutas kursen med ett projekt där studenten bygger en webbplats enligt en kravspec genom att använda, och kanske utöka, sitt egna ramverk. Därmed tar Lydia's tutorial slut efter detta. Lycka till med ditt ramverksbyggande och kom ihåg att hela tiden utveckla ramverket i takt med dina projekt, på det viset får du ett levande ramverk som lever i takt med dina projekt.
Lycka till!
Källkod och exempelsite
Lydia kan provköras och granskas här:
http://dbwebb.se/lydia/current (senaste versionen)
http://dbwebb.se/lydia/source.php
http://dbwebb.se/lydia/tags (respektive taggad version)
Koden för Lydia finns på github och taggarna relaterar till de olika övningarna i tutorialen.
https://github.com/mosbth/lydia
Lydia, ett PHP-baserat och MVC-inspirerat CMF
Denna tutorial visar hur du stegvis bygger ett MVC-ramverk, eller mer "exakt", ett PHP-baserat och MVC-inspirerat Content Management Framework (CMF). Vi döper ramverket till Lydia.
Tutorialen är uppbyggd i delar där varje del har ett visst fokus. Följande delar finns.
* Grunden i ett MVC ramverk
* Bygg ut ramverket och gör en gästbok
* Skapa modell och hantering av användare, grupper, profil och login
* Skapa och spara innehåll i databasen som sidor ("page") och poster ("post")
* Ett tema med vertikalt och horisontalt grid
* Dokumentera koden och använd ramverket för att bygga en webbplats
Grunden i ett MVC ramverk
Här skapar vi grunderna i MVC-ramverket. Jobba igenom följande delar och du har en bra start till ditt egna MVC-ramverk.

Lydia: Skicka alla requester till index.php
Lydia: Grundstrukturen i index.php
Lydia: Frontcontroller route
Lydia: Theme engine render
Lydia: Vilken är webbplatsens base_url?
Lydia: Låt ramverket skapa interna länkar
Lydia: Städa och publicera koden på github (v0.1.1)
Bygg ut ramverket och gör en gästbok
Här bygger vi ut ramverket med ett gränssnitt mot databasen, vy-hantering i kontrollern och en exempel-kontroller i form av en gästbok.

Lydia: En gemensam basklass för kontrollers (v0.1.2)
Lydia: En kontroller för en gästbok (v0.1.3)
Lydia: Gästboken sparar till databas (v0.1.4)
Lydia: Ett gränssnitt mot databasen (v0.1.5)
Lydia: Separera SQL-satserna från PHP-koden (v0.1.6)
Lydia: Separera HTML från kontrollern med vyer (v0.1.7)
Lydia: Skicka meddelanden mellan sidanrop via sessionen (v0.1.8)
Lydia: En modell för gästboken (v0.1.9)
Skapa modell och hantering av användare, grupper, profil och login
Vi bygger ut ramverket med en modell för användare som underlättar hantering av login, skapa nya användare, användarens profil och under tiden försöker vi samtidigt finna en effektiv och smidig hantering av formulär.

Lydia: CMUser, en modell för användare (v0.2.01)
Lydia: Användare tillhör en eller flera grupper (v0.2.02)
Lydia: Användaren som en del av CLydia (v0.2.03)
Lydia: Meny för inloggning (v0.2.03)
Lydia: Visa tillgängliga kontrollers med Reflection (v0.2.04)
Lydia: Stöd för hantering av formulär (v0.2.05)
Lydia: Formulär för användarens profil (v0.2.06)
Lydia: Integrera med Gravatar (v0.2.07)
Lydia: Lagra lösenordet säkert och flexibelt (v0.2.08)
Lydia: Validera fälten i postade formulär (v0.2.09)
Lydia: Skapa ny användare (v0.2.10)
Skapa och spara innehåll i databasen som sidor ("page") och poster ("post")
Gör kod för att lagra webbplatsens innehåll i databasen. Lagra innehållet som olika typer av information och visa den som en vanlig sida eller en blogglista. Pröva olika sätt att formattera innehållet, både som ren text, html, php-kod, bbcode och "städad" html-kod.
En sida som ser ut så här (BBCode):

Visas upp på detta sätt (BBCode formatterad till HTML):

Lydia: Hantera innehållet på en webbplats, dess "content" (v0.2.11)
Lydia: Presentera innehållet som sida och blogg (v0.2.12)
Lydia: Spara allt, filtrera och formattera vid utskrift (v0.2.13)
Lydia: Formattera innehåll enligt BBCode (v0.2.14)
Lydia: Filtrera innehåll med HTMLPurifier (v0.2.15)
Ett tema med vertikalt och horisontalt grid
Här fortsätter vi att utveckla tema-delen och gör ett nytt tema som baseras på LESS och semantic.gs som ger ett horisontalt grid. Dessutom inför vi ett vertikalt grid och stylar typografin så att den matchar gridet. Vi inför regioner i temat och kopplar innehållet i vyerna med regionerna.
Så här kan det se ut när vi är klara.
Regioner utplacerade enligt grid.

Typografi stylad enligt vertikalt grid.

Lydia: Nytt tema baserat på LESS (v0.2.16)
Lydia: Grid och layout regioner (v0.2.17)
Lydia: Koppla innehåll till regioner (v0.2.18)
Lydia: Vertikalt grid med typografi (v0.2.19)
Lydia: Hantera statiskt innehåll i temat (v0.2.20)
Dokumentera koden och använd ramverket för att bygga en webbplats
Det närmar sig slutet på tutorialserien och Lydia är flygfärdigt, eller? Vi bygger en modulhanterare som visar upp de olika moduler som Lydia består av. Med Reflection API:et får vi en dokumentation av ramverkets kod. Vi skapar ett installationsförfarande och testar Lydia genom att bygga en webbplats. Under testet så märker vi ett par saker som fattas, bland annat menyhantering och förbättrad hantering av länkning. Slutligen får vi en webbplats med Lydia.
Resultatet kan se ut så här.
En webbplats som testfall för Lydia:

Dokumentation av Lydia:

Lydia: En modulhanterare till Lydia (v0.2.21)
Lydia: Installationsfasen (v0.2.22)
Lydia: Skapa en webbplats med Lydia (v0.2.23)
Lydia: Dokumentera koden med phpdoc och modulhanteraren (v0.2.24)
Avslutningsvis
Denna tutorialserie är en del av kursen phpmvc där du bygger ett eget PHP-baserat MVC-inspirerat Content Management Framework. I Kursen gås alla tutorial igenom och därefter avslutas kursen med ett projekt där studenten bygger en webbplats enligt en kravspec genom att använda, och kanske utöka, sitt egna ramverk. Därmed tar Lydia's tutorial slut efter detta. Lycka till med ditt ramverksbyggande och kom ihåg att hela tiden utveckla ramverket i takt med dina projekt, på det viset får du ett levande ramverk som lever i takt med dina projekt.
Lycka till!
Källkod och exempelsite
Lydia kan provköras och granskas här:
http://dbwebb.se/lydia/current (senaste versionen)
http://dbwebb.se/lydia/source.php
http://dbwebb.se/lydia/tags (respektive taggad version)
Koden för Lydia finns på github och taggarna relaterar till de olika övningarna i tutorialen.
https://github.com/mosbth/lydia
...
..:
.... /mos