OOP vraagje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

Bekijk vacature »

Fullstack developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een andere uitdaging? Voor een erkende werkgever in de omgeving van Breda zijn wij op zoek naar een Fullstack developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Software Ontwikkelaar PHP gezocht! Wij zijn op zoek naar een ervaren PHP Software Ontwikkelaar om het team van onze opdrachtgever te versterken! De ideale kandidaat zal fungeren als verlengstuk van klanten en complexe technische vraagstukken met enthousiasme benaderen. Naast het werken met de nieuwste technologieën, ben je in staat om aan meerdere projecten tegelijkertijd te werken. Als je deze uitdaging aangaat, werk je nauw samen met front-end developers en draag je bij aan het realiseren van grote veranderingen bij klanten. Het bedrijf zoekt iemand die zichzelf graag uitdaagt en altijd streeft naar het leveren van de beste resultaten.

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Fullstack Developer

Functieomschrijving Heb je kort geleden jouw HBO diploma ICT development behaald? Of zit je nog aan het begin van je carrière en heb je affiniteit met C#.NET? Voor een erkende werkgever in de omgeving van Oosterhout zijn wij op zoek naar een fullstack developer. Als C#.NET developer werk je samen met een vooruitstrevend team aan het ontwikkelen van maatwerk software voor klanten. Je hebt affiniteit met SQL, maar nog belangrijker is dat je kennis en ervaring hebt met C#.NET. Jouw werkzaamheden zien er als volgt uit: Het ontwikkelen van onze high-availability en high-performance backend; Je begint de dag rond 8:30

Bekijk vacature »

Magento developer

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »
Ozzie PHP

Ozzie PHP

02/08/2011 08:49:52
Quote Anchor link
Een vraagje over OOP... ik probeer het OOP denken een beetje te begrijpen. Stel, ik wil dat mijn framework / cms bij iedere pagina de naam en de url van de bijbehorende website ophaalt (en misschien nog wel een aantal meer gegevens, maar laten we het voorbeeld even simpel houden). Wat is dan de juiste OOP gedachte?

een paar mogelijkheden:

1)
Je "set" de de naam en de url van de website door het aanroepen van een WebsiteSettings class, dus als volgt: WebsiteSettings::setSettings(). Als je nu de naam van de website wil ophalen dan zeg je $website_name = WebsiteSettings::getName(); De naam en de url van de website worden in de WebsiteSettings class opgehaald door middel van 2 methodes die in de class zelf staan.

2) Idem als scenario 1, echter de WebsiteSettings class maakt gebruik van 2 losse classes, WebsiteName om de naam op te halen en WebsiteUrl om de url op te halen. Er zijn in totaal dus 3 bestanden.

3) De naam en url worden opgehaald door hun eigen object aan te spreken, dus $website_name = new WebsiteName. $website_name = $website_name->getName(); en voor de url geldt dan hetzelfde.

4) $website = new Website(); $website_name = $website->getName();

Wat is de juiste manier? Of is er nog een beter manier?
Gewijzigd op 02/08/2011 09:36:29 door Ozzie PHP
 
PHP hulp

PHP hulp

27/12/2024 06:21:57
 
Pim -

Pim -

03/08/2011 04:06:01
Quote Anchor link
Sowieso manier 4. Ik zou je klasse wel config noemen. Je kan daarin dan bijv je gegevens uit een ini bestand oid halen. Hard coden kan natuurlijk ook.
 
Joren de Wit

Joren de Wit

03/08/2011 12:44:52
Quote Anchor link
Je moet de website als een object zien. De naam en de url zijn dan eigenschappen van dat object, en dus properties van je Website klasse.

Bij het instantieren van de Website klasse zou je parameters kunnen accepteren die respectievelijk de naam en de url weergeven. Dus zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$oWebsite
= new Website($naam, $url);
?>

Als het altijd dezelfde website is, kun je ook de suggestie van Pim gebruiken...
 
Ozzie PHP

Ozzie PHP

03/08/2011 13:39:30
Quote Anchor link
Ik dacht zelf om de naam van de website uit de database te halen en te cachen in een config bestand, hetzelfde voor de url en andere gegevens. En dit config bestand dan inlezen in de Website / Config class.

Pim, waarom zou jij de klasse config noemen? Je krijgt dan dus zoiets als

$config = new Config();
$website_name = $config->getWebsiteName();

Is een klasse config niet te globaal dan?

Maar jullie zeggen dus dat manier 4 de beste is, maar nu is het wel zo dat ik op die manier als ik de website naam nodig heb in een methode ik dan iedere keer het Website of Config object moet aanmaken. Is statisch aanroepen dan niet handiger eigenlijk?

$website_name = Website::getName();

Oh ja, het Website / Config object kan eigenlijk ook maar 1 keer voorkomen zou je zeggen... en eigenlijk dus vreemd als je het meerdere keren kan aanmaken toch?
Gewijzigd op 03/08/2011 14:03:32 door Ozzie PHP
 
Jelmer -

Jelmer -

03/08/2011 14:43:33
Quote Anchor link
Singleton of (beter) Dependency Injection
 
