/
  • نحوه استفاده از زند فریم ورک در پروژه های بزرگ

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

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

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #1
    نحوه استفاده از زند فریم ورک در پروژه های بزرگ
    شما چطور از زند در پروژه هاتون استفاده می کنین؟ وقتی یه پروژه بزرگ میشه چطور از فریم ورک زند استفاده می کنین.
    اینجا به طرح ریزی برای استفاده از فریم ورک زند در پروژه های بزرگ می‌پردازیم و به چند مثال اشاره می کنیم.
    ابتدا باید به این نکته اشاره کنم که استفاده از کلاسهای زند به صورت تنها کار درستی نیست و بهتره کلاسهای خودتون رو که از کلاس‌های zend گرفته شده رو استفاده کنید. برای این منظور بهتره یه پوشه مثلا با نام Vahid در پوشه library در کنار پوشه zend قرار بدید حالا باید این namesapce رو اضافه کنیم برای اینکار می تونید داخل فایل application.ini این خط رو باید اضافه کنید.
    کد:
    autoloaderNamespaces[] = "Vahid"

    حالا ما یه سری کلاس می‌تونیم داشته باشیم که با
    کد:
    Vahid_
    شروع شده باشن رو از این پوشه include می کنه (دقیقه مثل کلاسهای Zend)

    حالا می‌خوایم یه مثال بزنم
    توی کلاسهای Zend_Db_Table_Abstract ما نیاز به متدی به نام getTotal() داریم. برای این منظور من می‌خوام یه کلاس با نام Vahid_Db_Table_Abstract تعریف می کنیم برای اینکار یه پوشه با نام Db در داخل پوشه Vahid درست می کنیم و در داخل پوشه Db یه پوشه با نام Table درست می کنیم و یه فایل با نام Abstract در درون پوشه Table درست می کنیم و حالا کلاس خودمن رو به این صورت در داخل فایل تعریف می کنیم

    کد PHP:
    class Vahid_Db_Table_Abstract extends Zend_Db_Table_Abstract
    {
        
        public function 
    getTotal($select=NULL){
            if (!(
    $select instanceof Zend_Db_Table_Select) && $select!==NULL) {
                throw new 
    Zend_Exception("\$select must Object From Zend_Db_Table_Select");
            }
            if(
    $select===NULL){
                
    $select=$this->select();
            }
            
    $select->from($this,
                array(
    'COUNT(*) as count'));
            
            
    $row $this->fetchRow($select);
            return 
    $row->count;
        }




    تا اینجا رو داشته باشین در ادامه ایده هایی رو که می‌تونم توی zend پیاده کنم در تاپیک‌های بعد (که در ادامه همین تایپک هست) رو ارائه میدم
    البته اگر خواهان داشته باشه
    ۱۳۸۸ دي ۲۴ ۰۶:۵۸ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : molana zoghal parvane HiddeN oia scorpion amir.s Alimokhlesi
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #2
    RE: نحوه استفاده از زند فریم ورک در پروژه های بزرگ
    ممنون . من منتظر ادامه ی بحث هستم
    ۱۳۸۸ بهمن ۵ ۱۱:۱۰ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : parvane
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #3
    RE: نحوه استفاده از زند فریم ورک در پروژه های بزرگ
    http://forum.iranphp.org/Thread-%D9%BE%D...d-DB-Table
    ۱۳۸۸ بهمن ۶ ۰۳:۴۲ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #4
    RE: نحوه استفاده از زند فریم ورک در پروژه های بزرگ
    وقتی می خوایم BasePath رو تغییر بدیم مثلا پوشه vahid می خوایم یه جای دیگه ای باشه. چه متغیری را باید به application.ini اضافه کنیم؟
    آقا ضمنا چرا تابع
    کد PHP:
    $db->quote() 
    به دو طرف متغیر quote اضافه می کنه؟ مگه معادل mysql_real_escape_string() نیست؟
    و چرا من وقتی از db->delete استفاده میکنم خطای زیر رو می ده؟
    کد:
    Fatal error: Exception thrown without a stack frame in Unknown  on line 0
    (آخرین ویرایش در این ارسال: ۱۳۸۸ بهمن ۷ ۱۲:۱۴ صبح، توسط nasserghiasi.)
    ۱۳۸۸ بهمن ۶ ۱۱:۳۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #5
    RE: نحوه استفاده از زند فریم ورک در پروژه های بزرگ
    نمی خواید جواب بدید؟؟!
    ۱۳۸۸ بهمن ۸ ۰۴:۱۰ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #6
    RE: نحوه استفاده از زند فریم ورک در پروژه های بزرگ
    ببخشید تاپیک رو ندیدم
    واسه سوال اول توی فایل index.php در‌ پوشه include می‌ تونید یه path دیگه‌ اضافه کنید
    در‌ ضمن ‌در‌ مورد تابع هم این گفته زند هست
    نقل قول: Note that the return value of quote() includes the quote delimiters around the string. This is different from some functions that escape special characters but do not add the quote delimiters, for example mysql_real_escape_string().
    این‌ تابع یه پارامتر دوم هم می گیره. (که البته فکر کنم توی منوال نگفته باشه) پارامتر دوم پیشفرض string هست‌ به‌ همین دلیل کوتیشن اضافه می کنه. می تونید integer بزارید تا به عدد تبدیل کنید و کوتیشن نذاره.

    در مورد سوال دوم چه جوری استفاده می کنید می زنید db->delete؟؟؟؟ . احتمال خیلی خیلی زیاد اشکال از سینتکس php تون‌ هست. نمونه کدتون رو بزارید
    ۱۳۸۸ بهمن ۸ ۱۲:۰۸ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #7
    RE: نحوه استفاده از زند فریم ورک در پروژه های بزرگ
    راستی‌ این هم توی داکیومنت زند بود
    نقل قول: Each Zend_Db_Adapter class has encoded the names of numeric SQL datatypes for the respective brand of RDBMS. You can also use the constants Zend_Db::INT_TYPE, Zend_Db::BIGINT_TYPE, and Zend_Db::FLOAT_TYPE to write code in a more RDBMS-independent way.
    ۱۳۸۸ بهمن ۸ ۱۲:۱۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #8
    RE: نحوه استفاده از زند فریم ورک در پروژه های بزرگ
    ایینم از کد ولی مشکلی تو سینتاکس نمی بینم:
    کد PHP:
    $result $this->db->delete($this->tableName"session_id = " $session_id); 
    ۱۳۸۸ بهمن ۸ ۰۲:۴۲ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #9
    RE: نحوه استفاده از زند فریم ورک در پروژه های بزرگ
    از $this->db و $this->tableName مطمئن هستید. چون خودم با این مشکل بر می خوردم و مشکل از ریسورهام بوده
    ۱۳۸۸ بهمن ۸ ۰۷:۲۵ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


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