/
  • راه اندازی یک پروژه با zend

  • صفحه‌ها (2):
  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی راه اندازی یک پروژه با zend
    نویسنده پیام
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #1
    راه اندازی یک پروژه با zend
    سلام
    باید خدمتتون بگم برای درک بهتر زند رفتم سراغ oop و تا حدودی بصورت تئوری یه چیزایی حالیم شد. در کل با قوانین شی گرایی آشنا شدم ولی پروژه ای می خواهم با mvc شروع کنم که ساختار دایرکتوری اون رو بصورت زیر در نظر گرفتم:
    [تصویر:  Capture.GIF]

    الان مشکل من با mvc و زند چند مساله است و اگه بتونم این موارد رو درک کنم مطئمنا بسیاری از مشکلاتم حل خواهد شد.

    1. bootstrap.php به چه درد می خورد ؟
    2. فرض کنید می خواهم فایل پیکربندی را با کد زیر فراخوانی می کنم. چرا در همه جای پروژه مثلا در فایل های controllers در دسترس نیست و حتی با global هم نمی توان آنها را بصورت سراسری تعریف کرد.
    کد PHP:
            $config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/application.ini','production'); 

    3. با ترجمه ها و تم نیز همین مشکلات رو دارم:
    کد PHP:
            //cache started
            
    $frontendOptions = array ('lifetime' => $config->cache->lifetime// cache lifetime of 2 hours
                                      
    'automatic_serialization' => $config->cache->automatic_serialization );
            
            
    $backendOptions = array ('cache_dir' => $config->cache->cache_dir );// Directory where to put the cache files

            
            
    $cache Zend_Cache::factory 'Core''File'$frontendOptions$backendOptions );
            
            
    // Create a log instance
            
    $writer = new Zend_Log_Writer_Stream(ROOT_PATH.'/log/file.log');
            
    $log    = new Zend_Log($writer);
            
            
            
    //translation
            
            //Zend_Translate::setCache ( $cache );
            
    $translate = new Zend_Translate 'Ini'APPLICATION_PATH '/languages/en/global.ini''en');

            
    $translate->addTranslation(APPLICATION_PATH '/languages/fa/global.ini''fa');
            
    $translate->setLocale('fa');     
            
            if (isset(
    $config->app->theme)) {
                
    $theme $config->app->theme;
            }
            
    $path PUBLIC_PATH.'/themes/'.$theme.'/templates';
             
            
    $layout Zend_Layout::startMvc()
                ->
    setLayout('layout')
                ->
    setLayoutPath($path)
                ->
    setContentKey('content');

            
    $view = new Zend_View();
            
    $view->setBasePath($path);
            
    $view->setScriptPath(ROOT_PATH); 

    3. برای مثال می خواهم پلاگینی بنویسم که بتوانم در هر جای برنامه استفاده کنم
    مثلا: پلاگین ارائه آمار سایت که این پلاگین در یکی از باکس های تم سایت خروجی خود را نمایش خواهد داد. Huh
    این پلاگین ها در پوشه پلاگین قرار می گیرند.
    برای مثالی که زدم نحوه ی پلاگین نویسی را بیان کنید. (فقط پیکربندی فایل ها و فراخوانی پلاگین)
    چطوری این پلاگین ها را بتوانم در پروژه read کنم. یعنی فعال یا غیرفعال بودن پلاگینی را زند از طریق یک فایل تنظیم ini بخواند
    آیا زند امکانات خاصی در این باره دارد؟

    و یکسری مشکلات که در صورت بروز مطرح می کنم.

    Huh من اطلاعات بسیار کمی در مورد mvc و زند دارم ، خواهش می کنم به جای پاسخ به سوالات منو به آموزش مطلب دیگر یا تحقیق در این مورد ارجاع ندهید. چون آنقدر تحقیق کردم که به جایی نرسیدم.
    اگر بصورت ساده تر راهنماییم کنید بسیار سپاس گذار خواهم شد. تنها امیدم شما هستید
    HuhHuhHuhHuhHuhHuhHuh
    ذکات علم آموختن آن به دیگران است (حضرت محمد ص)
    (آخرین ویرایش در این ارسال: ۱۳۸۸ آذر ۲۹ ۰۵:۰۵ صبح، توسط nasserghiasi.)
    ۱۳۸۸ آذر ۲۹ ۰۴:۵۹ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : molana hidensoft
    scorpion آفلاین
    رضا حقیقی
    ***

    ارسال‌ها: 245
    تاریخ عضویت: ۱۳۸۷ بهمن ۲۷
    اعتبار: 3
    تشکرها : 94
    ( 276 تشکر در 144 ارسال )
    ارسال: #2
    RE: راه اندازی یک پروژه با zend
    برای آشنایی با زند یه چند ماهی بسته به داشتن تجربه قبلی تو php به زمان احتیاج داری.
    تو خود سایت zf و چندین و چند سایت دیگه هم هستن که خودآموز های خوبی همراه با نمونه کد دارن که بهتره شما با اونا و مفاهیم کلی mvc آشنا بشین بعد برین سراغ پروژه های شخصی اینچنینی.
    اینم آدرس منابع
    http://robertbasic.com/blog/online-resou...framework/

    نقل قول: من اطلاعات بسیار کمی در مورد mvc و زند دارم ، خواهش می کنم به جای پاسخ به سوالات منو به آموزش مطلب دیگر یا تحقیق در این مورد ارجاع ندهید. چون آنقدر تحقیق کردم که به جایی نرسیدم.
    اگر بصورت ساده تر راهنماییم کنید بسیار سپاس گذار خواهم شد. تنها امیدم شما هستید
    همونطور که خودتون گفتین فهمیدن مفاهیم مهمترین مساله هست و تا با مفاهیم آشنا نشین هیچ قدمی نمیتونین بر دارین.
    بهترین راه تمرین گام به گام هست. یعنی پروژه های کتاب ها یا خودآموزها رو قدم به قدم جلو برین تا با قضیه آشنا بشین.
    ضمنا میخوام بدونم منظورتون از "چون آنقدر تحقیق کردم" چقدر هست؟
    __________________________________________________________________________
    رضا حقیقی / Reza Haghighi
    (آخرین ویرایش در این ارسال: ۱۳۸۸ آذر ۲۹ ۱۲:۳۴ عصر، توسط scorpion.)
    ۱۳۸۸ آذر ۲۹ ۱۲:۲۹ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : molana hidensoft
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #3
    RE: راه اندازی یک پروژه با zend
    تحقیقات زیادی توی سایت ها انگلیسی همچون سایت خود زند انجام دادم و البته برای پیاده سازی بستری برای زند تا حدودی جلو رفتم و مراحل بسیار ابتدایی را پشت سر گذاشتم ولی این گونه مستندات پیچیدگی های خاص خودش رو داره و برای استارتر زند کمی مبهم و دیوانه کننده است.
    ضمنا استاد گرامی وحید سهرابلو هم آموزش زند فریم ورک را در بخش آموزش سایت گذاشته اند ولی متاسانه در مرحله مقدماتی است و آپدیت نمی شه. من بیش از 2 هفته است منتظر بروزرسانی هستم. اگر نیازی به donate هست اعلام کنید.
    ۱۳۸۸ آذر ۲۹ ۰۴:۱۱ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : molana
    scorpion آفلاین
    رضا حقیقی
    ***

    ارسال‌ها: 245
    تاریخ عضویت: ۱۳۸۷ بهمن ۲۷
    اعتبار: 3
    تشکرها : 94
    ( 276 تشکر در 144 ارسال )
    ارسال: #4
    RE: راه اندازی یک پروژه با zend
    شما میتونین یه crud ساده رو پیاده سازی کنین؟(میخوام بدونم در چه حد یاد گرفتین؟)
    این سایت هم خیلی خوبه به من که خیلی کمک کرده:
    http://www.zendcasts.com/
    __________________________________________________________________________
    رضا حقیقی / Reza Haghighi
    ۱۳۸۸ آذر ۲۹ ۰۵:۰۷ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : molana nasserghiasi
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #5
    RE: راه اندازی یک پروژه با zend
    سلام‌ دوست عزیز
    دلیل اینکه من آموزش ها رو دنبال نکردم این بوده که کسی پیگیر آموزشها نبوده.
    باید کسی باشه که سوال بپرسه و آموزش بخواد تا آموزش داده بشه
    وگرنه من آموزشهای خودم رو در صورت علاقه دوستان ادامه خواهم داد

    و اما سوالاتتون
    ۱- فایل bootsratp در‌ واقع یک کلاس در داخلش هست که همه متدهایی که با _init شروع‌ میشن وقتی که برنامه اجرا میشه همه رو اجرا میکنه. همون راه انداز سیستم هست.
    ۲- بهتره از Zend_Registery برای‌ global کردن‌ متغیرها استفاده کنید
    ۳- یه مثال ‌از یه‌ پلاگین ‌به‌ این صورت هست
    کد:
    class MyPlugin extends Zend_Controller_Plugin_Abstract
    {
        public function routeStartup(Zend_Controller_Request_Abstract $request)
        {
            $this->getResponse()
                 ->appendBody("<p>routeStartup() called</p>\n");
        }

        public function routeShutdown(Zend_Controller_Request_Abstract $request)
        {
            $this->getResponse()
                 ->appendBody("<p>routeShutdown() called</p>\n");
        }

        public function dispatchLoopStartup(
            Zend_Controller_Request_Abstract $request)
        {
            $this->getResponse()
                 ->appendBody("<p>dispatchLoopStartup() called</p>\n");
        }

        public function preDispatch(Zend_Controller_Request_Abstract $request)
        {
            $this->getResponse()
                 ->appendBody("<p>preDispatch() called</p>\n");
        }

        public function postDispatch(Zend_Controller_Request_Abstract $request)
        {
            $this->getResponse()
                 ->appendBody("<p>postDispatch() called</p>\n");
        }

        public function dispatchLoopShutdown()
        {
            $this->getResponse()
                 ->appendBody("<p>dispatchLoopShutdown() called</p>\n");
        }
    }

    متدهای‌ خاصش توی حالت های خاصی اجرا میشه مثلا preDispatch قبل از اینکه یه action اجرا بشه
    حالا شما باید این پلاگین رو رجیستر کنین
    برای اینکار دو حالت داره یکی داخل کد php که‌ باید به این صورت عمل کننی
    کد PHP:
    $front Zend_Controller_Front::getInstance();
    $front->registerPlugin(new MyPlugin()); 

    یا‌ اینکه اگر از Zend_Aplication استفاده می کنین و bootsratp دارین‌ داخل فایل aplication.ini بزارید
    کد:
    resources.frontController.plugins.foo = "MyPlugin"
    (آخرین ویرایش در این ارسال: ۱۳۸۸ آذر ۲۹ ۰۷:۱۱ عصر، توسط admin.)
    ۱۳۸۸ آذر ۲۹ ۰۷:۰۲ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : oia nasserghiasi parvane hidensoft amir.s
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,384
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1394 تشکر در 782 ارسال )
    ارسال: #6
    RE: راه اندازی یک پروژه با zend
    چیزی که من همیشه درگیرش بودم multi application بوده. یادمه کد ایگنیتر این امکان رو نداشت و من مجبور شدم توی پروژه ایران پروفایل این قابلیت رو بهش اضافه کنم. روی زند هم من فقط تست کردم که این قابلیت بصورت دیفالت وجود داره که نداشت و چیزی ندیدم.
    اگه این امکان وجود داره خوشحال می شم که توضیح بدید.
    ۱۳۸۸ دي ۱۵ ۱۰:۱۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #7
    RE: راه اندازی یک پروژه با zend
    منظورت از مولتی اپلیکیشن چی هست؟
    ما توی این مولتی ماژول داریم (با توجه به صحبتهایی که باهات کردم واژه ها ممکنه توی فریم ورکها متفاوت باشه) به این صورت هست ک ما داخل سیستم به صورت پیش فرض ماژول default رو‌ داریم. من‌ توضیحاتی در مورد این موضوع نمیدم چون راهنمای زند به خوبی این موضوع رو توضیح داده. البته اگر باز هم مشکلی داشتید می تونم راهنمایی کنم
    http://framework.zend.com/manual/en/zend...dular.html
    ۱۳۸۸ دي ۱۵ ۱۱:۱۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,384
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1394 تشکر در 782 ارسال )
    ارسال: #8
    RE: راه اندازی یک پروژه با zend
    همین بود. ممنون
    ۱۳۸۸ دي ۱۶ ۰۷:۱۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Alimokhlesi آفلاین
    مدیر کل
    **********

    ارسال‌ها: 457
    تاریخ عضویت: ۱۳۸۷ آذر ۲۵
    اعتبار: 13
    تشکرها : 601
    ( 1126 تشکر در 412 ارسال )
    ارسال: #9
    RE: راه اندازی یک پروژه با zend
    متاسفانه زند مولتی تردینگ نداره ( چند نخی )
    متاسفانه زند ایونت هندلر نداره (Event Handler)
    متاسفانه زند دلیگیشن نداره (Delegation)
    متاسفانه زند مموری منیجمنت نداره
    ----------------------------------
    اگه اینایی که گفتمو داره من بی اطلاعم
    __________________________________________________________________________
    علم تاج افتخار دنیا و یادگار پس از مرگ است
    ۱۳۸۸ دي ۱۶ ۰۹:۳۶ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #10
    RE: راه اندازی یک پروژه با zend
    یک سوال دارم. مگه قراره یک کتابخونه اینها رو پشتیبانی کنه؟ (منظورم قسمت اول هست)

    در مورد سوال اول با یکی از بچه های C# خیلی‌ روی این موضوع بحث کردیم. اصلا توی وب استفاده از مولتی ترد خوب نیست. fork ‌ها خیلی بهتر جواب میدن.
    در‌ مورد سوال دوم بهتره به زند پیشنهاد بدید. (ولی به شخصه واسه خود من ضروری نیست. در ضمن باید حتما یه کتابخونه نصب کنم)
    در مورد سومی نمی دونم چیه Big Grin توضیح بدید
    در مورد چهارمی
    http://framework.zend.com/manual/en/zend.memory.html
    ۱۳۸۸ دي ۱۶ ۱۱:۳۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (2):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS