• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Syntax 14 oktober 2026 om 16:04
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31
  • Hoe gebruiken jullie WhatsApp voor marketing en klantopvolging?

    aiqanobzfsej5 29 september 2026 om 12:55

Marktplaats

  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 20 oktober 2026 om 20:45
  • [TE KOOP] Likeboost24.nl: complete SMM-webshop met eigen merk, volautomatische levering en betalen op de eigen pagina

    Jeroen.G 16 oktober 2026 om 14:27
  • Te koop: TuinKlussen.be, een kant-en-klaar platform voor tuinklussen in Vlaanderen en Brussel

    frio 13 oktober 2026 om 21:08

Framework

  • yooouuri
  • 10 januari 2014 om 13:30
  • yooouuri
    Beginner
    Berichten
    11
    • 10 januari 2014 om 13:30
    • #1

    Hallo allemaal.

    Ik zit met een probleem.

    Het framework bestaat uit:

    database (connectie class)
    session (sessie class)
    user (alle gebruiker gegevens class)
    language (met deze klas word de taal vastgesteld, xml bestand geladen)

    Alleen een probleem, ze classes hebben dingen van elkaar nodig.

    Nu heb ik het zo:

    PHP
    class Framework {
         public $database, $session, $user, $language;
    
    
         public function __construct() {
              // The core classes
              $this->database = new Database();
              $this->session = new Session();
              $this->user = new User();
              $this->language = new Language();
         }
    }
    Meer tonen


    De language class heeft de user class nodig.
    De user class heeft de sessie en de database class nodig.

    Wat ik geprobeerd heb is de sessie class hem te extenden aan het Framework maar dat werkt niet.

    Uiteindelijk moet je simpel een klasse aan kunnen maken en deze te extenden aan het framework zodat je alles kan gebruiken!


    Hoe is dit op te lossen?

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Quitta
    C++/Java/Python/PHP/JS/CSS/XSLT/Haskell/Prolog
    Berichten
    171
    • 10 januari 2014 om 13:43
    • #2

    Dependency Injection pattern?
    http://fabien.potencier.org/article/11/wha…dency-injection

    maw je objecten meegeven als parameter met je constructors zodat je loosely coupling verkrijgt.

  • yooouuri
    Beginner
    Berichten
    11
    • 10 januari 2014 om 14:12
    • #3
    Citaat van Quitta

    Dependency Injection pattern?
    http://fabien.potencier.org/article/11/wha…dency-injection

    maw je objecten meegeven als parameter met je constructors zodat je loosely coupling verkrijgt.

    Als ik het goed begrijp?

    PHP
    class Framework {
        public $database, $session, $user, $language;
        public function __construct() {
            // The core classes
            $this->database = new Database();
            $this->session = new Session();
            $this->user = new User($this->session, $this->database);
            $this->language = new Language($this->user);
        }
    }

    En dan kan je doormiddel van de constructors de klasses gebruiken?

  • Quitta
    C++/Java/Python/PHP/JS/CSS/XSLT/Haskell/Prolog
    Berichten
    171
    • 10 januari 2014 om 14:22
    • #4

    Je geeft als het ware via je parameters van de constructors die objecten mee, waardoor je deze nu volledig kunt gebruiken (althans de public attributes ervan)

    Dus dat is inderdaad wat ik er ook van begrijp ;)

  • yooouuri
    Beginner
    Berichten
    11
    • 10 januari 2014 om 14:42
    • #5
    Citaat van Quitta

    Je geeft als het ware via je parameters van de constructors die objecten mee, waardoor je deze nu volledig kunt gebruiken (althans de public attributes ervan)

    Dus dat is inderdaad wat ik er ook van begrijp ;)

    Het werkt.

    In de framework klasse:

    PHP
    $this->user = new User($this->database, $this->session);

    In de user klasse:

    PHP
    public function __construct($database, $session) {
        $this->database = $database;
        $this->session = $session;
    }

    Dit is de enige manier om het zo dus op te lossen?

  • M.Beers
    Elite members
    Berichten
    460
    • 10 januari 2014 om 16:08
    • #6

    Het is natuurlijk niet de enige manier om dit op te lossen. Maar wel de meest gebruikelijke...
    Ikzelf ben ook al een tijd bezig met een framework en ik heb sinds kort ook een simpele dependency container gemaakt voor al mijn classes. Ik ga de Core hiervan binnenkort releasen... (staat momenteel als private repository in git)

    Via de volgende link zie je een voorbeeld hoe ik het heb gedaan ;)

    http://pastebin.com/sHEPngTL

    Dit was mijn spreekbeurt, zijn er nog vragen?

  • Stefan.J
    Meester
    Berichten
    2.358
    • 10 januari 2014 om 20:02
    • #7

    Een Framework-class die alle referenties heeft is sowieso geen goed idee. Inversion of Control (waarop dependency injection is gebaseerd), is een prima, zo niet de beste oplossing.

    Het bouwen van een eigen framework is echter altijd een slecht idee. Eén uitzondering daargelaten: om bij te leren. Mocht je dus een framework zoeken voor productie, neem dan een bestaande..

  • Quitta
    C++/Java/Python/PHP/JS/CSS/XSLT/Haskell/Prolog
    Berichten
    171
    • 10 januari 2014 om 20:37
    • #8

    Stefan, wat is dan wel de 'beste' oplossing en hoe pakken frameworks zoals cakePHP en codeIgniter dit dan aan? Ik heb me er zelf nooit echt in verdiept..

  • M.Beers
    Elite members
    Berichten
    460
    • 10 januari 2014 om 23:26
    • #9

    Frameworks als Cake en Codeigniter pakken het op precies dezelfde manier aan als dat je er een zelf schrijft ;) ALLEEN het grote verschil tussen deze frameworks is dat er vaak een bedrijf/community achter zit. Bij CodeIgniter is dit bijvoorbeeld Ellislab waarbij CodeIgniter gebruikt word als Core van hun dienst ExpressionEngine. Het voordeel hiervan is is dat je binnen 2 dagen een update kan verwachten wanneer dit nodig is omdat het bijvoorbeeld niet veilig is.

    Daarom adviseert Stefan om geen framework te maken wanneer je geen idee hebt hoe je zoiets moet doen. Zeker omdat m.b.t. veiligheid je mensen van verschillende disciplines nodig hebt om zoiets goed te maken. Maar desondanks een goed leerproject.

    Dit was mijn spreekbeurt, zijn er nog vragen?

  • Stefan.J
    Meester
    Berichten
    2.358
    • 10 januari 2014 om 23:58
    • #10

    CakePHP vind ik persoonlijk zeker geen goed framework. Als je kijkt naar de werking van model objecten (tenminste, een half jaar terug), zie je dat deze een save of zelfs een statische getAll of query method hebben. Dit is tegen alle principes in. Een model zoals een User heeft properties, en die kun je opvragen. Een user kan zichzelf niet opslaan, daarvoor heb je een UserService of een UserRepository.

    Het principe dependency injection is in de PHP-wereld nog niet helemaal doorgedrongen. Maar grote Java-frameworks zoals Spring of zelfs de Java EE standaard zweren erbij. DI biedt de mogelijkheid eenvoudig functionaliteit te verdelen over classes die één ding en alleen één ding te doen. Daarnaast komt het de testbaarheid van code ten goede. Daarbij komt de vuistregel die eigenlijk altijd klopt: Als je code niet of slecht testbaar is middels unittests, is je design niet correct.

    PHP frameworks die meer in zich hebben als een gemiddeld PHP-framework waarvan ik op de hoogte zijn zijn Symphony en Yii. Daarbij moet ik wel zeggen dat mijn PHP-kennis ongeveer een jaar achterloopt..

  • M.Beers
    Elite members
    Berichten
    460
    • 11 januari 2014 om 00:42
    • #11

    Sinds php 5.3 kun je dit helemaal toepassen als het goed is. Momenteel is de Core van Yii 50% langzamer op mn benchmark dan mijn eigen geschreven Core dus ik hoop dit ook zo te houden :thumbup: al blijft het in eerste instantie een leerproject.

    Dit was mijn spreekbeurt, zijn er nog vragen?

  • DirkZz
    Gevorderd
    Berichten
    213
    • 11 januari 2014 om 22:21
    • #12

    En als je toch naar verschillende frameworks gaat kijken, dan raad ik persoonlijk Laravel aan.

    Laravel is tegenwoordig mijn vertrekpunt wanneer ik een nieuwe web-site/applicatie in php wil maken.

  • Newtimes
    Leerling
    Berichten
    62
    • 12 januari 2014 om 10:57
    • #13
    Citaat van DirkZz

    En als je toch naar verschillende frameworks gaat kijken, dan raad ik persoonlijk Laravel aan.

    Laravel is tegenwoordig mijn vertrekpunt wanneer ik een nieuwe web-site/applicatie in php wil maken.

    Ik had al een tijdje op mijn todo lijst staan om Laravel te gaan leren / gebruiken, ben er nu 2 dagen mee bezig.
    Conclussie: ik ben verliefd :O, clean overzichtelijk degelijk snel up-2-date etc.

  • Kwolfs
    Leef vandaag, niet gister
    Berichten
    200
    • 12 januari 2014 om 23:43
    • #14

    Ik heb een tijdje geleden Laravel geprobeerd, alleen ik vondt het niet heel erg super.. Gelukkig heb ik nu zelf een eigen Framework gemaakt waarmee ik de meeste website opbouw.

    Met vriendelijke groeten,

    Kenneth Wolfs

  • DirkZz
    Gevorderd
    Berichten
    213
    • 14 januari 2014 om 17:37
    • #15
    Citaat van Newtimes

    Ik had al een tijdje op mijn todo lijst staan om Laravel te gaan leren / gebruiken, ben er nu 2 dagen mee bezig.
    Conclussie: ik ben verliefd :O, clean overzichtelijk degelijk snel up-2-date etc.

    :D Ik kan mezelf wel vinden in jouw conclusie, dat was ook mijn eerste reactie.
    CodeIgniter was wel leuk, maar Laravel werkt veel intuïtiever, en zit beter in elkaar.

    @Kwolf

    Wat kon Laravel niet leveren wat jij met je eigen framework wel kan? Ben wel benieuwd.

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Jeroen.G 22 oktober 2026 om 14:30

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design