شوّيت: شبكة كرة قدم اجتماعية




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الوسوم:

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو نشيط
#1  
سلسلة دروس جديدة وغير مكررة في php

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته...

تحية طيبة لجميع عشاق php .. أحببت في البداية أن أقدم هذا الموضوع كسلسلة تحتوي على مجموعة من الدروس وكل درس يتم وضعه في مقال منعزل ضمن هذا الموضوع وهذه الدروس في معظمها جديدة واستطعت التعرف عليها من خلال بحثي في اغوار هذه اللغة وأرجوا من الله أن ينفع بها كل مبرمج..

الدرس الأول : المتغير من نوع دالة

الجميع يعرف أن PHP تحتوي على العديد من أنواع المتغيرات مثل string, int, float, array, object.. وهي أنواع لتمثيل نوع البيانات التي يتم تخزينها في المتغير نفسه فمثلاً عندما يقال لك أن المتغير y من نوع int فسيتبادر إلى ذهنك أن y يحتوي على عدد مثل 5 أو 770 ... إلخ

وهكذا لبقية أنواع المتغيرات ...

يمكن أن يكون نوع المتغير هو function أو callback function ..

مامعنى ذلك ؟

أي يمكن أن يكون نوع المتغير هو دالة أي أن المتغير يخزن بداخله دالة

طيب كيف ذلك يا عبدالله عيد ؟


لاحظ المثال التالي ...

كود PHP:
<?php
function foo() {
    echo 
"In foo()<br />\n";
}

$func 'foo';
$func();        // This calls foo()

?>
الآن لاحظ أننا قمنا بعمل دالة عادية بإسم foo ولإستدعاء الدالة سنقوم بكتابة foo() وهذا ما هو متعارف عليه ولكن كما ترى في المثال السابق أنه قام بتعريف متغير أسماه func ووضع فيه اسم الدالة foo فقط وأصبح المتغير func من نوع string الآن استخدم الأقواس الخاصة بالدالة مع إسم المتغير كما ترى في المثال الموجود بالأعلى وعندها ستكتب

كود PHP:
<?php $func ();?>
عندما يجد مترجم php هذا المتغير مع الأقواس سيفترض عندها أن المتغير هو من نوع string وأن بداخله إسم الدالة أي يستخدم كإسم مستعار للدالة ...

وللزيادة في التوضيح لاحظ المثال التالي

كود PHP:
<?php
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}

$func 'echoit';
$func('test');  // This calls echoit()

?>
نهاية الدرس الأول .. وانتظروا الدرس الثاني
وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

اخوكم عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 17-07-2007, 03:36 PM
الرد مع إقتباس
مشرف قسم PHP
#2  

جزاك الله خيراً أستاذ عبدالله عيد .. موضوع جميل وشيق بارك الله فيك ...

كنت قد تحدثت في هذا الموضوع في أحد مقالاتي في ديفبيدا ( دالتك .. كيف ***يها وتتعامل معها ؟! ) ...

شكراً لك مرة اخرى .. موضوع جميل .. وبالتوفيق ان شاء الله

تحياتي، أشرف السمهوري






أشرف السمهوري is offline   قديم 17-07-2007, 04:30 PM
الرد مع إقتباس
عضو نشيط
#3  
الدرس الثاني : النوع متغير متغير في PHP

الدرس الثاني : النوع متغير متغير في php

بسم الله الرحمن الرحيم

مفهوم متغير متغير أو (variable-variable) في php يشبه نوعاً ما المؤشرات في لغة C لمن لديهم خبرة سابقة في لغة C ولكن ليس مثله بالضبط ….

فالجميع يعرف أن تعريف متغير في php هو بوضع علامة $ قبل المتغير وهذا هو المتغير العادي …

مثل


كود PHP:
<?php
$a 
‘abdulah’;
?>

إذاً ماهو مفهوم متغيرمتغير في php ؟

أولاً لتعريف متغير متغير فإننا نضع علامتي $$ بدلاً من علامة واحدة فعلى سبيل المثال لو لاحظت المتغير a الموجود بالأعلى فهو يحتوي على قيمة abdulah .. فالآن لو قمت بكتابة التالي :


كود PHP:
<?php