Ozzie PHP

Ozzie PHP

03/08/2011 14:49:22
Quote Anchor link
Singleton begrijp ik... maar Dependency Injection niet echt... Hoe pas je dat toe op mijn voorbeeld van de website naam en url?
 
Jelmer -

Jelmer -

03/08/2011 14:53:43
Quote Anchor link
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
22
23
24
25
26
<?php

class Config
{
    public function get($key);
}


class Website
{
    protected $config;
    
    public function __construct(Config $config)
    {

        $this->config = $config;
    }


    public function sitenaam()
    {

        return $this->config->get('sitenaam');
    }
}


$config = new Config();
$site = new Website($config);
echo $site->sitenaam();
?>
 
Ozzie PHP

Ozzie PHP

03/08/2011 15:05:39
Quote Anchor link
Jelmer, bedankt voor het voorbeeld. Ik neem aan dat in de methode sitenaam() je eerst de sitenaam ophaalt en die meegeeft aan de get? Zoiets bijvoorbeeld?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
public function sitenaam()
{

   // code om sitenaam op te halen
   return $this->config->get($sitenaam);
}

?>


Maar wat is hier nu precies het voordeel van? Want dat begrijp ik even niet helemaal.
 
Kees Schepers

kees Schepers

03/08/2011 15:07:40
Quote Anchor link
Ozzie PHP op 03/08/2011 14:49:22:
Singleton begrijp ik... maar Dependency Injection niet echt... Hoe pas je dat toe op mijn voorbeeld van de website naam en url?


Heel goed artikel:
http://components.symfony-project.org/dependency-injection/trunk/book/01-Dependency-Injection
 
Ozzie PHP

Ozzie PHP

03/08/2011 15:17:20
Quote Anchor link
Thanks, maar wel lastig... begrijp nog steeds niet helemaal hoe dit van toepassing is op mijn vraag... :-s
 
Ozzie PHP

Ozzie PHP

04/08/2011 16:19:54
Quote Anchor link
* bump * Durft iemand het aan om mij (op een simpele manier) het voordeel van dependency injection uit te leggen? Die singleton begrijp ik prima, maar bij depenency injection moet het kwartje nog even vallen... Ik hoop dat iemand het kan uitleggen in jip en janneke taal :)
 
Jelmer -

Jelmer -

04/08/2011 17:01:18
Quote Anchor link
Ander voorbeeldje, waar het nog iets vanzelfsprekender is. Dit zou werkende code zijn:
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
22
<?php

class TopicStore
{
    protected $db;

    public function __construct()
    {

        $config = new Config('config/production.ini');
        
        $this->db = new MySQLi($config->get('db.username'), $config->get('db.password'));
    }


    public function findAll()
    {

        return ...
    }
}


$topic_store = new TopicStore();
$topics->findAll();
?>

Maar het is wat vreemd om de naam van je config-bestand in je TopicStore class neer te zetten. Bijvoorbeeld, stel dat ik een wat grotere site heb met 2 fora, en ik wil op een bepaalde pagina eigenlijk allebei wel tonen. Moet ik dan 2 TopicStore classes definiëren alleen maar omdat die ene de topics uit een andere database moet gaan lezen?
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
22
23
24
25
26
27
<?php

class TopicStore
{
    protected $db;

    public function __construct($db)
    {

        $this->db = $db
    }

    public function findAll()
    {

        return ...
    }
}


$site_a_config = new Config('config/production.ini');
$site_a_db = new MySQLi($config->get('db.username'), $config->get('db.password'));
$site_a_topic_store = new TopicStore($site_a_db);

$site_b_config = new Config('../andere-site/config/production.ini');
$site_b_db = new MySQLi($config->get('db.username'), $config->get('db.password'));
$site_b_topic_store = new TopicStore($site_b_db);

$topics = array_merge($site_a_topics->findAll(), $site_b_topics->findAll());
?>

Maar als ik nu een instantie van TopicStore wil hebben, moet ik bij het instantiëren wel de dingen waar hij afhankelijk van is meegeven, z'n dependencies. Dit hierboven is het allersimpelste voorbeeld van dependency injection.

Omdat sommige classes (indirect) afhankelijk zijn van vanalles en nog wat, zie je vaak dat je niet alle afhankelijkheden individueel aan de constructor geeft, maar een container die al die afhankelijkheden bevat. Simpel voorbeeld:

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
class DependencyContainer
{
    public $db;

    public $auth;

    public $topic_store;
}


class TopicStore
{
    protected $dependencies;

    public function __construct(DependencyContainer $container)
    {

        $this->dependencies = $container;
    }

    
    public function findAll()
    {

        return $this->dependencies->db->query(...);
    }
}


class Controller
{
    protected $dependencies;
    
    public function __construct(DependencyContainer $container)
    {

        $this->dependencies = $container;
    }

    
    public function get()
    {

        $topics = $this->dependencies->topic_store->findAll();
        
        foreach ($topics as $topic)
        {

            if ($this->dependencies->auth->userMay("read", $topic))
                echo '<a href="topic.php?topic_id=" . $topic->id() . '>' . $topic->title() . '</a>';
        }
    }
}


