العودة   منتديات المجاوشي > منتديات مجاوشي للترفيه والتسلية > :: RSS :: > Arabic Rss
Arabic Rss Arabic Rss تنويه : المعهد غير مسؤول عن ما يحويه هذا القسم .... وجب لاتنويه والتحذير

الملاحظات


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

Arabic Rss


 
  #1  
قديم 12-20-2011
الصورة الرمزية RSS
RSS غير متواجد حالياً
ناقل الأخبار
 
تاريخ التسجيل: 11 - 2 - 10
المشاركات: 657,951
RSS is on a distinguished road
افتراضي [استفسار] اي دالتين احسن فى الاستخدام؟

بسم الله الرحمن الرحيم
اى دالتين احسن فى الاستخدام فى الكلاس يعنى دوال الى بتستخدم دوال النصوص ولا دوال التى تستخدم دوال المصوفات؟
رمز 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,$val, self::$_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,$val, self::$_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)>0 && 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');










أكثر...
 

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

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

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
[استفسار] شركة آخرى للربح غير جوجل ادسن ! RSS Arabic Rss 0 09-16-2011 08:40 PM
[استفسار] كيف احسن علاقتي بـ جوجل ادسنس RSS Arabic Rss 0 09-04-2011 01:52 PM
[استفسار ] ايه احسن بنك الكترونى غير الباى بال بيقبل مصر RSS Arabic Rss 0 08-19-2011 04:00 AM
[استفسار] : احسن اصدار الفوتوشوب RSS Arabic Rss 0 05-17-2011 07:21 PM
[استفسار] كيف استلم الفلوس من قوقل ادسن ..؟ RSS Arabic Rss 0 11-23-2010 10:30 PM


Loading...


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. منتديات بلاك بيري mjawshy.net
المجاوشي للتقنية المتقدمة