Pergunta : OOP, classes, pergunta do accessor/mutator (newbie)

Olá!, eu tenho tocado violino com PHP por anos, mas somente apenas começado agarrar o estilo development.

So de OOP… Eu estou escrevendo minha primeira série de classes e estou usando cargas de funções do accessor e do mutator (porque aparentemente “é a coisa feita "). Uma pergunta que salte rapidamente para se ocupar sou, eu tenho que usar duas funções para o accessor e mutator ou posso eu combinar os dois? e.g.

function SetGetThing ($stin=FALSE) {
se (! $stin) {
$this->thing do retorno;
do
} mais {
$this->thing = $stin;

Seems do
do
}} a mim que halve quase o número de funções (para não mencionar o texto do phpdoc) em minhas classes. Mas… quebra alguma lei mais elevada de OOP e irrita os deuses? :)

Cheers!
class= do

Resposta : OOP, classes, pergunta do accessor/mutator (newbie)

Pôde valer a pena indic aqui, a razão para começ/função ajustado. Eu encontro que há frequentemente muitos enganos nesta área e os povos se queixam sobre o todo o isso “dactilografia desnecessária”.

Em muitas classes há os artigos de dados relacionados onde o valor de uma propriedade pode depender do valor de outra. Um exemplo simples seria uma data - o número de dias é 31 à exceção de fevereiro, de abril, de junho, de Sept e de novembro. Conseqüentemente a última coisa que você quer é alguém FORA de fazer da classe

$myClass->days = 31;

para alguns dos meses “curtos”. É APROVADO para os meses longos. Usando o accessor dos setDays você pode impedir este

setDays da função ($d) {
     se ($d > && 30 $this->month =…. fevereiro, abril .etc)
          morrer (“erro na linha”. __LINE. “no certificado”. __FILE. “- data fora da escala”);

     $this->days = $d;
}


Assim você impediu um erro que começ no sistema. Mesmo onde os valores são não-dependentes você pode e deve reforçar verificações da validação. Por exemplo se um valor pode somente ter uma escala de zero a 59 então para reforçar isso e um ou outro lance um erro, indicar uma mensagem do substituto um defeito - o que quer que é apropriado para seus dados.

Ver “ajustam” métodos como um filtro da validação para todos seus dados e certificam-se de que todas as propriedades estão declaradas que ou protegeu ou confidencial (protegida é a “norma” para 90% de todo o código)
Outras soluções  
 
programming4us programming4us