$container = new DependencyContainer;
$container->db = new MySQLi()
$container->topic_store = new TopicStore($container);
$container->auth = new AuthenticationProvider($container);

$controller = new Controller($container);
$controller->get();
?>


Je mag je DependencyContainer zo ingewikkeld en slim maken als je zelf wilt, vaak zie je ook dat hij helemaal automatisch op basis van wat configuratiebestandjes wordt opgebouwd en gevuld.

Het nadeel zie je goed bij TopicStore. Waar je in m'n eerdere voorbeeld nog aan de constructor kon zien waar TopicStore afhankelijk van was moet je nu door de code heen zoeken naar wat er allemaal van $this->dependencies wordt gevraagd. Het voordeel van zo'n container zie je weer bij de Controller class, waar ik nu maar één parameter hoef mee te geven in plaats van specifiek een TopicStore en AuthenticationProvider.
 
Ozzie PHP

Ozzie PHP

04/08/2011 17:11:21
Quote Anchor link
Thanks Jelmer! Dit snap ik al wat beter. Is het dan dat ik in die DependencyContainer intelligentie inbouw?
Bijvoorbeeld... normaal gesproken is $this->db gelijk aan.... maar als ik in development mode zit dan is $this->db gelijk aan...

Is dat een beetje het idee?

Maar hoe is dit hele verhaal nu van toepassing op het verkrijgen van de naam of url van de website?
 
Jelmer -

Jelmer -

05/08/2011 00:33:13
Quote Anchor link
In de DependencyContainer kan je intelligentie over het opbouwen van de objecten die erin zitten stoppen. De configuratie zelf zou ik er niet in stoppen. Voorbeeldje van een intelligentere container, eentje die pas objecten aanmaakt wanneer je ze ook echt nodig hebt:
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

class DependencyContainer
{
    private $factories = array();

    private $instances = array();

    public function __set($name, $factory)
    {

        $this->factories[$name] = $factory;
    }


    public function __get($name)
    {

        if (!isset($this->instances[$name]))
            $this->instances[$name] = $this->factories[$name]($this);
        
        return $this->instances[$name];
    }
}


$container = new DependencyContainer();

$container->config = function() {
    return new Config('config/production.ini');
}


$container->db = function($container) {
    return new PDO($container->config->get('database.uri'));
}


// Nu pas worden Config en PDO geïnstantieerd. Zou ik $container->db
// niet nodig hebben gehad, dan zou er ook geen verbinding zijn gemaakt.

$container->db->query("TAART");
?>


Nu configureer ik hem nog via PHP code (door functies in PHP te schrijven) maar bijvoorbeeld Symfony framework heeft zoiets, maar dan ingewikkelder en uitgebreider, en helemaal geconfigureerd met XML of YAML.

Hoe dit terug komt in het verhaal van website naam? Geen idee, jij vroeg naar dependency injection :P

Je zou de website naam uit je configuratie kunnen lezen, en daarvoor een instantie van Config aan je Website constructor kunnen meegeven. Als je Website object niet meer dan dat nodig heeft, zie ik geen noodzaak voor een dependency container zoals deze, gewoon direct je Config object meegeven is voldoende.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$config
= new Config('config/production.ini');
$website = new Website($config);

echo $website->naam();
?>
Gewijzigd op 05/08/2011 00:34:47 door Jelmer -
 
Ozzie PHP

Ozzie PHP

05/08/2011 00:48:47
Quote Anchor link
Thanks Jelmerrrr!

Wat doet die ($this) hier? $this->factories[$name]($this);

Jelmer rrrr op 05/08/2011 00:33:13:
Hoe dit terug komt in het verhaal van website naam? Geen idee, jij vroeg naar dependency injection :P

Nou wordt ie helemaal mooi :P
Jij begon er mee!

Jelmer rrrr op 03/08/2011 14:43:33:
Singleton of (beter) Dependency Injection






Toevoeging op 05/08/2011 00:59:04:

Jelmer rrrr op 05/08/2011 00:33:13:
Je zou de website naam uit je configuratie kunnen lezen, en daarvoor een instantie van Config aan je Website constructor kunnen meegeven. Als je Website object niet meer dan dat nodig heeft, zie ik geen noodzaak voor een dependency container zoals deze, gewoon direct je Config object meegeven is voldoende.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$config
= new Config('config/production.ini');
$website = new Website($config);

echo $website->naam();
?>


Ik zie wat hiervan het voordeel is, namelijk dat 'config/production.ini' niet in de Website class zelf staat. Je kunt op die manier 'config/production.ini' makkelijk vervangen door bijvoorbeeld 'config/testing.ini'. Nu gaat het in dit geval om gegevens die niet veranderen, de naam en url van de website verandert nooit. Zou je het dan nog steeds op deze manier doen? Of dan toch het besstandje in de class zelf inlezen?
Gewijzigd op 05/08/2011 00:49:20 door Ozzie PHP
 



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.