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.
<?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?
<?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 :-)
1.383 views