Modulair werken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Cedric

Cedric

09/04/2008 14:33:00
Quote Anchor link
Hey

Ik ben momenteel aan het proberen om een OOP systeempje te maken die met modules werkt. Dus een kleine 'core' die modules inlaadt. De modules inladen is in feite geen probleem.

Nu maak ik op een pagina een nieuwe instantie van Core aan. Ik koppel er dan Smarty aan ($core->tpl = new Smarty;). Nu zal automatisch de module 'standaard' ingeladen worden door het systeem. Dus de het klassebestand wordt required zegmaar. Nu wil ik vanuit dat bestand de core kunnen aanspreken. Dus bijvoorbeeld om vanuit die klasse een template in te laden..

Ik heb even in een webshop zitten bladeren en gekeken hoe ze het daar doen, ze gebruiken $GLOBALS['core']. Maar als ik mij niet vergis, heeft iemand eens gezegd dat dat de oude manier van werken is. Hoe los ik dit probleem het best op?

Cedric
Gewijzigd op 01/01/1970 01:00:00 door Cedric
 
PHP hulp

PHP hulp

24/04/2024 11:19:34
 
Christiaan Baartse

Christiaan Baartse

11/04/2008 18:55:00
Quote Anchor link
Dmv de Singleton Design pattern
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
class Core
{
private function __contstruct()
{

}


public static function getInstance()
{

static $instance = null;
if(!isset($instance)){
$instance = new Core();
}

return $instance;
}

}
[
/code]

Als je nu dus Core::getInstance() aanroept krijg je altijd hetzelfde Core object terug
Gewijzigd op 01/01/1970 01:00:00 door Christiaan Baartse
 
Jelmer -

Jelmer -

12/04/2008 15:54:00
Quote Anchor link
Nuttig leesvoer over Singleton, vooral het onderdeel "Nadelen", aangezien je het over modulair werken hebt...
 
Jurgen assaasas

Jurgen assaasas

12/04/2008 16:05:00
Quote Anchor link
Ik zou ook wel eens de beste manieren zien van modulair werken. Ik wil nl een CMS ontwikkelen en eventueel hier losse modules voor schrijven. Zodat je het helemaal custom kan aanpassen.
 
Jelmer -

Jelmer -

12/04/2008 16:22:00
Quote Anchor link
Ik zou uitgaan van een onveranderbare core: deze bevat zeg maar de basis functionaliteit zoals het verwerken van aanroepen (de router) en het confguratiepaneel.

Dan zou ik daarbij een mapje maken waarin je 'modules' kan zetten, gewoon submapjes met een naam die eindigt op '.module', en allemaal een bepaald ini-bestand bevatten met een vaste naam, bijvoorbeeld 'manifest.ini'. Dat ini-bestand bevat de gegevens zoals het versienummer, de naam, de maker, en een korte beschrijving van wat de module aanbiedt. Vanuit het configuratiepaneel kan je ze aan- en uitzetten. Die instellingen kan je bijvoorbeeld opslaan in de database, of in een SQLite databaseje.

De core laadt bij iedere aanroep 1 bestandje van alle geactiveerde modules. Iedere module levert zo'n bestandje aan en dat bestandje bevat alle informatie die nodig is om de module eventueel te gebruiken. Bijvoorbeeld commando's die de module aan bepaalde events hangt, of die regels in de router stopt zodat de module kan worden aangeroepen, of configuratiepanelen toevoegt aan het grote configuratiepaneel.

Anyway, ik zou gewoon eens kijken naar hoe ze het bij Wordpress oplossen. Ik vind het zelf een heel prettig systeem om mee te werken, het is ook behoorlijk simpel om mee te werken en je hebt veel vrijheid. En volgens mij is het ook niet langzaam.
 
Christiaan Baartse

Christiaan Baartse

12/04/2008 21:51:00
Quote Anchor link
Wat jullie beschrijven is geen CMS maar een Framework.

Met een CMS beheerst je naar mijn idee de inhoud van je site dus de backend. Daarintegen gebruik je een Framework voor je frontend.

Dit kan natuurlijk wel heel dicht met elkaar verweven zijn.
Gewijzigd op 01/01/1970 01:00:00 door Christiaan Baartse
 
Willem Jan Z

Willem Jan Z

12/04/2008 21:59:00
Quote Anchor link
Waarom zou je een framework alleen voor een FrontEnd kunnen gebruiken? Naar mijn idee is een framework juist universeel en dus (zo goed als) overal voor inzetbaar. Je zal alleen niet altijd alle onderdelen van je Framework nodig hebben.

Een CMS doet in het kort dit:
informatie ophalen of wegschrijven in een database.

Lijkt me juist met een framework goed op te vangen?
 
Jelmer -

Jelmer -

12/04/2008 22:35:00
Quote Anchor link
Een framework is een raamwerk waarop je je applicatie kan ontwikkelen. Een CMS is een applicatie waarmee je je content kan beheren. Een CMS kan dus gebruik maken van een framework, en een framework kan een soort van CMS als onderdeel hebben - bijvoorbeeld om de content van het framework, de modules, te beheren.

Die Core die ik beschrijf is ook niet het CMS zelf, maar een onderdeel. De core + alle modules is het CMS. De core + de hulpmiddelen om de modules te schrijven is het framework.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.