Nasıl Zend_Db satır kümesi çıktı biçimlendirmek için?

2 Cevap php

I registries Zend_Db uzanan bir masa ve bascially fetchAll() her zaman kullandığı bazı yöntemleri başvurulan bir modeli var.

Ne olur: benim tablo DATE alanı vardır ve ben $ row-> reg_date çağırdığınızda zaten format çıkış için istiyorum. Bu modelde bir şey yaparak mümkün mü yoksa ben elle biçimlendirmek gerekiyor?

2 Cevap

Sen birkaç seçenek var:

  • Yazılsın Zend_Db_Table_Row_Abstract::__get() in your table reg_date sorarken
  • Kendi bakış yardımcısı, <?= $this->formatDate($this->row->reg_date, 'fancy'); ?> gibi bir şey ile görünümünde Biçim bunu

Doktrin muhtemelen istersiniz cevabı var, şu kesilir http://www.doctrine-project.org/documentation/manual/1_2/en/introduction-to-models#generating-models:

class User extends BaseUser
{
    public function setPassword($password)
    {
        return $this->_set('password', md5($password));
    }
}

$user = new User();
$user->username = 'jwage';
$user->password = 'changeme';

echo $user->password; // outputs md5 hash and not changeme

If I were you, ben görünüm yardımcı-seçeneği ile gitmek istiyorum. Orada özel CSS eklemek ve gitmek için tüm hazır olabilir. Eğer değişti ihtiyacınız isterseniz, tek bir yerde değiştirmek ve uygulamanızın yenilenen ediyorum.

Hiç (vb, Yerini, sadece ay olsun, başka bir tarihe karşılaştırın) tarih ile bir şeyler yapmak istedim yanında, size veritabanında saklamak istiyorum ne bir clean starting point hangi istiyorum (örneğin, 2010-05-16 ya da 2010-05-16 16:55:00). Bu nedenle: görünüm ayarları görünümünde aittir.

Ben güçlü bir tarihte bu şekilde biçimlendirme karşı tavsiye ederim. Tarih biçimlendirme için ihtiyacı özel db erişim sınıfları değişiklik yapmanızı gerektiren, yolda bir noktada değişebilir. Bu tür özel biçimlendirme gerçekten IMHO, görünümünde yapılmalıdır.

Eğer just have to do it (ve daha sonra pişman, daha önce böyle şeyler yaptık) varsa, extend Zend_Db_Table_Row istiyorum ve orada özel biçimlendirme yapacağız. Bir sınıfta özel biçimlendirme yerleştirme yolda zarar azaltmak olacaktır ;) gibi chelmertz olasılıkla __get(), reg_date kontrol geçersiz kılmak ve özel bu noktada formatı uygulayarak edeceğiz, dedi .