• 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

[OOP] Aantal vragen

  • NielsB
  • 21 oktober 2009 om 18:40
  • Closed
  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 21 oktober 2009 om 18:40
    • #1

    Beste Mensen,

    Ik ben sinds deze maand druk bezig geraakt met het doel om meer te leren over OOP.
    En ik heb hier dus ook een goed boek over gevonden en gekocht.

    En daar stonden een aantal termen waar ik toch wel aantal vragen over heb.

    Het gaat om de volgende termen:
    - Thisof Parent / Self.
    - If / Else of Try / Catch.

    Mijn vraag luidt als volgt:
    Wanneer moet je deze dingen gebruiken en wat is beter om te gebruiken?

    Graag wil ik dan ook een aantal ideeën horen van mensen die er al wat verder in zijn geraakt.

    Mvg,
    Niels

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Pim
    Love Me Two Times
    Berichten
    2.039
    • 21 oktober 2009 om 18:46
    • #2

    Parent & Self zijn van statische klassen, wat je daarmee meer kan snap ik tot op heden ook niet. (Is denk ik voor wat overzicht te hebben welke klassen altijd worden aangeroepen.)

    Try {blablabla} is hetzelfde als if(blablabla)

    tussen try past gewoon meer ;) en bij catch kan je gebruik maken van exceptions

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 21 oktober 2009 om 18:57
    • #3

    ik las dat try / catch een vernieuwde versie van if en else was en beter ofso.

    maar weet niet of ik dit dan ook echt moet toepassen..
    dus daarom hoop ik dat er mensen zijn met tips etc.

    maar weet niet of er iemand is die weet wat beter is parent & self of this.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 21 oktober 2009 om 19:03
    • #4
    Citaat van php.net

    The pseudo-variable $this is available inside any class method when that method is called from within an object context. $this is a reference to the calling object (usually the object to which the method belongs, but possibly another object, if the method is called statically from the context of a secondary object).

    PHP
    <?php
    
    
    class Boe {
    
    
        public static $schrik;
    
    
        public static function argh()
        {
            self::$schrik = 'miauw';
        }
    
    
        protected $argh = 'boe';
    
    
        public function schrik()
        {
            $this->argh = 'schrik';
            $this->show();
        }
    
    
        public function show()
        {
            echo $this->argh; // slecht idee om een echo in een class te zetten maar het is een voorbeeld
        }
    }
    
    
    class Schrik extends Boe {
    
    
        public function show()
        {
            echo '$this->argh = ';
            parent::show();
        }
    }
    
    
    $boe = new Boe;
    $boe->argh = 'schrik';
    $boe->show();
    echo '<hr />';
    $boe->schrik(); // precies het zelfde resultaat
    echo '<hr />';
    Boe::$schrik = 'bla';
    echo Boe::$schrik;
    echo '<hr />';
    $boe2 = new Boe;
    $boe2->schrik();
    echo '<hr />';
    echo Boe::$schrik; // we hebben 2 verschillende instanties van Boe, maar het blijft het zelfde! cool he!
    echo '<hr />';
    $schrik = new Schrik;
    $schrik->show(); // we hoeven Boe::show() niet helemaal overnieuw te coden =]
    Toon Meer

    Even snel getypt...
    Maar ik moet nu weg, als ik terug kom en nog niemand heeft het try catch block goed uitgelegd zal ik dat proberen.

    miauw!

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 21 oktober 2009 om 19:06
    • #5

    ja dan gelijk van mij een vraag

    dat self::$schrik wat betekent dat nu precies?

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 21 oktober 2009 om 19:25
    • #6

    Ik heb volgens mij gevonden wat ik moest weten:
    Het verschil tussen statische variabelen en standaardattributen is dat ze niet toegankelijk zijn binnen de klasse via $this. In plaats daarvan gebruik self, gevolgd door de scope resolution operator en de naam van de variabele, met zijn voorafgaande dollarteken.

    Voorbeeld:

    PHP
    class EenKlasse
    {
        public static $teller = 0;
        function __construct()
        {
            self:: $teller++
        }
    }

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Niels
    -1
    Berichten
    1.360
    • 21 oktober 2009 om 19:44
    • #7
    Citaat van NielsB

    ik las dat try / catch een vernieuwde versie van if en else was en beter ofso.

    maar weet niet of ik dit dan ook echt moet toepassen..
    dus daarom hoop ik dat er mensen zijn met tips etc.

    maar weet niet of er iemand is die weet wat beter is parent & self of this.

    Try is gewoon een soort van test blok. Ontstaat er een error tussen de try accolades dan vang je met Catch de fout op.

    http://nl2.php.net/manual/en/language.exceptions.php
    Staat wel zat op dacht ik zo.

    -1

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 21 oktober 2009 om 19:55
    • #8

    Een try-catch block is heel iets anders als een if-else systeem.

    Try-catch blokken gebruik je voor foutafhandeling. Een voorbeeld als volgt:

    PHP
    <?php
    
    
    try {
      $query = mysql_query("SELECT * FROM a WHERE id = '3'") or
        throw new Exception("Gegevens kunnen niet worden gevonden.");
      mysql_fetch_assoc($query);
    } catch(Exception $e) {
      echo $e->getMessage() ."<br />";
    }
    
    
    //Rest van de code
    
    
    ?>
    Toon Meer

    Door middel van een try-catch block kun je bepaalde code niet uitvoeren als er een fout optreed, en de rest van de code gewoon wel. Wanneer je een Exception gooit (throw new Exception()), springt hij namelijk naar het catch block. Als je geen Exception gooit, voert hij alleen het try block uit.

  • K.Rens
    Eigenaar
    Ontvangen Reacties
    241
    Berichten
    4.473
    Filebase Entries
    2
    • 21 oktober 2009 om 22:01
    • #9

    Persoonlijk vind ik dat die try, new exception & catch zaken enkel zijn ingevoerd om programmeurs van andere talen sneller naar PHP te halen.
    Zie niet in waarom men niet gewoon if else kon blijven gebruiken...

    Gebruik ze zelf ook vaak door elkaar (afhankelijk per klant/site - historisch gegroeid), wat verwarrend werkt...

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 21 oktober 2009 om 22:44
    • #10

    Ik vind exceptions wel degelijk handig. Wanneer je met een framework of gewoon OOP programmeert, kunnen er dingen mis gaan in methodes, wat je niet wilt returnen. Exceptions zijn dan een betere uitkomst, mede omdat het met debuggen ook een stuk beter werkt. Daarnaast kun je de fout gewoon veel beter afhandelen in een try block, dan in een if-else statement.

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 22 oktober 2009 om 11:28
    • #11

    Volgens mij is de manier van het gebruiken van een try block dat het snel en handig werkt..

    Kijk je kan ook een array maken en daarin je fouten zetten en dan gewoon weergeven via een foreach, maar volgens mij werkt het met zo'n try block sneller.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 22 oktober 2009 om 12:49
    • #12

    Zoals killingdevil al zegt is het erg handig in methodes waarin je geen vreemde dingen wilt returnen die verschillende kunnen errors voorstellen. (bij voorbeeld -1 voor fout 1, -2 voor fout 2 enz.)
    Verder is een try-catch block de enige manier om een Exception op te vangen. (tenzij je set_exception_handler() hebt gebruikt).

    Verder kun je normale errors omzetten in exceptions. (zie http://www.php.net/manual/en/class.errorexception.php)

    Maar stel je eens voor dat je een methode/functie hebt die weer een andere methode/functie aanroept en dat nog een paar keer.
    Als jij zonder exception wil laten weten dat er iets fout ging (en wilt kunnen achter halen wat bijvoorbeeld door errors codes te geven oid) dan zul je steeds rekening moeten houden met wat de methode/functie binnen die functie als error codes kan returnen...
    Als je dan ooit een de diepst geneste functie/methode aanpast zul je ook meteen alle andere functies/methodes aan moeten passen.
    Gebruik je exceptions dan maakt het niet uit wanneer je ze opvangt...
    Als je ze maar opvangt, anders krijg je een "FATAL ERROR: Uncaught Exception ..."

    Hopelijk worden mensen hier wijzer uit :p

    miauw!

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 22 oktober 2009 om 22:00
    • #13

    En als je meent ze niet te hoeven opvangen.:p Dan kun je altijd nog een functie schrijven die automatisch uncaught exceptions opvangt. De functie die je hiervoor schrijft moet je als callback meegeven aan set_exception_handler

    Deze functie wordt dus aangeroepen als je een Exception niet opvangt, vervolgens kun je hem in de functie alsnog afhandelen.

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