• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

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();
         }
    }
    Toon Meer


    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?

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Quitta
    C++/Java/Python/PHP/JS/CSS/XSLT/Haskell/Prolog
    Ontvangen Reacties
    6
    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
    Ontvangen Reacties
    6
    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
    Ontvangen Reacties
    31
    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
    Master
    Ontvangen Reacties
    9
    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
    Ontvangen Reacties
    6
    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
    Ontvangen Reacties
    31
    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
    Master
    Ontvangen Reacties
    9
    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
    Ontvangen Reacties
    31
    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
    Intermediate
    Ontvangen Reacties
    29
    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
    Student
    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
    Intermediate
    Ontvangen Reacties
    29
    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.

Participate now!

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

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

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

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design