النتائج 1 إلى 1 من 1

الموضوع: اي دالتين احسن فى الاستخدام؟

  1. #1
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109

    اي دالتين احسن فى الاستخدام؟



    بسم الله الرحمن الرحيم
    اى دالتين احسن فى الاستخدام فى الكلاس يعنى دوال الى بتستخدم دوال النصوص ولا دوال التى تستخدم دوال المصوفات؟
    كود PHP:
    //----------------------------------------------------------------------
    class Configer{
    //----------------------------------------------------------------------
        
    private static $_data =array();
    //----------------------------------------------------------------------
        
    public static function set($stringkey,$val){//config.key.key.key  ,value
            
    $keys=explode('.',trim($stringkey,'.'));
            
    $parentk=array_shift($keys);
            if(
    count($keys) >0){
                
    $stringkey=implode('.',$keys);
                
    self::$_data[$parentk]=isset(self::$_data[$parentk])?self::$_data[$parentk]:array();
                
    self::$_data[$parentk]=&self::setVal($stringkey,$valself::$_data[$parentk]);
            }else{
                
    self::$_data[$parentk]=$val;
            }
            unset(
    $keys,$stringkey,$parentk);unset($val,$key);
        }
    //----------------------------------------------------------------------
        
    public static function &setVal($stringkey,$val,&$parent){
            
    $keys=explode('.',trim($stringkey,'.'));
            
    $parentk=array_shift($keys);
            
    $parent[$parentk]=(count($keys) == 0)?$val:(isset($parent[$parentk])?$parent[$parentk]:array());
            if(
    count($keys) > 0){
                
    $key=array_shift($keys);
                
    $stringkey=(count($keys)>0)?implode('.',$keys):null;
                if(!empty(
    $stringkey)){
                    
    $parent[$parentk][$key]=(!isset($parent[$parentk][$key]))?array():$parent[$parentk][$key];
                    
    $parent[$parentk][$key]=&self::setVal($stringkey,$val,$parent[$parentk][$key]);
                }else{
                    
    $parent[$parentk][$key]=$val;
                }
            }
            unset(
    $keys,$stringkey,$parentk);unset($val,$key);
            return 
    $parent ;
        }
    //----------------------------------------------------------------------
        
    public static function set2($stringkey,$val){//config.key.key.key  ,value
            
    $stringkey=trim($stringkey,'.');
            
    $lenght=stripos($stringkey,'.')?stripos($stringkey,'.'):false;
            
    $parentk=($lenght == false)?$stringkey:substr($stringkey,0,$lenght);
            
    $stringkey=($lenght == false)?null:substr($stringkey,$lenght);
            if(!empty(
    $stringkey)){
                
    self::$_data[$parentk]=isset(self::$_data[$parentk])?self::$_data[$parentk]:array();
                
    self::$_data[$parentk]=&self::setVal2($stringkey,$valself::$_data[$parentk]);
            }else{
                
    self::$_data[$parentk]=$val;
            }
            unset(
    $keys,$stringkey,$parentk);unset($val,$key);
        }
    //----------------------------------------------------------------------
        
    public static function &setVal2($stringkey,$val,&$parent){
            
    $stringkey=trim($stringkey,'.');
            if(empty(
    $stringkey))return $parent;
            
    $lenght=stripos($stringkey,'.');
            
    $parentk=substr($stringkey,0,$lenght);
            
    $stringkey=trim(substr($stringkey,$lenght),'.');
            
    $parent[$parentk]=(empty($stringkey))?$val:(isset($parent[$parentk])?$parent[$parentk]:array());
            if(!empty(
    $stringkey) && is_string($stringkey)){
                
    $lenght=stripos($stringkey,'.')?stripos($stringkey,'.'):false;
                
    $key=($lenght == false)?$stringkey:substr($stringkey,0,$lenght);
                
    $stringkey=($lenght == false)?null:substr($stringkey,$lenght);
                if(!empty(
    $stringkey)){
                    
    $parent[$parentk][$key]=(!isset($parent[$parentk][$key]))?array():$parent[$parentk][$key];
                    
    $parent[$parentk][$key]=&self::setVal2($stringkey,$val,$parent[$parentk][$key]);
                }else{
                    
    $parent[$parentk][$key]=$val;
                }
            }
            unset(
    $keys,$stringkey,$parentk);unset($val,$key);
            return 
    $parent ;
        }
    //----------------------------------------------------------------------
        
    public static function &get($key=false){
            if(
    $key === false){
                return 
    self::$_data;
            }
            
    $keys=explode('.',$key);unset($key);
            
    $parentk=array_shift($keys);
            if(isset(
    self::$_data[$parentk])){
                
    $parent=&self::$_data[$parentk];
            }else{
                
    $parent=false;
            }
            if(
    $parent === false){
                return 
    $parent;
            }else if(
    count($keys)>&& is_array($parent)){
                foreach(
    $keys as $key){
                    if(isset(
    $parent[$key])){
                        
    $parent=&$parent[$key];
                    }else{
                        return 
    $parent;
                    }  
                }
            }
            unset(
    $keys,$parentk,$key);
            return 
    $parent;
        }
    //----------------------------------------------------------------------
    }
    ?> 
    طريقة الاستخدام
    كود PHP:
    Configer::set('Config.key1.key2','http://localhost/arabframework/');
    Configer::set2('Config2.key1.key2','http://localhost/arabframework/ff'); 






    التعديل الأخير تم بواسطة محمدهلال ; 20-12-2011 الساعة 07:39 AM
    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com






ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض