• 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

  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Syntax 14 oktober 2026 om 16:04
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    Luc 13 oktober 2026 om 21:31
  • Crime Club volledig herschreven vanaf nul

    frio 13 oktober 2026 om 16:52
  • Herkent deze Notion-structuurscan echte problemen?

    FreelanceAP 6 oktober 2026 om 16:48
  • 🚀 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
  • [PROJECT] Gamekeuring.nl - Hét onafhankelijke keuringsplatform voor maffiagames & RPG's!

    frio 22 september 2026 om 16:40

Marktplaats

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

    frio 14 oktober 2026 om 15:06
  • Te koop: TuinKlussen.be, een kant-en-klaar platform voor tuinklussen in Vlaanderen en Brussel

    frio 13 oktober 2026 om 21:08
  • Te koop: Port Father, afgewerkt online maffiaspel in PHP/MySQL, klaar voor de Play Store

    frio 11 oktober 2026 om 14:02

OOP database class + error class

  • Luc
  • 3 december 2012 om 22:09
  • Luc
    Software Engineer
    Berichten
    1.988
    • 3 december 2012 om 22:09
    • #1

    Beste,

    Momenteel probeer ik een site te schrijven in oop in samenwerking met een template parser.

    Nu wil ik een database class en error log class gaan implementeren in de site.

    Wat is een goede manier om deze 2 dingengoed aan te roepen in mijn classes.

    Momenteel maak ik een connectie buiten de class, en zorg dat hij aan de constructor wordt meegegeven. Maar is er misschien ook een manier om beide zonder aan een constructor mee te geven te laden.

    Hier was ik wel benieuwd naar.

    Met vriendelijke groet,

    Luc

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Tim
    Expert
    Berichten
    3.685
    • 3 december 2012 om 22:16
    • #2

    Hallo,

    Een database connectie maken buiten de database klasse lijkt mij heel onlogisch.

    Je kan met excepties werken en errors opvangen en deze doorsturen naar de log klasse.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • Luc
    Software Engineer
    Berichten
    1.988
    • 3 december 2012 om 22:25
    • #3

    ow nee zo bedoelde ik het niet met de database.

    Momenteel doe ik:
    $db = new db;

    $class = new class($db);

    zelfde geld voor de errorlog.

    Maar is er ook een manier om dit anders te doen? Voorbeelden zouden handig zijn.

    Alvast vriendelijk bedankt

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 4 december 2012 om 11:42
    • #4

    Je kan het singleton pattern implementeren.

    Het komt neer op een private/protected constructor. Een statische variabele waar je de enige instantie van de connectie in opslaat en een statische methode die een nieuw object aanmaakt als dat nodig is, opslaat in de statische variabele en deze daarna returned.
    Er zijn genoeg voorbeelden van te vinden.

    miauw!

  • Luc
    Software Engineer
    Berichten
    1.988
    • 4 december 2012 om 20:24
    • #5

    Bedankt heb nu zo'n registry class gevonden en bewerkt in mijn applicatie.

    Wat mij betreft mag dit topic op slot maar als iemand anders nog ideeen heeft of tips om goed in classes te schrijven etc hoor ik dat graag is trouwens ook interresant voor anderen


    EDIT:
    Momenteel kan ik de registry nog altijd niet aanroepen in een andere class.

    Code
    Class Db
    {
        public function connect()
        {
               $registry->log->set("connectie aanmaken");
        }
    }

    Hopelijk kunnen jullie me ermee helpen.

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

    Bewerkt één keer, laatst door Luc (4 december 2012 om 22:05).

  • Stefan.J
    Meester
    Berichten
    2.358
    • 6 december 2012 om 11:01
    • #6

    Darsstar: Het singleton pattern is bijna nooit een goed idee. Voor een class die de database connectie beheerd ook zeker niet.

    Ik heb wel vaker commentaar gegeven op dit soort ideeën. Alleen een Database class is sowieso niet genoeg. Je zult ook al snel classes krijgen als Query en DatabaseResult. Zie ook mijn reactie in het volgende topic:

    [OO] Voorbeeld class

  • M.Beers
    Elite members
    Berichten
    460
    • 6 december 2012 om 14:54
    • #7

    Een registery of bootstrap classe is de classe waar je vaak je applicatie mee begint, in dit bestand sla je al je objecten in op waardoor je deze door heel je applicatie kan oproepen.
    Dit kan met een singleton pattern wat Darsstar zegt, of met getters en setters. Hierbij heeft elke methode zijn voor- en nadelen.
    Het singleton pattern is Stefan.J zegt alleen niet aan te raden, maar is mogelijk omdat het allen voor het aanroepen is van je library.

    Een heel basic maar slecht voorbeeld
    application.php

    PHP
    class Application
    {	
    	/**
    	 * The class constructor
    	 */
    	public function __construct()
    	{
    		$this->db = new DatabaseManager();
    		$this->template = new TemplateManager();
    	}	
    }
    Meer tonen

    index.php (die van je applicatie)

    PHP
    require('application.php');
    $app = new Application();
    
    
    $app->db; //om je database aan te roepen

    Mocht je hiervan het principe niet snappen is OOP denk ik nog een te grote stap voor je. Dan raad ik je aan om een tijde te gaan kloten met Java of C# omdat je hierin goed het pricipe van OOP aanleerd.

    Dit was mijn spreekbeurt, zijn er nog vragen?

  • Luc
    Software Engineer
    Berichten
    1.988
    • 6 december 2012 om 18:48
    • #8

    M.Beers,

    Dat snap ik wel,

    Maar ik wil eigenlijk zoiets creeëren als een framework dat heeft, dat ik op een of andere manier altijd de database kan aanroepen, in welke class ik ook zit (zonder new Database te hoeven doen) .

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

Registratie

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

Nu registreren Aanmelden

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. 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