/
  • پیاده سازی cache ‌در‌ Zend_DB_Table

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

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

    ارسال‌ها: 5,734
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6196 تشکر در 3438 ارسال )
    ارسال: #1
    پیاده سازی cache ‌در‌ Zend_DB_Table
    من با تعریف‌ مجدد تابع find ‌در کلاس‌ Vahid_DB_Table_Abstract ‌ کلاس به صورت زیر شده
    ادامه از http://forum.iranphp.org/Thread-%D9%86%D...8%B1%DA%AF
    کد 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;
        }

        public function 
    find(){
            
    $cache=Zend_Registery::get("cache");
            
    $args func_get_args();
            
    $cacheId="Table_".$this->_name."_".explode("_",$args);
            
            if(!
    $rows $cache->load($cacheId)){
                if(
    version_compare(PHP_VERSION'5.3.0''<')){
                    
    $rows=call_user_func_array(array('parent''find'), $args); 
                }
                else{
                    
    $rows=call_user_func_array('parent::find'$args);
                }
                if(
    $rows){
                    
    $cache->save($cacheId,$rows);
                }
            }
            return 
    $rows;
            
        }


    (آخرین ویرایش در این ارسال: ۱۳۸۸ بهمن ۶ ۰۳:۴۱ عصر، توسط admin.)
    ۱۳۸۸ بهمن ۶ ۰۳:۴۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : molana HiddeN nasserghiasi Alimokhlesi parvane
    « قدیمی تر | تازه‌ تر »

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


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