الافتراضي وحدات بنية الدليل على زند إطار تطبيق

StackOverflow https://stackoverflow.com/questions/1415984

سؤال

أنا على علم من الدليل الافتراضي هيكل الإطار زند وحدات التطبيقات التي هي في الدليل.

/application
  /controllers
  /modules
    /admin
      /controllers
      /views
  /views
  /configs
/www
  index.php

ولكن أنا أتساءل لماذا يجب أن تفعل ذلك بهذه الطريقة.حقا sux أن يكون الافتراضي وحدة في /التطبيق و وحدات أخرى في /التطبيق/modules/:moduleName.هذا هو أكثر من سؤال المناقشة من مساعدة لي السؤال.

ما هي إيجابيات وسلبيات وجود بنية الدليل مثل هذا:

/application
  /modules
    /admin
      /controllers
      /views
    /default
      /controllers
      /views
  /configs
/www
  index.php

من وجهة نظري العيب الوحيد هو أنه لم يكتب مثل هذا في الافتراضي / في الدليل.لا أستطيع أن أرى أي شيء آخر.أنا في عداد المفقودين شيئا ؟

حتى أكثر من ذلك - أعتقد أن هذه يجب أن تكون بنية هيكل الافتراضي لأي جديدة ZF التطبيق.وأنا أتساءل لماذا زند المطورين لا استخدامه.

هل كانت مفيدة؟

المحلول

فعلا المقترح بنية الدليل هو أكثر من مناسبة كبيرة و التطبيقات المعقدة.

الماجنتو التي هي أفضل المصادر المفتوحة حلول التجارة الإلكترونية اليوم تم تلوينها في الإطار زند يستخدم مماثلة دليل تخطيط كما تقترح هذه الطريقة من السهل جدا أن تمديد وإضافة وحدات جديدة وإدارة القديمة.

مرة أخرى على تطبيقات بسيطة و التعلم زند أود أن أقترح على الجميع التمسك بنية الدليل الافتراضي.

نصائح أخرى

أعتقد أن هذا الطريق هو بسبب :

  • هناك تقصير بنية التي يتم استخدامها عندما لا يكون هناك وحدة في تطبيق (أي سوى وحدة الافتراضي -- وهو ما يعني حاجة "الافتراضي" الدليل)
  • و, ثم, يمكنك إضافة وحدات ، دون الحاجة إلى تعديل الهيكل الحالي.

إنه تفسير جيدة مثل أي دولة أخرى ، أعتقد.


لا يزال, أنا و أحد التطبيقات التي سوف تحتوي على عدة وحدات ، ومعرفة هذا من البداية, ربما كنت اذهب مع هذا النوع من struture تقترحه ، وليس الافتراضي واحد ^^

ستكون الأمور أكثر وضوحا بهذه الطريقة في رأيي-وأنا لا أرى أي مشكلة في ذلك !

(في الواقع ، لقد بهذه الطريقة مرة واحدة ، تماما منذ بعض الوقت ، لم اجتمع أي مشكلة-ولكن هذا لم يكن "كاملة" التطبيق ؛ المزيد من النموذج...)

والواقع أن واحدة من خيارات مفصلة عن HTTP: // framework.zend.com/manual/en/zend.controller.modular.html

وطريقك الأصوات الجميلة وجهة ZF هو يمكنك اختيار كيفية إدارة الأمور بنفسك. ميزة واحدة هي أقل قليلا التعليمات البرمجية. في نهج الافتراضي زند وسوف تحتاج إلى استخدام هذا:

$front = Zend_Controller_Front::getInstance();
$front->addControllerDirectory('/path/to/application/controllers', 'default');
$front->addModuleDirectory('/path/to/application/modules');

وبينما في نهج تصفون:

$front = Zend_Controller_Front::getInstance();
$front->addModuleDirectory('/path/to/application/modules');

هل كل ما تحتاجه.

وميزة واحدة من نهج زند هي إذا كنت لا تحتاج إلى وحدات، ثم ليس هناك حاجة لتشغيل الأسلوب addModuleDirectory (). مع نهجكم هذا من شأنه أن تحتاج دائما ليتم تشغيلها، مما قد خلق في السماء صغير.

http://framework.zend.com/manual /en/project-structure.project.html الدول جود دليل التحكم الافتراضي "داخل دليل التطبيق يوفر أفضل تخطيط لبدء مشروع بسيط، فضلا عن بدء مشروع نموذجي لديها العالمية التحكم / نماذج / وجهات النظر. "

وأعتقد نقطة زند وجهة نظر هي أن هذا يعمل لكلا الموقعين بسيطة فقط مع وحدة الافتراضي وأكثر تعقيدا مع وحدات متعددة. ليس من الصعب للعمل على مزيد من وحدات هي في وحدات / الدليل. ولكن في نهاية المطاف، هو تفضيل شخصي.

وأنا strugling مع نفس المشكلة. ولكن انا لا تنجح في إعداد هذا صحيح ... لماذا أريد استخدام هذا لأن هيكل وحدات، جنبا إلى جنب مع Zen_Application، instantiates على Module_Bootstrapper التي registeres مساحات في / تطبيق / وحدة / اسم / أشكال (وحدات التحكم وجهات النظر، النماذج، الخ ...) اوتوماتيكيا.

والمشكلة الوحيدة أواجه هو التخلص من وحدة 'الافتراضية': S

ويمكنك العثور على الموضوع على المنتدى زند هنا: HTTP: / /forums.zend.com/viewtopic.php؟f=69&t=2394&start=0

ونأمل انها سوف تحصل على الإجابة، بعد التمديد أنا ما بعد عنه هنا.

ويمكنك العثور على العمارة المطلوب هنا: http://www.osebboy.com / بلوق / زند-إطار وحدات /

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top