Zend چارچوب هر ماژول بر اساس تنظیمات
من تنظیمات ایجاد follow-up مربوط به این پیام که کمتر نیاز دارد ، لطفا ماژول بر اساس طرح بندی -- Zend چارچوب .
هنگام استفاده از چارچوب zend با ماژول ها ، مشخص آن است که اگر شما در حال اجرا های مختلف (زیر -) سایت های خارج از برنامه مشابه ، شما لزوما می خواهم همان اسکریپت طرح بندی برای هر بخش. من تصمیم گرفتم تا با ساختار سایت زیر بروید :
/ نرم افزار / کنترل کننده ... / مدل / ماژول ها / پیش فرض / کنترل کننده / طرح / اسکریپت ها / نمایش ها / اسکریپت ها / anotherModule ... / اسکریپت ها
مشکل این بود راه اندازی اسکریپت طرح بر اساس هر ماژول. پاسخ آمد از طریق استفاده از یاور اکشن. تنظیم طرح بندی بر اساس هر ماژول شامل سه مرحله است :
- Application.ini (و یا راه اندازی تنظیمات مشابه) :
admin.resources.layout.layoutPath APPLICATION_PATH = "/ ماژول / مدیریت / پوسته / اسکریپت" default.resources.layout.layoutPath APPLICATION_PATH = "/ ماژول ها / پیش فرض / پوسته / اسکریپت" member.resources.layout.layoutPath APPLICATION_PATH = "/ ماژول / عضو / پوسته / اسکریپت" affiliate.resources.layout.layoutPath APPLICATION_PATH = "/ ماژول / وابسته / پوسته / اسکریپت"
- ایجاد خود اقدام یاور :
<؟ پی اچ پی / ** * مجموعه مسیر طرح بر اساس هر ماژول * * @ نویسنده لوید Watkin <lloyd@evilprofessor.co.uk> * @ از 2010/01/01 * / Pro_Controller_Action_Helper_SetLayoutPath کلاس گسترش Zend_Controller_Action_Helper_Abstract { / ** * مجموعه مسیر طرح بر اساس ماژول * / preDispatch تابع عمومی () { $ = $ این ماژول> - getRequest () --> getModuleName () ؛ اگر (خود راه انداز $ = $ این -> getActionController () -- getInvokeArg> ('خود راه انداز')) { $ = $ پیکربندی راه انداز -> getOptions () ؛ اگر (isset ($ پیکربندی ['طرح'] [$ ماژول] ['منابع'] ['layoutPath'])) { $ layoutPath = $ پیکربندی [$ ماژول] ['طرح'] ['منابع'] ['layoutPath'] ؛ این $> - getActionController () -- getHelper> ('طرح') -- setLayoutPath> ($ layoutPath) ؛ } } } }
- و نهایتا boostrap یاور عمل :
... / ** * مجموعه اسکریپت تا طرح بر اساس هر ماژول * / _initLayoutHelper عملکرد حفاظت شده () { این $> - خود راه انداز ('frontController') ؛ $ = طرح Zend_Controller_Action_HelperBroker : : addHelper ( Pro_Controller_Action_Helper_SetLayoutPath جدید ()) ؛ } ...


















































سلام اول تشکر برای شما مفید خودآموز اما به من بگویید که در آن ایجاد کنم یاور عمل با نام جادوگر فایل ارسال کنم؟
بهرنگ
سلام بهرنگ ، ایجاد یاور عمل با نام هر کدام را دوست دارید ، من خود 'کتابخانه' من با فضای نام 'نرم افزار'. شما فقط می تواند به راحتی 'SetLayoutPath' کلاس تماس بگیرید و آن را که در آن یک نفر از تو می خواهم ، ارائه کد می توانید آن را پیدا کرده و شما را گسترش کلاس های مورد نیاز
سلام ، iam اشتباه با راه اندازی تنظیمات ماژول بانک اطلاعاتی خاص... آیا کسی که ایده؟
من فکر می کنم این به آسانی می تواند به دست آورد usign الگوی بالا کلیک کنید. در مرحله اول ، ایجاد گزینه های موجود در فایل این فایل خود را همراه فایل از :
moduleName.db.user = "
moduleName.db.password = "
moduleName2.db.user = "
... و غیره...
سپس به سادگی اتصال به پایگاه داده خود را به عنوان شما را مناسب تولید (Zend_Db : : کارخانه () یا مشابه آن) و ذخیره کردن آن را دور از اونها در رجیستری و یا تنظیم آن را به عنوان آداپتور به طور پیش فرض اگر با استفاده از Zend_Db_Table (Zend_Db_Table : : setDefaultAdapter ()).