$a 
‘abdulah’;
$
$a ‘welcome to variable variable’;

?>

فالآن لاحظ الكود التالي الذي هو مربط الفرس لهذا المفهوم كالتالي

كود PHP:
<?php
echo $abdulah;
?>
فإن النتيجة ستكون ‘welcome to variable variable’ …

لقد قمنا بإستخدام القيمة الموجودة في المتغير a وهي abdulah كمتغير وعلامة $ الثانية تشير إلى وضع القيمة الجديدة في القيمة القديمة كمتغير

أما الفائدة من هكذا عملية هو لإستخدام المتغيرات بشكل ديناميكي فمثلاً لو أنني أردت أن أضع قيمة في متغير لا أعرف أسمه أي سأخذ هذا الأسم من المستخدم وأقوم بصنع متغير من الأسم الذي أدخله المستخدم فإنني أحتفظ بالأسم في متغير ثم أضع لهذا المتغير علامتي $$ ولكي اخزن قيمة جديدة فيه وهكذا …

أتمنى أن تكون الفكرة قد اتضحت …

نهاية الدرس الثاني .. وانتظروا الدرس الثالث
وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

اخوكم عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 17-07-2007, 05:40 PM
الرد مع إقتباس
عضو فعال
#4  

الف شكر يا استاذ عبد الله الموضوع فعلا جميل
جزاك الله كل خير






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر is offline   قديم 17-07-2007, 05:42 PM
الرد مع إقتباس
عضو نشيط جدا
#5  

شرح رائع
جزاك الله خير اخوي عبدالله






رومنسي ksa is offline   قديم 17-07-2007, 07:42 PM
الرد مع إقتباس
عضو نشيط
#6  
العلاقة بين include و return

الدرس الثالث : العلاقة بين include و return

هذا الدرس يوضح وجود علاقة بين كلاً من include و return فالجميع يعرف أن include تقوم بتضمين محتويات ملف داخل ملف اخر … الآن لاحظ المثال التالي وليكن في ملف بإسم my.php
كود PHP:
<?php

// my.php file
$c * (20 7);
return 
$c;
?>
قد تستغرب من هذا المثال لأن المعروف عن return هو إستخدامها بداخل الدوال فقط ولكن مافائدة إستخدامها بهذا الشكل ؟ الآن لاحظ الملف التالي بإٍسم myinc.php

كود PHP:
<?php

// myinc.php
$yy = include(’my.php’);
echo 
$yy;

?>
ستكون قيمة المتغير yy هي 52 لأن الملف my.php يرجع نتيجة التعبير وعند تضمين الملف بواسطة include يمكنك إستقبال هذه القيمة في متغير وبكلام أخر فإن include عملت كدالة هنا لعمل شئ معين ولم تعمل للتضمين فقط . وأرجوا أن تكون العلاقة بينهما قد إتضحت …

ويمكن تطبيق ما تم ذكره على include_once, require, require_once .. لأن لها نفس عمل include مع بعض الفروقات ...

نهاية الدرس الثالث .. وانتظروا الدرس الرابع
وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

اخوكم عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 17-07-2007, 08:42 PM
الرد مع إقتباس
عضو سوبر نشيط
#7  

كل مرة تتحفنا بالدروس النادرة
شكرا لك اخي

لي طلب عندك فضلا وليس امرا وهو ان تكمل على الدروس السابقة في برمجة محرك القوالب

كذلك مارأيك في تجميعة دروسك في مفهوم الكائنات class الذي كتبت موضوع هنا قبل ايام
تقبل خالص احترماتي.






__________________
للتواصل: في اجازة
عبد الواحد البشيري is offline   قديم 17-07-2007, 08:42 PM
الرد مع إقتباس
عضو نشيط
#8  

بصراحة رأيت التجميع وأنزلت الملف وما أفرحني أنها مبادرة ممتازة للمساعدة
أما بالنسبة لمحرك القوالب فسأشرحها بشكل موسع إن شاء الله في الأيام القادمة عندما أجد الوقت الكافي وأقوم بتوزيعها إن شاء الله تعالى ..

تحياتي

أخوك عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 17-07-2007, 08:47 PM
الرد مع إقتباس
عضو سوبر نشيط
#9  

