ik wist niet goed waar dit ontwerp te plaatsen dus maar in het algemeen Object georiënteerd topic gezet...
ik zou om mijn sites te managen graag een CMS (Content Management System) bouwen. Daar ik dit op verschillende site's zou willen gebruiken zou het eigenlijk los van een website moeten staan tijden het bouwen. Later zou ik het dan willen "koppelen" aan de site/site's die ik wil managen.
Nu is mijn vraag hoe je best start met het opbouwen van zo'n project? Wat zijn de eerste en belangrijkste stappen die ik moet ondernemen om een goed CMS te kunnen ontwikkelen? Wat zijn de belangrijkste zaken die je in een CMS moet voorzien...
Dit zou eigenlijk mijn eerste "grote" project zijn die ik zou ontwikkelen, dus alle tips, tricks en commentaren zijn welkom.
Ik zou het CMS willen programmeren in PHP, maar ik denk niet dat het op dit ogenblik een rol speelt welke programmeertaal ik zou gebruiken.
Alvast bedankt voor de reactie's, tips & tricks
Dieter
eigenlijk niet echt
Zoals ik hier al eens eerder heb gezegd, heb ik alles wat ik al ken van php zelf uitgezocht. Ik heb wel al accademische ervaring met OO.
Maar wat die template en Db engine betreft weet ik niet echt wat je daar mee bedoeld
:$ eigenlijk niet echt Â
Zoals ik hier al eens eerder heb gezegd, heb ik alles wat ik al ken van php zelf uitgezocht. Ik heb wel al accademische ervaring met OO.
Maar wat die template en Db engine betreft weet ik niet echt wat je daar mee bedoeldÂ
Njah, de links staan in mijn vorige post.
Ik zal kort omschrijven wat je eraan hebt.
Template engine
Om netjes te programmeren is het slim om code en opmaak apart te houden. Met een template engine is dit mogelijk. Via de code stuur je waarden door naar je template. De template (HTML/CSS/JS) zal de waardes opvangen en weergeven. Nog een voordeel is dat je met Smarty server-side kan cachen, als je dit instelt!
DB Engine
Vooral omdat in PHP6 ook mysql_query() eruit gaat ben ik overgestapt naar een DB-engine. Een groot voordeel van adoDB is dat het opensource is! Met adoDB is het overstappen naar andere databases een eitje! of je nu MYSQL, MSSQL of een andere database gebruikt. adoDB ondersteund het, met 1 waarde veranderen zet je jou script over naar een andere database. IPV elke mysql_query() om te zetten naar mssql_query();
Aangezien je nog niet weet wat een template en DB engine is denk ik niet dat je klaar bent voor het schrijven van een eigen CMS. Je kan beter beginnen met het installeren van CMS'en als Wordpress, Joomla en Drupal en hier wat mee beginnen prutsen. Hier ga je heel veel van opsteken en ga je ook beter inzicht krijgen hoe je aan zoiets moet beginnen.
Het leren van MVC is ook een onmisbare stap voor je aan een degelijk CMS begint.
Leer abstract programmeren want als je dit niet doet loop je binnen de kortste keren tegen problemen. Ik weet waar ik over spreek . Ik heb het vroeger ook allemaal meegemaakt.
MVC dat heb ik al een wel een stuk onder de knie. Dat heb ik al toegepast in java-applicaties. Maar nog nooit via PHP, ik veronderstel echter dat dit niet zo'n groot verschil maakt? of toch?
Dat ik nog niet zo veel ervaring heb is inderdaad waar, maar je moet toch ergens beginnen hé.
Eigenlijk zie ik "mijn eigen CMS" eerder als een lang(er) lopen project en ook om ervaring op te doen, voor mezelf dan, in iets grotere projecten.
Ik stelde ook hier de vraag om er juist meer over te weten te komen. Door de opmerking om een template en dbEngine te gebruiken weet ik weer al wat bij en kan ik dat voor mezelf ook eens bekijken en onderzoeken hoe dat werkt.
Dus verder tips zijn zeker en vast welkom. Misschien luk ik inderdaad niet (meteen) in mijn opzet, maar ik vind zoiets je niet mag tegenhouden om voor jezelf een uitdaging aan te gaan. Wat dit eigenlijk wel is voor mij.
Begin met iets simpel zoals bijvoorbeeld een uitgebreid forumpje o.i.d. maar begin niet gelijk met zoiets moeilijks als je (naar mijn idee) niet genoeg verstand van zaken hebt.
Een CMS start imho bij een goed onderliggend framework, zeker als je dit later makkelijk wilt kunnen uitbreiden...
Denk vooral goed na over security, voorkom XSS, session highjacking, ... Door bv een makkelijk (of automatisch) systeem te verzinnen voor het filteren van user input...
Daarnaast is ook de data access layer zeer belangrijk, deze moet makkelijk maar toch zeer krachtig zijn.
Ik zou beginnen met bestaande frameworks te bekijken waarop je gemakkelijk een CMS kan bouwen, zo hoef je je minder zorgen te maken met de basis dingen die al 1000den keren uitgevonden zijn...
Enkele goede PHP frameworks zijn bv Zend Framework en CakePHP
@Mythix: ik weet niet of het nog echt veel zin heeft om te reageren op een topic dat al bijna drie maand oud is en waarbij de laatste reactie ook al zo'n twee maand geleden gepost is...