[Jullie input]Opensource linkpartnersysteem
Ik (Jeroen Langenberg) ben bezig met een groot project wat later helemaal opensource gaat worden. Het gaat hierbij om een linkpartnersysteem, waar ook banners enzo bijgezet kunnen worden. Dit systeem is ver OOP geschreven, wat wil zeggen dat ik het via classes geschreven heb, het PHP 5 is, en de classes samenwerken. Durf het alleen niet helemaal OOP te noemen, aangezien je dan de meest ingewikkelde codes ziet, en mijn codes nog redelijk simpel zijn.
Nu is het de bedoeling dat ik de front-end ga scripten, aangezien het admin panel al af gescript is. Echter zit ik met één dilemma, schrijf ik het front-end gedeelte OOP of niet... Het is de bedoeling dat het script gemakkelijk in te bouwen is, tenminste het front-end gedeelte. Dus ik wilde dit ook via classes gaan schrijven, echter maak ik dan ook gelijk gebruik van een SQL class en dergelijk, en moet de gebruiker dus gelijk een hoop classes gaan gebruiken om het script in dienst te laten treden.
Ik kan het ook schrijven like the old style, met de functies MySQL_Query etc, dan hoeft de gebruiker enkel een paar pagina's te includen, en het script moet zijn werk doen.
Dus een front-end die een banner-rotatie resulteert, samen met een hoopje linkpartners schrijven in OOP of in de oude stijl?
Bedankt voor jullie antwoorden en motivatie!
Jeroen.
Verder is het misschien handig om vanaf het begin een DBA (Database Abstraction layer) mee te nemen zoals deze in de zend framework, pear framwork, of ook sinds php 5.0 is opgenomen in PDO (zie: http://nl3.php.net/manual/en/ref.pdo.php).
Misschien een idee ook om je code in verschillende delen op te splitsen:
------------------
Database layer (data uit database halen, en er weer in stoppen, sql injection vookomen)
------------------
Exchange layer (kloppen wachtwoorden, hoe zit het met de cookies, verficatie)
------------------
Lay-out layer (data in een lay-out stoppen, eventueel gesteund door een template engine)
Success, het klinkt als een aardig project.
Tevens is dat tweede idee wat je aansnijd wel leuk, met die verschillende stappen. Dat is nu ook nog niet het geval bij mij. Ik zal voor beiden stappen nog flink wat documentatie door moeten lezen.
Dat is leuk voor vervolg versies, maar niet voor nu. Het gaat me nu echt om die FP zodat de eerste beta uitgebracht kan worden. Ik denk dat ik een groot bestand ga schrijven om al die classes in te pleuren, en dan misschien een class die alle andere classes inlaadt enzo, zodat het voor de gebruiker niet zo'n heel karwei wordt, want dan is de lol al snel van het script af.
In feite is de pdo niet veel ingewikkelder dan de standaard mysql functies, het is alleen net even een andere naam en een iets andere syntax. Het zou als je mysql snapt niet langer dan een middagje klooien moeten zijn, er is niets wezenlijk anders, behalve dat je een algemene sql query, en niet mysql query gebruikt, en van te voren je database type opgeeeft (met als voordeel dat je zonder veel code te veranderen kan overstappen op postgresql, en andere relationele databases)
Verder lijkt me documentatie in jouw geval een toverwoord, mede omdat andere ook met jouw code moeten werken.