إقتباس:
المشاركة الأصلية بواسطة عبدالله عيد
بصراحة رأيت التجميع وأنزلت الملف وما أفرحني أنها مبادرة ممتازة للمساعدة
أما بالنسبة لمحرك القوالب فسأشرحها بشكل موسع إن شاء الله في الأيام القادمة عندما أجد الوقت الكافي وأقوم بتوزيعها إن شاء الله تعالى ..

شكرا لك اخي على الرد بالايجاب على التجميع والدروس المستقبلية






__________________
للتواصل: في اجازة
عبد الواحد البشيري is offline   قديم 17-07-2007, 09:27 PM
الرد مع إقتباس
عضو نشيط
#10  
التعرف على باراميترات الدالة أثناء تنفيذها ..

الدرس الرابع : التعرف على باراميترات الدالة أثناء تنفيذها ..

من المعروف أنه عند تعريفك لدالة معينة فإنك ربما تستخدم عدد معين
من الباراميترات مع الدالة أو ربما لا تستخدم أي باراميتر أي أن الدالة
لا تحتوي على باراميترات ...

والمقصود بالبارميترات هي المتغيرات التي تأتي بين قوسي الدالة عند تعريفها

ومثال على ذلك

كود PHP:
<?php
function myData($a,$wyc,$xyz)
{
 
//do somthing here
}
?>
فكما تلاحظ فإن كلاً من a, wyc, xyz هي عبارة عن متغيرات عادية ولكن
كونها أتت بين قوسي الدالة أثناء تعريفها فيطلق عليها باراميترات أو
ارجيومينت ..

لو نظرنا إلى الدالة myData في الأعلى فإنه عند إستدعاء الدالة يجب أن
نعبئ الثلاث بارميترات الخاصة بالدالة أي يجب أن نكتب

كود PHP:
<?php
myData
(1,'welcome',true);
?>
ولكن إذا كتبت شيئاً مثل :

كود PHP:
<?php
myData
();
?>
وسنستثني هنا الباراميترات الإفتراضية ... فعندها سيصدر المترجم الخاص باللغة تحذيراً على كل متغير (باراميتر) للدالة لم يتم وضع قيمة له
وهنا لم يتم وضع قيم للثلاثة بارميترات وعندها سيصدر لك شئ مثل :

كود:
Warning: Missing argument 1 for myData() in c:\wamp\www\demo.php on line 3
Warning: Missing argument 2 for myData() in c:\wamp\www\demo.php on line 3
Warning: Missing argument 3 for myData() in c:\wamp\www\demo.php on line 3
وإذا كتبت مثلاً

كود PHP:
<?php
myData
(1024);
?>
سيعطيك رسالتين تحذير لأنه بقي باراميترين ... وهكذا ..

درسنا هذا سيغطي موضوع التعرف على البارميترات واستخدامها ومعرفة عددها أثناء تنفيذ الدالة وإستدعائها وعندها نستطيع أن نعمل
دالة تستخدم عدد غير محدد من البارميترات دون أن نكتب أي باراميتر للدالة الأساسية أثناء تعريفها .. كيف ذلك ؟ تابع معنا


سنقوم بتعريف دالة بإسم mySwalif وهذه الدالة تستطيع أن تتعامل مع أي عدد من البارميترات دون تحديد مسبق ..

كيف ؟

هنالك الكثير من الدوال للتعامل مع الدوال وهنا سنتعامل مع دالتين مهمة وهي :

1- func_num_args
2- func_get_arg

سيأتي شرحها في الأسفل ..

الآن سنعرف دالة عادية mySwalif لطباعة كلمة swalif كالتالي :

كود PHP:
<?php

 
function mySwalif()
 {
  echo 
'swalif';
 }
 
?>
وعند الإستدعاء سنكتب

كود PHP:
<?php
 mySwalif
();
?>
عندها سيكون كل شئ على مايرام ...

ولكن لو ك***ا

كود PHP:
<?php
 mySwalif
('anystring');
?>
فإن مترجم php سيصدر رسالة مفادها ان دالة mySwalif ليس لها بارميترات .. وهذا مانخشاه ..

إذا كيف سنحول دالة mySwalif إلى دالة تستطيع أن تقبل أي عدد من البارميترات التي يمررها المستخدم عند إستدعاء الدالة ؟

