MVC Model get () ve set () vs düz-up $ modeli-> var = val

2 Cevap php

Ne ayet sadece bunları doğrudan atama, benim modellerin içinde değişkenleri ayarlamak için işlevleri kullanmak için doğru zaman nedir?

AKA ...

Ne zaman kullanırım:

$model->set('status','active');

... Yerine:

$model->status = 'active';

2 Cevap

alıcı ve ayarlayıcıları kod kullanarak kapsülleme için iyidir. Her zaman bunları kullanmak için iyi bir fikirdir.

Bu düşünün:

  • Senin modeli okumak veya değiştirilebilir (veya her ikisi) olmak muktedir istemediğiniz bazı değişkenler vardır? Ne varsa
  • Ne Hiç sadece değişken alma ve ayar dışında bir şey yapmak gerekirse? (Örneğin, veri sanatizing)?

Eğer PHP (5.x) bir son sürümünü kullanıyorsanız, size sihirli yöntemler __get() ile her iki dünyanın en iyi olsun ve __set(). (PHP reference). Tanımsız bir özellik herhangi bir erişim otomatik olarak uygun get / set işlevi yönlendirilir.

Bu gerçekten kullanmak ya da iyi bir fikir olup olmadığını ben emin değilim ki Admin gerekir, ama bir MVC sisteminde bir baz model sınıfı için iyi bir uyum gibi görünüyor.