Nasıl bir Zend Framework Modülü statik varlıkları erişebilir?

1 Cevap php

Zend Framework 1.10 uygulamasında, ben bir modül API içinde bir kontrolör UsersController var ve bu kontrolörün indeks görünümünde I (bir javascript dosyası gibi) statik bir varlık başvurmak istiyorum. Ben o ana kamuoyunda dosyayı koymadan nasıl yapabilirim?

yani, biz böyle bir dizin kurulum var:

zfproj/
../application/modules/api/controllers/UserController.php ../application/modules/api/views/scripts/users/index.phtml
../application/modules/api/public/javascript/apimodule.js
../application/controllers/
../application/views/
../public/

Ben bir görünüm (bu durumda kullanıcıların / dizin görünümü) apimodule.js dahil edebilmek istiyorum. İdeal olarak, bu zfproj / halkın içine hiçbir şey eklemeden yapılması mümkün olur

Bunun arkasındaki niyet tamamen kendine yeten ve javascript / kamu dosyaları mevcut uygulamalar içine (JavaScript dosyaları gibi) varlıkların eklenmesi gerektirmeyen bir ZF 1.10 uygulama içine dağıtılabilir bir modül oluşturmak için olduğunu.

1 Cevap

Genellikle tüm kamuya açık varlıkları kamu gidin. Bu uygulama web kök olması gerekiyordu ve genellikle bu klasör için apache sanal konağın DOCUMENT_ROOT ayarlanmıştır. Ben webroot dışında istemci dosyalarını (javascript, css, vb) depolamak isterdim neden emin değilim. (Belki eklemek istediğiniz dosyanın konumu ima) dizin / uygulama yapısı hakkında daha ayrıntılı miyim?

Edit

Ne soruyorsun mümkün olmalıdır. Bağımsız bir modül yapmak için, ben sadece temel kamu klasörünün içindeki "API" hareket ediyorum düşünüyorum ve modül kendi ön yükleme olurdu veya modül adı ("API" dayalı birincil bootstrap şey yapmak zorunda olurdu Bu durumda). Sen senin buna yolları dahil değiştirmeniz gerekiyor. Bu durumda kod dizinleri korumak için bir. Htaccess dosyası eklemek gerekiyordu.

../application/controllers
../public/api/controllers
../public/api/javascript/apimodule.js
../public/api/index.php

Ayrıca API kamu klasörüne işaret sizin ortak klasördeki bir sembolik oluşturmak olabilir. Bu yüzden,

../public/api > ../application/modules/api/public

Bu kamu erişimine izin ama kod dosyalarınızı korumak olacaktır. Ben sık sık yapmak tek şey, sadece modülün ortak klasöre işaret kamu klasörüne dış hainlere kontrol edilir. Benim CMS bu gibi görünüyor:

application/modules/cms
application/modules/cms/ui (public facing cms UI)
public/ui (svn:external pointing to application/modules/cms/ui)

HTH size bazı fikirler verecektir.