• Login
  • Register
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Filebase-item
  • 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. 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

  • [PROJECT] Gamekeuring.nl - Hét onafhankelijke keuringsplatform voor maffiagames & RPG's!

    frio 22 september 2026 om 16:40
  • Ictscripters / Koen

    Aaron 22 september 2026 om 15:07
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Lijno 19 september 2026 om 19:37
  • Kweekrijk - van stekje tot Imperium

    Lijno 14 september 2026 om 23:00
  • Crimora.nl

    Jeffrey.Hoekman 8 september 2026 om 18:49
  • Programmeren geocht die samen met mij maffiaskrill.com

    Dennii 2 september 2026 om 11:15
  • Gezocht mafiasnextkill

    mrsenati 1 september 2026 om 17:38
  • nieuwe game

    tigermaffia 27 augustus 2026 om 18:02

Marktplaats

  • Straatbaas.eu – complete Nederlandstalige en Engelstalige online maffia-RPG

    Syntax 25 september 2026 om 14:05
  • 402 Nieuwe Domeinnamen Augustus 2026

    shiga 19 september 2026 om 13:53
  • Ik verkoop maffiaskrill.com voor 30 eur0

    Jeffrey.Hoekman 9 september 2026 om 11:55

OOP database class + error class

  • Luc
  • 3 december 2012 om 22:09
  • Luc
    Software Engineer
    Ontvangen likes
    44
    Berichten
    1.986
    • 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

  • Tim
    Expert
    Ontvangen likes
    77
    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
    Ontvangen likes
    44
    Berichten
    1.986
    • 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
    Ontvangen likes
    44
    Berichten
    1.986
    • 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
    Ontvangen likes
    9
    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
    Ontvangen likes
    31
    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
    Ontvangen likes
    44
    Berichten
    1.986
    • 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

Participate now!

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
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
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