• 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

Nieuw met classes

  • Jackie
  • 10 november 2010 om 22:52
  • Jackie
    Hardstyle
    Berichten
    224
    • 10 november 2010 om 22:52
    • #1

    Ik ben beginner met classen en wil dat dan gaan leren.
    Ik heb deze class gemaakt, maar hij doet niet wat ik wil.

    PHP
    class Login
    {
        private $_nickname;
        private $_password;
        
        public function __construct($nickname, $password)
        {
            $this->_nickname = $nickname;
            $this->_password = $password;
        }
        
        public function getNickname()
        {
            return $this->_nickname;
        }
        
        
    }
    Toon Meer

    En zo moet ie werken

    PHP
    $login = new Login("Jackie", "xxxx");
    
    
    $login->getNickname();

    Dat moet ie toch Jackie uitspugen lijkt me, maar dat doet ie niet.

    Wat doe ik fout?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Rahl
    Gevallen leider
    Berichten
    114
    • 10 november 2010 om 22:57
    • #2
    PHP
    $login = new Login("Jackie", "xxxx"); 
    
    
    echo $login->getNickname();

    Waarom noem je je class niet gewoon "User"? Dat is veel generieker dan Login.
    En waarom gebruik je niet in plaats van getNickname() de magic method __get()?

    [offtopic]Oops, sorry voor het ervan uitgaan dat het logisch voor je lijkt, lees nu net pas dat je net begonnen was[/offtopic]

  • Jackie
    Hardstyle
    Berichten
    224
    • 10 november 2010 om 23:00
    • #3

    Omdat ik nieuwe ben met classen en ALLES WIL LEREN.

    En hoe roep ik de functie __get() aan dan?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Superior
    Master
    Berichten
    1.947
    • 10 november 2010 om 23:04
    • #4

    http://nl2.php.net/manual/en/language.oop5.magic.php

  • Rahl
    Gevallen leider
    Berichten
    114
    • 10 november 2010 om 23:04
    • #5
    PHP
    class Login 
    { 
        private $_nickname; 
        private $password; 
         
        public function __construct($nickname, $password) 
        { 
            $this->_nickname = $nickname; 
            $this->password = $password; 
        } 
         
        public function __get($property) 
        { 
            return isset($this->{"_" + $property}) ? $this->{"_" + $property} : null;
        }
         
         
    }
    Toon Meer
    PHP
    $login = new Login("Jackie", "xxxx"); 
    
    
    echo $login->nickname;
  • Jackie
    Hardstyle
    Berichten
    224
    • 10 november 2010 om 23:31
    • #6

    Hm ik snap niet waarom die "_" enzo er bij horen, maar is het fout dan om getNickname() te gebruiken?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Rahl
    Gevallen leider
    Berichten
    114
    • 10 november 2010 om 23:47
    • #7

    Die underscore heb ik gedaan zodat je niet bij het wachtwoord kunt. Het is niet heel erg om getNickname te gebruiken, maar als je 10 properties van een gebruiker hebt die je public wilt kunnen aanroepen, wordt je code heel wat overzichtelijker door al dat soort methoden in één get methode te zetten.

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 11 november 2010 om 00:31
    • #8

    Rahl: Eigenlijk niet. Private properties zijn private omdat niet iedereen er zomaar bij mag kunnen. Als je vervolgens een magic getter maakt kun je net zo goed geen visibility gebruiken. Daarbij kun je aan een gewone getter de return type defineren waardoor je IDE ook nog snapt wat je aan het doen bent. Daarbij wordt ook nog eens niet je hele code afhankelijk van de namen van de properties.

    Kortom: de magic getter is niet voor niets iets wat in heel weinig programmeertalen mogelijk is. Het is leuk bedacht, maar in de meeste gevallen niet zinvol. Alleen wanneer je datawrappers en weet ik het wel niet allemaal gaat maken, kun je hier je voordeel uithalen.

  • Rahl
    Gevallen leider
    Berichten
    114
    • 11 november 2010 om 15:14
    • #9
    Citaat van Killingdevil

    Rahl: Eigenlijk niet. Private properties zijn private omdat niet iedereen er zomaar bij mag kunnen. Als je vervolgens een magic getter maakt kun je net zo goed geen visibility gebruiken. Daarbij kun je aan een gewone getter de return type defineren waardoor je IDE ook nog snapt wat je aan het doen bent. Daarbij wordt ook nog eens niet je hele code afhankelijk van de namen van de properties.

    Kortom: de magic getter is niet voor niets iets wat in heel weinig programmeertalen mogelijk is. Het is leuk bedacht, maar in de meeste gevallen niet zinvol. Alleen wanneer je datawrappers en weet ik het wel niet allemaal gaat maken, kun je hier je voordeel uithalen.


    Ik dacht dat het met getters juist de bedoeling was de variabelen 'read-only' te maken...

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 11 november 2010 om 17:26
    • #10
    Citaat

    Ik dacht dat het met getters juist de bedoeling was de variabelen 'read-only' te maken...

    Klopt, maar als jij een class hebt met 10 properties wil je die meestal niet allemaal leesbaar maken. Daarbij is het al vreemd als je 10 properties in je class hebt (het is mogelijk, maar komt niet vaak voor).

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