Avatar billede bavingo Nybegynder
10. januar 2011 - 12:50 Der er 7 kommentarer og
1 løsning

At komme videre med avanceret PHP

Jeg har i en del år nu arbejdet med PHP. Hvor jeg har god forståelse for (synes jeg selv) mange elementer. Mit nuværende problem er at jeg ikke ved hvordan jeg kommer videre. F.eks. ville jeg gerne være i stand til at lave mere skalerbare systemer, såsom CMS systemer, frameworks etc.

Jeg vil gerne kunne gå mere i dybden med OOP, som jeg pt. bruger, men ved at jeg ikke har dyb nok forståelse, ligeledes vil jeg gerne lære at bruge MVC og den slags.

Egentlig er ovenstående hvad jeg tror jeg har brug for.

Et eksempel på min problematik er f.eks.:
- Ligenu er jeg igang med et CMS, hvor jeg har min egen modulunderstøttelse, men disse moduler kan kun præsentere meget specifikke elementer. såsom content, menu etc. Elementer jeg har specificeret meget præcist i CMS styringen.


Hvad jeg kort og godt forespørger er:

1: Hvordan dygtigører jeg mig i mere avanceret PHP udvikling
2: Hvad skal jeg gøre for at få forståelse for opbygning af komplekse websystemer der er skalerbare.
3: Hvis ovenstående er det jeg har brug for, hvor indhenter jeg så den nødvendige viden om opbygning af systemer med ovenstående tankegang. Hvis ikke hvad skal jeg søge på?

Håber der er nogen der vil hjælpe mig, for føler mig virkelig tabt.
Avatar billede repox Seniormester
10. januar 2011 - 13:08 #1
En god start, for at få en god forståelse for hvad du kan opnå med OOP og design patterns ville være at kigge på færdige frameworks. CodeIgniter, CakePHP eller lignende er udmærkede steder at starte (selv bruger jeg CodeIgniter til stort set alt).

Ved at arbejde i sådanne frameworks, får du også brug for at forstå hvad der sker, for at du kan bruge dem - så du vil kunne læse dig frem til, ved at gå baglæns i koden.

Det er lidt svært at kommentere på din start af et CMS - mange gange plejer jeg bare at konstatere at folk har gabt over for meget, men essensen er egentlig bare at der skal utrolig meget forståelse for OOP og design patterns til for at få noget brugbart og skalerbart som tillader agil udvikling. Jeg har personligt selv valgt at forlade idéen om at udvikle mit eget CMS - der findes utallige alternativer som tillader mig at lave det som er vigtigt for mine kunder, uden jeg skal bruge andet tid end bare at sætte det op og så begynde min udvikling for kunden.

Jeg vil til sidst gerne henlede opmærksheden på en artikkel om OOP jeg har skrevet på mit eget site, som måske kan give dig nogle emner at søge på og forsøge dig med: http://err0r.dk/articles/read/hvad_er_oop
Avatar billede bavingo Nybegynder
10. januar 2011 - 15:16 #2
Det lyder fornuftigt alt sammen. Jeg har lige downloadet CodeIgniter og er nu begyndt at se på dette framework. Jeg håber det er ok at jeg lader denne tråd stå åben lidt længere, for at forhåbentlig at indhente så mange informationer som overhovedet.
Avatar billede showsource Seniormester
10. januar 2011 - 19:54 #3
En oplagt mulighed hvis man vil lave noget cms, er at bruge pdo:
http://dk.php.net/manual/en/book.pdo.php
Avatar billede intenz Novice
11. januar 2011 - 16:44 #4
1. Læs nogle bøger om det :)

Efter min mening den bedste introduktion til OOP og design patterns i PHP: PHP Objects, Patterns and Practice.
http://www.amazon.co.uk/Objects-Patterns-Practice-Experts-Source/dp/143022925X/ref=sr_1_1?ie=UTF8&qid=1294758941&sr=8-1

2. Skalerbarhed er et ikke-funktionelt krav, ligesom performance, maintainability, reliability, mv. Du bør tage hensyn til disse inden du starter udviklingen. Hvis du først begynder at tænke på dem undervejs/til sidst bliver det svært. Der er forskellige design tactics der kan benyttes for at opnå det man ønsker.

Lidt keywords:
software architecture
non-functional requirements
scalability design tactics

En ting er at lære design patterns, en anden ting er at forstå hvornår de skal bruges og til hvad. Størstedelen af patterns involverer trade-offs, f.eks. maintainability for performance, eller scalability for maintainability.

En generelt forståelse for software architecture er en god ting, men det er også meget andet end udvikling, og kan være lidt langhåret at læse om.

Et par andre bøger der kan anbefales til den seriøse phpudvikler:

Building scalable websites:
http://www.amazon.co.uk/Building-Scalable-Web-Sites-Henderson/dp/0596102356/ref=sr_1_1?ie=UTF8&qid=1294760378&sr=1-1#_

Pro PHP: Patterns, Frameworks, Testing & More:
http://www.amazon.co.uk/Pro-PHP-Patterns-Frameworks-Testing/dp/1590598199/ref=sr_1_1?s=books&ie=UTF8&qid=1294760461&sr=1-1

PHP in Action: Objects, Design, Agility:
http://www.amazon.co.uk/PHP-Action-Objects-Software-Practices/product-reviews/1932394753/ref=sr_1_1_cm_cr_acr_txt?ie=UTF8&showViewpoints=1
Avatar billede bavingo Nybegynder
11. januar 2011 - 23:51 #5
Det er rigtig fantastisk med denne slags inputs. Jeg var ved at rende tør for søgeord etc.
Nu har jeg noget materiale at gå videre med.

Vil i ikke smide nogle svar, så jeg kan uddele points til jer.
Avatar billede intenz Novice
12. januar 2011 - 13:56 #6
Der kommer et her
Avatar billede showsource Seniormester
12. januar 2011 - 21:20 #7
Medmindre du skriver at du har kastet dig over pdo, så står jeg over :O)
Avatar billede bavingo Nybegynder
13. januar 2011 - 10:45 #8
Nej lige nu må jeg nok indrømme at det er MVC og CodeIgniter der fanger min interesse.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester