Zend Framework modelleri konumu ve autoloading

0 Cevap php

Ben yakında üretimde kullanmaya başlayacak gibi Zend Framework ile ilgili kendimi belgelemek başladım. Ben :) kullanmak ve modelleri ile çalışmaya başlayana kadar her şey gayet iyi çalışıyordu.

Zend tavsiyelerine dayalı modeller için varsayılan konumu, application/models/DbTable, tüm modeller bu yere atılmış olacaktır nerede Application_Model_DbTable_Actors gibi bir model isim beni zorlamasıdır. Benim için, bu model için çok uzun bir isim ve kullanmak için bir kolay değildir.

Ben almak istiyorum dizin yapısı şöyle:

application/
  models/
    actors/
      ActorsMapper.php
      Actor.php
    books/
      BooksMapper.php
      Book.php

vb

Yani tüm modelleri models dizini altında bulunan, ancak kendi dizinleri gruplandırılmış olacak.

Her sınıf için adlandırma (Bu Zend_Db_Table uzanacaktır iki ya da Zend_Db_Row) ActorsMapper ya da Actor olmalıdır.

Ben gibi bir şey kullanarak bir model örneğini eğer benim denetleyicileri $actors = new ActorsMapper() bir Fatal error: Class not found alacak ve neden ben bu ile yardım için soruyorum o farkındayım.

Ben include_path benim models dizin eklemek için çalıştı bu sorunu çözmek için:

  • İlk deneyin

    includePaths.models = APPLICATION_PATH "/models" application.ini eklendi

ama bu bile dahil yoluna eklemek değil

  • İkinci deneyin:

    explicitely added the path using set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), realpath(APPLICATION_PATH . '/models'), get_include_path(), )));

Bu dahil olanlar arasında bu yolu ekler bile ama hata hala devam.

Ben official documentation Zend_Db_Table içinde modellerinin bu adlandırma gördüm, ama ben onları hakklı ilgili bir şey bulamadı.

Herhangi bir çözüm için hepinize teşekkür ederim.

P.S. Zend Framework sürüm 1.11.1 olduğunu

0 Cevap