الجواب هو بإستخدام دالتي func_num_args و func_get_arg

و للتحذير فإن هذه الدالتين لا تستخدم إلا من داخل الدالة التي تعرفها أي لا تستطيع إستخدام الدالتين مباشرة ضمن الملف أي يجب أن تكتب
الدالتين داخل دالة أثناء تعريفها ...

بالنسبة للدالة func_num_args وظيفتها أنها تقوم بإرجاع عدد البارميترات التي مررها المستخدم للدالة
أما بالنسبة للدالة func_get_arg ووظيفتها هي احد البارميترات التي مررها المستخدم للدالة وذلك بتحديد رقم الباراميتر الذي تريده
وأول بارميتر يكون من الرقم 0 صفر .. وللتوضيح لاحظ المثال التالي الذي سيجعل دالة mySwalif تقبل أي عدد من البارميترات كالتالي :

كود PHP:
<?php
function mySwalif()
{
  
$num_args func_num_args(); //هنا سترجع الدالة عدد البارميترات التي مررها المستخدم للدالة
  
for($i 0$i $num_args$i++)
   {
     
$param func_get_arg($i); //هنا ستحضر قيمة البارميتر الأول ومن ثم الثاني وهكذا
      
echo '<b>'.$param.'</b><br/>';
   }
}
?>
الآن بإمكاني كتابة مايلي بدون مشاكل

كود PHP:
<?php
 
 mySwalif
();
 
mySwalif('welcome');
 
mySwalif('welcome','to');
 
mySwalif('welcome','to','swalif');
 
mySwalif('welcome','to','swalif',2007);

?>
وأرجوا أن تكون الفكرة قد اتضحت ...

نهاية الدرس الرابع .. وانتظروا الدرس الخامس

وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

اخوكم عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 17-07-2007, 09:50 PM
الرد مع إقتباس
عضو نشيط
#11  

أقول أيه غير
تسبقنا دائما وفقك الله وأعانك
موضوعاتك دائما بالمقدمة






__________________
PHP-TIGER
professional php Coder
Mu4all.com
asoft is offline   قديم 17-07-2007, 10:46 PM
الرد مع إقتباس
عضو نشيط
#12  
الصيغة البديلة للـ control structure

الدرس الخامس : الصيغة البديلة للـ control structure

بإختصار هذا الدرس يوضح الصيغ البديلة لكل من if, else, elseif, while, for, switch .... وغيرها من أدوات التحكم في اللغة ...

ما المقصود بالصيغة البديلة (Alternative Syntax) هي أنه يمكنك كتابة ادوات التحكم مثل if وغيرها بطريقة أو بشكل أخر .. و للتوضيح أكثر لاحظ ما يلي :

أنت في العادة تكتب if كالتالي :

كود PHP:
<?php
 
if($the_bool_exp)
  {
    
//do somthing...
  
}
?>
جميل جداً ...


قاعدة الصيغة البديلة
في الصيغة البديلة تستبدل الأقواس { , } بما يلي :

