Get Set brainstorm

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Eelco Alosery

Eelco Alosery

30/03/2012 21:11:15
Quote Anchor link
Hallo,

aangezien we in php niet zoals in C# fields kunnen instellen als private set en public get, is het gebruikelijk in php om aparte get en set functies te maken zoals dit voorbeeld.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
class StringDemo
{
    /**
      * @var $_sString string
      */

    private $_sString = '';

    /**
      * @return string
      */

    public function GetString()
    {

        return $this->_sString;
    }


    /**
      * @param $sStringValue
      */

    public function SetString($sString)
    {

        $this->_sString = $sString;
    }
}

?>


Echter vroeg ik me af of dit ook een degelijk goed (en vooral ook) duidelijk idee zou zijn?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
class StringDemo
{
    /**
      * @var $_sString string
      */

    private $_sString = '';

    /**
      * Get or Set the StringName value
      *
      * @param null|string $sString
      * @return string
      */

    public function StringName($sString = null)
    {

        if ($sString != null && $sString != $this->_sString)
        {

            $this->_sString = $sString;
        }

        else
        {
            return $this->_sString;
        }
    }
}

?>


Op deze manier heb je dan 1 public functie om een te lezen als je de parameter leeg laat, en schrijven als je de parameter vult met een waarde.

Ik lees graag jullie tip/advies hierover.

P.S. ik weet dat er ook magic __get en __set zijn, echter zijn deze niet goed ondersteund in php ide's in de intelisence.
Ik gebruik phpStorm, en daar ervaar ik dat in ieder geval :-)
Gewijzigd op 01/04/2012 11:07:16 door Eelco Alosery
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.