بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
قمت ببرمجة كلاس للتعامل مع المتغيرات (مالقيت غير هذا الكلاس :court: )
تطبيقا لدروس الكلاسات من الأستاذ عبدالله عيد
أتمنى آراء الخبراء في الكلاس
الكلاس في المرفقات
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
قمت ببرمجة كلاس للتعامل مع المتغيرات (مالقيت غير هذا الكلاس :court: )
تطبيقا لدروس الكلاسات من الأستاذ عبدالله عيد
أتمنى آراء الخبراء في الكلاس
الكلاس في المرفقات
يمكنك جل الدالة PrintVar على هذا الشكل :
حاول ما أمكن عدم إستعمال الرمز @ لأن الخطأ يبقى ظاهرا و يملأ ملفات ال LOG في السيرفر !كود PHP:
public function PrintVar($var = null)
{
if(in_array($var, $this->vars) and $var != null)
{
echo $var;
}
elseif($this->vars[$var] === null)
{
echo 'var->'.$var . ' have no value';
}
}
أيضا يمكنك وضع جميع الدوال في الكسلاس في دالة واحدة ، لكن طبعا هذا كلاس و إنطلاقة لك إن شاء الله نحو المتعة في البرمجة
بالتوفيق .
شركا لك على التعديل
وفكرة دالة واحدة لم تخطر ببالي أبدا
سأحاول بإذن الله عدم استخدام @ في المرات القادمة :-)
ولكن ألا يمكن استخدام ELSE بدلا من ELSEIF ؟
أرى أنها أفضل
التعديل الأخير تم بواسطة roboowsy ; 17-04-2010 الساعة 11:42 PM
قصدي أن الخطأ و إن كان مخفيا فإنه يضل موجودا ،
بالنسبة لدالة واحدة فيمكنك إضافة باراميتر جديد و تصع فيه نوع التطبيق مثلا :
و في الدالة تضع أوامر الشرط إذا كان الباراميتر الثاني = AddVar فستقوم بالإضافة و هكذا ...كود PHP:
function test('your_data' , 'AddVar') // AddVar
function test('your_data' , 'PrintVar') // PrintVar
function test('your_data' , 'EditVar') // EditVar
function test('your_data' , 'DeleteVar') // DeleteVar
بالتوفيق .
نعم يمكنك ، لكن أنا رأيت أنك بمجرد المرور على IF الأولى فإن $var لا يمكنه أن يكون ذا قيمة ، لأني أضفت في ال IF أن $var يجب أن تكون له قيمة ، و إذا لم تكن له قيمة فستظهر علامة الخطأ و مفادها أنه ليس له قيمة ،
لكن يمكنك العمل بأي طريقة تراها مناسبة
قمت بتحويله إلى دالة قبل دقائق
وهذه هي
كود PHP:
function vars ($action, $var, $val = '')
{
switch($action)
{
case 'add':
case 'edit':
if($val != ''):
$GLOBALS[$var] = $val;
else:
echo 'enter a value for' . $vars . ' ,Please';
endif;
break;
case 'print':
if(isset($GLOBALS[$var])):
echo $GLOBALS[$var];
else:
echo "$GLOBALS[$var] haven't value";
endif;
break;
case 'del':
unset($GLOBALS[$var]);
break;
}
}
التعديل الأخير تم بواسطة roboowsy ; 18-04-2010 الساعة 12:36 AM