1- قوس الفتح { يستبد بـ : نقطتين
2- قوس الإغلاق يستبدل بكلمة end ملتصق بها إسم اداة التحكم المستخدمة يتبعها فاصلة منقوطة أي في حالة if تكون endif ..


وإذا أردنا تحويل ماذكرناه إلى الصيغة البديلة نقوم بالتالي :


كود PHP:
<?php
 
if($the_bool_exp) :
    
//do somthing...
  
endif;
?>
لاحظ المثال التالي الخاص بـ if

كود PHP:
<?php
if ($a == 5):
    echo 
"a equals 5";
    echo 
"...";
elseif (
$a == 6):
    echo 
"a equals 6";
    echo 
"!!!";
else:
    echo 
"a is neither 5 nor 6";
endif;
?>
وهذه القاعدة لجميع أدوات التحكم و للتوضيح إليك الأمثلة التي تعطيك التصور الأفضل :

بالنسبة لـ while
كود PHP:
<?php
$i 
1;
while (
$i <= 10):
    echo 
$i;
    
$i++;
endwhile;

?>
بالنسبة لـ switch

كود PHP:
<?php
switch ($i):
case 
0:
    echo 
"i equals 0";
    break;
case 
1:
    echo 
"i equals 1";
    break;
case 
2:
    echo 
"i equals 2";
    break;
default:
    echo 
"i is not equal to 0, 1 or 2";
endswitch;
?>
وهكذا بالنسبة for, foreach,dowhile...

أما فائدة الصيغة البديلة فهي ممكن أن تكون في إلغاء فكرة الأقواس وتداخلها وجعل الكود يكون كتابياً أكثر من كونه ملئ بالأقواس

وثانياً لإعطاء المبرمج حرية كتابة مايريده بالتنسيق الذي يريده ..

وطرحت هذا الموضوع كدرس هنا لأنه لو مر معك أحد السكربتات مكتوب بالصيغة البديلة فإنك لن تحتار بإذن الله تعالى .. وأرجوا أن تكون الفكرة وصلت بإذن الله تعالى

نهاية الدرس الخامس .. وانتظروا الدرس السادس

وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

اخوكم عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 17-07-2007, 11:51 PM
الرد مع إقتباس
عضو فعال جدا
#13  

الله يجزيك كل الخير موضوع اكثر من رائع كمل ربنا يوفقك






__________________
مجتمع الفيبولتين العربي ( موقع عربي دعم للنسخة vBulletin باللغه العربية, متخصص في حل مشاكل - تحميل اضافات النسخة - هاكات مفيدة - دعم فني مجاني ),
طريق الاتصال بي :
vBulletin-arabic - twitter - facebook - Googleplus
ahmed-samara is offline   قديم 18-07-2007, 04:23 AM
الرد مع إقتباس
عضو سوبر نشيط
#14  

اعجبني كثيرا الدرس الخامس لسهولة استخدام الدوال المذكورة
شكرا لك
كما اود من المشرفين تثبيت هذا الموضوع لتعم الفائدة






__________________
للتواصل: في اجازة
عبد الواحد البشيري is offline   قديم 18-07-2007, 07:47 PM
الرد مع إقتباس
عضو نشيط
#15  
التعامل مع المراجع References

الدرس السادس : التعامل مع المراجع References

من أكثر وأهم المفاهيم المستخدمة في php مايسمى بالمراجع أو الـ References ..

ماهي المراجع (References)؟

سأعطيك عزيزي القارئ تعريف بطريقتي

هي عبارة عن قيمة لها أكثر من متغير يشير إليها ..

طيب ياليت ياعبدالله عيد توضح بالأمثلة (ابشر.. )

كود PHP:
<?php
$x 
10;
?>
الآن إذا عدنا إلى التعريف فإن القيمة ستكون 10 والمتغير x ..

الآن كيف نستخدم المرجع لنشير إلى قيمة x ؟

لعمل متغير يعمل كمرجع لقيمة (متغير اخر) فإننا نستخدم علامة & كالتالي :

كود PHP:
<?php
$y 
=&$x;
?>
الآن أصبح x و y يشيرون إلى نفس القيمة التي هي 10 ..

الآن لو غيرنا في x أو في y فإن قيمة الأخر ستتغير تباعاً ... لاحظ مايلي ..

كود PHP:
<?php
$y 
3000;
echo 
$x;
?>
ستكون النتيجة هي

كود:
3000
والسبب أن x و y يشيرون إلى نفس القيمة أي أن تغيير أي أحد منهما فإن الأخير سيتغير تباعاً لذا لو قمنا بعمل مراجع كالتالي :


كود PHP:
<?php
$z
=&$x;
$r=&$x;
$c=&$x;
?>
فإن z,r,c أصبحت مراجع أيضاً أي إذا غيرنا في قيمة x أو y أو z أو r أو c فإن الجميع سيتغيرون لإنهم في الأصل يشيرون إلى نفس القيمة ومن هنا جاء التعريف الذي قلته في الأعلى أنها قيمة لها أكثر من متغير يشير إليها ...

لاحظ الآن ما يلي :


كود PHP:
<?php
$t 
400;
$s $t;
?>

ماتراه في الكود الذي في الأعلى مختلف تماماً عن المراجع والسبب أن علمة المساواة تعني (copy) أي نسخ القيمة أي أن t هو 400 و s هو 400 ولكن إذا غيرنا في أحدهما فإن الأخر لن يتغي والسبب أن كل منهما متغير ولكن كل منهما له قيمته الخاصة به

لذا لو غيرنا كما يلي :


كود PHP:
<?php
$s 
700;
echo 
$t;
?>
فلن يتغير شئ وستكون النتيجة كالتالي ...
كود:
400
تحذير : المراجع تقنية ممتازة وجيدة ومفيدة ولكن في نفس الوقت فهي خطيرة جداً والسبب في ذلك أنه يمكن أن تحدث معها تغييرات لم تكن في الحسبان فعلى سبيل المثال ربما أنت تتعامل مع متغيرين مراجع في ملفين مختلفين وعندما يتغير أحدهما فإنه سيؤثر على المتغير الموجود في الملف الأخر وهذا ما قد يتسبب في نتائج غير مرغوب بها


وأرجوا أن تكون الفكرة قد اتضحت ...

نهاية الدرس السادس .. وانتظروا الدرس السابع

وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

اخوكم عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 20-07-2007, 01:55 PM
الرد مع إقتباس
عضو نشيط
#16  
تعريف دالة بداخل دالة

الدرس السابع : تعريف دالة بداخل دالة

المقصود بتعريف دالة داخل دالة هو أن تقوم بكتابة تعريف لدالة معينة وبداخل هذا التعريف تنشئ تعريف أخر لدالة أخرى ...

الآن افترض أنك تقوم بإستدعاء دالة بإسم myfunc وهذه الدالة ليس لها تعريف كالتالي :

كود PHP:
<?php
myfunc
();
?>
فإن المترجم سيصدر خطأ لعدم وجود تعريف للدالة ...

الآن لو قمنا بكتابة مايلي :


كود PHP:
<?php
function myfunc()
{
 
// do somthing...
}
?>
فالآن لو ك***ا ..


كود PHP:
<?php
myfunc
();
?>

فإن الأمور ستسير على مايرام والسبب أن مترجم php استطاع التعرف على الدالة من خلال التعريف الذي ذكرناه ..


الآن لاحظ مايلي :

كود PHP:
<?php
function foo() 
{
  function 
bar() 
  {
    echo 
"I don't exist until foo() is called.\n";
  }
}

?>
هذا مانقصد به تعريف دالة داخل دالة فلقد عرفنا دالة بإسم foo وعرفنا بداخلها دالة بإسم bar ..

ولكن هنا مشكلة للتوضيح ..

الآن مترجم php يعلم فقط بوجود الدالة foo فقط أي لو كتبت ما يلي :

كود PHP:
<?php
bar
();
?>
فإنه سيصدر خطأ يخبرك فيه أن الدالة bar غير معرفة !!!

إذا كيف أستخدم الدالة bar ؟

في حقيقة الآمر سيتم التعرف على الدالة bar في حال استدعيت الدالة foo فقط كالتالي :


كود PHP:
<?php
foo
();
?>
الآن عندما نفذ مترجم php هذه الدالة فإنه وجد بداخلها تعريف لدالة أخرى وعندها سيتعرف على الدالةbar التي بداخل foo ويجعلها متاحة للإستخدام...

أي بكلام أخر لا تستطيع إستدعاء الدالة التي بالداخل(bar) حتى تستدعي الدالة التي تحتويها (foo)(الدالة التي بالخارج) ..
فالآن لو عملنا التالي ..
كود PHP:
<?php
bar
();
?>
فإن الأمور ستسير على مايرام ...

وإليك المثال بالكامل ...

كود PHP:
<?php
function foo() 
{
  function 
bar() 
  {
    echo 
"I don't exist until foo() is called.\n";
  }
}

/* We can't call bar() yet
   since it doesn't exist. */

foo();

/* Now we can call bar(),
   foo()'s processesing has
   made it accessible. */

bar();

?>
وأرجوا أن تكون الفكرة قد اتضحت ...

نهاية الدرس السابع .. وانتظروا الدرس الثامن

وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

اخوكم عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 20-07-2007, 02:18 PM
الرد مع إقتباس
عضو فعال جدا
#17  

الله يجزاك خير اخوي عبدالله على هذه الدروس القيمة


تقبل تحياتي






__________________
بي اتش بي العرب : php-ar.com
دروس PHP خاص : phpfaq.php-ar.com

new site : www.naifphp.net/web
Mr.php-ar is offline   قديم 21-07-2007, 08:31 AM
الرد مع إقتباس
عضو نشيط
#18  

اخي عبدالله عيد بارك الله فيك يالغالي ،،

وحبيت أشارك بإقتراح ربما يكون مفيداً في نظري و يسهل من الفهم اكثر،،

اكثر الذين يقومون بالشرح لا يذكرون مثال بسيط على الدرس او العنصر المشروح مثلاً أخونا محمد الرحيلي بارك الله فيه قام بشرح هذه اللغه بأسلوب مشوق ومبسط حيث في احد دروسه قام بشرح الشرطية if ووضح ذلك بمثال مبسط من فائدة عملها واستخداماتها قال :

" لنأخذ مثالا حيا على طريقة عمل هذه الداله الشرطيه , وسوف يصل اليك المعنى, تخيل ان لديك كما قلنا بقاله , ولديك منتجات غذائية وتريد ان تعرف هل اخذ المشتري ببسي ام لاو واذا اخذ المشتري ببسي سوف نعمل له تخفيض بمبلغ نصف ريال , هل انت مستعد؟ ... إلخ "

قام مشكوراً بربطنا بالواقع مع هذا المثال ..

انا حبيت إنك توضح فقط " متغير متغير في php " $$ متى يفيدنا أستخدامها وما الغرض منها ؟؟

وياليت يكون بقيه الشرح كذلك باااااااااااااااااااااارك الله فيك كلنا آذان صاغيه لك يامعلمي شكراً لك عزيزي وآسف على الإطالة ،،






Abo-Ahmed is offline   قديم 22-07-2007, 01:21 AM
الرد مع إقتباس
عضو فعال جدا
#19  

جزاك الله خير






__________________
htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com is offline   قديم 22-07-2007, 01:53 AM
الرد مع إقتباس
عضو نشيط
#20  

جزاك الله خيراً أخي عبد الله دروس أكتر من ممتازه






__________________
الحمد لله
إيحي بلس لحلول تطبيقات الويب
هل جربت مضاعفة عدد زوار موقعك عن طريق خدمة زوار ؟
حازم علي is offline   قديم 22-07-2007, 11:57 AM
الرد مع إقتباس
عضو نشيط جدا
#21  

يعطيك العافية اخوي عبدالله عيد دروس ممتازة وراح استفيد منها كثير

شكراً لك وبارك الله فيك وبعلمك ..






__________________
سبحان الله وبحمدة ، سبحان الله العظيم
ابو عابد is offline   قديم 23-07-2007, 03:26 AM
الرد مع إقتباس
عضو نشيط جدا
#22  

كتب الله اجرك اخي عبدالله وبانتظار القادم .






__________________
موقعي الشخصي
www.Flasher.ws

جزيرة الفنون
www.Artsisland.net
Flasher is offline   قديم 25-07-2007, 04:28 PM
الرد مع إقتباس
عضو نشيط
#23  

جزاكك الله خيرا اخي الفاضل ونرجو الاستمرار في دروسك القيمة






__________________
سبحان الله وبحمده سبحان الله العظيم

العضوية يستخدمها اكثر من شخص
Nabeel A. Galal
Hawk Eye
nabeel.galal AT hotmail.com
hawkeye is offline   قديم 26-07-2007, 01:46 PM
الرد مع إقتباس
عضو نشيط
#24  
تحية طيبة للجميع

السلام عليكم ورحمة الله وبركاته ..

تحية طيبة للجميع وشكراً لجميع المشاركين ..

أستاذي العزيز أبو أحمد Abo-Ahmed .. بالنسبة للفائدة الأساسية من وراء فكرة متغير متغير هي إنشاء المتغيرات بشكل ديناميكي ... بمعنى

أنت في حالة أردت كتابة متغير في php فإنك ستستخدم الطريقة العادية حيث ستضع $ يليها إسم المتغير ... كلام جميل

الآن ماذا لو أردت أن تقوم بإنشاء متغير معين أثناء تشغيل السكربت أو الصفحة الخاصة بك .. أي بكلام أخر أنت لا تريد إنشاء المتغير من خلال صفحتك بل تريد إنشائه بناء على مدخلات المستخدم مثلاً .

ومن أقوى الأمثلة على هذا الإستخدام هي محركات القوالب حيث يمكنك تحويل القيم التي يدخلها المستخدم في القالب إلى متغيرات داخل php عندما تقوم بتشغيل السكربت ..

وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

اخوكم عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 27-07-2007, 11:46 AM
الرد مع إقتباس
عضو نشيط
#25  
المتغير المعقد Complex Variable

الدرس الثامن : المتغير المعقد Complex Variable

المقصود من المتغير المعقد أو من فكرة المتغير المعقد هو أنه متغير يتم إنشائه بطريقة معقدة أي ليس بالطريقة العادية والمتعارف عليها ..

فالطريقة المعروفة هي أن تكتب $ يليها إسم المتغير بشرط أن لا يبدأ برقم .. كلام سليم ومن الأمثلة على ذلك :

كود PHP:
<?php
$foo
$_bar
$__swalif
?>
وكما ترى فهذه المتغيرات متغيرات عادية ومعروفة ...

طيب ما هي فكرة المتغيرات المعقدة ؟

فكرة المتغيرات المعقدة هي أنك تقوم بإنشاء متغير معين بشكل غير مباشر وإنما سيتم بناء المتغير على مجموعة من القيم .. ولتوضيح هذا الكلام تابع مايلي :

القاعدة :

المتغير المعقد أو الـ complex variable يبدأ بـ $ مثل المتغير العادي ثم يليه قوس فتح الدالة { وبعد ذلك اكتب ماتريده من نصوص وأرقام بشرط أن يبدأ مابداخل القوس بحرف أو _ وبعدها أغلق القوس بـ } ...


إليك الأمثلة الآن إفترض أني أريد إنشاء متغير معقد بإسم welcome_to_my777 يمكن كتابة هذا المتغير بالطريقة العادية ولكن سأعطيه بالطريقة المعقدة لكي يسهل فهمه وإليك المثال ..

كود PHP:
<?php
$start 
'welcome';

${
$start.'_to_my'.'777'} = 500//هنا يتم تشكيل المتغير المعقد وإعطائه القيمة

echo $welcome_to_my777;
?>
الآن لاحظ في الأعلى كل الحكاية أن php جمعت التعبير الموجود داخل القوسين{} وقامت بتنسيقه ومن ثم أسندت له علامة $ وأصبح متغير وللترسيخ لاحظ المثال التالي :

كود PHP:
<?php

$a 
'one';
$b 'tow';
${
$a} = 1;
${
$b} = 2;

${
'the_result_is'} = $one $tow;

echo 
$the_result_is;

?>
الآن لاحظ قيمة المتغير a هي one و b هي tow وعندما وضعنها في صورة متغير معقد خرج لنا المتغيرين one و tow ولهما القيم 1,2 و في الأخير أضفنا الناتج إلى متغير معقد بإسم the_result_is وعندها إستخدمناه بشكله العادي لطباعة الناتج وسيكون الناتج هو 3 ...

وأرجوا أن تكون الفكرة قد اتضحت ...

نهاية الدرس الثامن.. وانتظروا الدرس التاسع

وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

اخوكم عبدالله عيد






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد is offline   قديم 27-07-2007, 12:17 PM
الرد مع إقتباس
الرد على الموضوع


 

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

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

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
مطلوب دروس عملية فى php eltawoos.com PHP 2 28-03-2006 06:32 PM
ملحوظات مفيده لبرمجه قويه بأستخدام الــ PHP و الــ Mysql Brmaga PHP 16 07-02-2006 01:50 AM
أفضل محرر php أنصح به PHP Designer 2005 v2.2.8 Hossam AL-Abdeh PHP 10 31-01-2005 04:22 PM
PHP Designer 2005 v2.2.8 Hossam AL-Abdeh PHP 0 17-12-2004 12:49 PM
سلسلة دروس ال HTML [ الدرس الأول ] الوافي الويب والويب 2.0 والـ Semantic Web 4 25-07-2003 08:11 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 04:59 PM.