أشياء مفيده أخرى [ مقدمه في php , جزء 5 ]
مرسل: 12 أكتوبر 2008, 01:53
يجب أن تكون قدق إطلعت على الاجزاء السابقه ..
لنفعل شي اكثر تطوراً الآن ..
مثلا , لنقم بمعرفة نوع متصفح الزائر وذلك عن طريق user agent له , الذي يحمل نوع المتصفح والنظام وامور اخرى مفيده .
user agent يتم تخزينه في متغير( لاحقا سنعرف ماهو المتغير) , والمتغيرات في php تبدأ دائما بعلامة الدولار $ , المتغير الذي نتحدث عنه هو $_SERVER['HTTP_USER_AGENT'].
قم بوضع هذا الكود في ملف hello.php ألذي تكلمنا عن في الجزء السابق
سوف يظهر شي قريب من
المتغير هذا ماهو إلا عنصر في متغير $_SERVER الذي هو بدوره عباره عن مصفوفه "array"
المتغير $_SERVER هو عباره عن "متغير سوبر" superglobal وهو ليس الوحيد فيوجد متغيرات سوبر أخرى وهو معرفه مسبقا ومفيده بالطبع .
لفهم ماقمنا بطباعته , عنصر من مصفوفه ..
حيث ان 1 هو اسم المصفوفه و 2 هو العنصر داخل المصفوفه ويمكن أيضا أن يكون العنصر 2 مصفوفه أيضا , والمصفوفات متشعبه جداً, لكن غالباً تكون مجرد متغير يحمل عناصر بدون تشعب كبير كما في المثال .
المهم , نحن الآن قمنا بطباعه محتوى كثير ويوجد فيه نوع النظام والمتصفح وغيره , أريد الآن أن اقوم بتحديد نوع النظام بدقه, لذا نستخدم الداله strpos التي تقوم بمعرفه "هل يوجد النص المحدد في متغير ما أو لا" ,
شرح الداله ببساطه :
حيث ان $var هو المتغير الذي نريد أن نرى هل يحوي بداخله على text او لا ! سوف تقوم بإرجاع قيمه true او false أي نعم أو لا .
مع مثالنا نستخدمها كالتالي:
سوف يظهر لو كنت أستخدم متصفح اكسبلور التالي
لو كنت تستخدم متصفح اخر مثل فيرفوكس لن تظهر الرساله لك .. جرب بنفسك ..
إستخدمنا في المثال الأمر if وهو مساوي للكلمة العربيه "لو"
ونستطيع التعبير عن المثال السابق باللفظ كالتالي :
لنقم بجعل المثال متطور أكثر .. قم بوضع الكود التالي بدلاً من السابق في ملف hello.php
سوف يظهر لو نفذته :
أما لو كنت لم تستعرض من Internet Explorer سوف يظهر
قمنا بإستخدام else وتعني "لو لم يكون السابق قم بعمل التالي"
ونستطيع ترجمة المثال السابق لفظياً كالتالي :
أيضا لو لاحظت المثال لوجدت أننا قفزنا من كود php للهتمل وذلك بإستخدم <?php ... ?> و الهتمل جعلنا العرض له بدون هذه الوسوم ! وهذه ميزه مهمه يجب أن تحاول التمتع بها قليلاً ..
لا حظنا أيضا أن الدوال مهمه في تنفيذ أغلب الأشياء في php والداله عباره عن كلمة او جمله بسيطه مع أقواس , الأقواس تعبأ بالقيم المطلوبه لتنفيذ الداله , كما شرحنا مع strpos ..
وهذه هي الفكره مع أغلب الدوال .
تابع قراءة الأجزاء ...
التالي >>
<< السابق
_______________
المصادر :
PHP: Something Useful - Manual
مثلا , لنقم بمعرفة نوع متصفح الزائر وذلك عن طريق user agent له , الذي يحمل نوع المتصفح والنظام وامور اخرى مفيده .
user agent يتم تخزينه في متغير( لاحقا سنعرف ماهو المتغير) , والمتغيرات في php تبدأ دائما بعلامة الدولار $ , المتغير الذي نتحدث عنه هو $_SERVER['HTTP_USER_AGENT'].
قم بوضع هذا الكود في ملف hello.php ألذي تكلمنا عن في الجزء السابق
كود: تحديد الكل
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
كود: تحديد الكل
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
المتغير $_SERVER هو عباره عن "متغير سوبر" superglobal وهو ليس الوحيد فيوجد متغيرات سوبر أخرى وهو معرفه مسبقا ومفيده بالطبع .
لفهم ماقمنا بطباعته , عنصر من مصفوفه ..
كود: تحديد الكل
$1[2]
المهم , نحن الآن قمنا بطباعه محتوى كثير ويوجد فيه نوع النظام والمتصفح وغيره , أريد الآن أن اقوم بتحديد نوع النظام بدقه, لذا نستخدم الداله strpos التي تقوم بمعرفه "هل يوجد النص المحدد في متغير ما أو لا" ,
شرح الداله ببساطه :
كود: تحديد الكل
strpos($var, 'text')
مع مثالنا نستخدمها كالتالي:
كود: تحديد الكل
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo 'أنت تستخدم متصفح Internet Explorer.<br />';
}?>
كود: تحديد الكل
أنت تستخدم متصفح Internet Explorer.
إستخدمنا في المثال الأمر if وهو مساوي للكلمة العربيه "لو"
ونستطيع التعبير عن المثال السابق باللفظ كالتالي :
لو أن المتغير $_SERVER['HTTP_USER_AGENT'] يحوي الكلمة MSIE قم بعرض النص أنت تستخدم متصفح Internet Explorer.<br />
لنقم بجعل المثال متطور أكثر .. قم بوضع الكود التالي بدلاً من السابق في ملف hello.php
كود: تحديد الكل
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() قامت بإرجاع قيمة لاتساوي false</h3>
<p>انت تستخدم Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() قامت بإرجاع قيمة تساوي false</h3>
<p>أنت لاتستخدم Internet Explorer</p>
<?php
}
?>
كود: تحديد الكل
strpos() قامت بإرجاع قيمة لاتساوي false
انت تستخدم Internet Explorer
كود: تحديد الكل
strpos() قامت بإرجاع قيمة تساوي false
أنت لاتستخدم Internet Explorer
ونستطيع ترجمة المثال السابق لفظياً كالتالي :
ايضا يوجد الأمر else if ونضعه بعد الشرط if لو أردنا ان نقول لو لم يكون الاعلى كذا وكان التالي كذا فإفعل كذا ..لو أن المتغير $_SERVER['HTTP_USER_AGENT'] يحوي القيمه MSIE قم بإرجاع ... لو لم تكن فقم بإرجاع ..
أيضا لو لاحظت المثال لوجدت أننا قفزنا من كود php للهتمل وذلك بإستخدم <?php ... ?> و الهتمل جعلنا العرض له بدون هذه الوسوم ! وهذه ميزه مهمه يجب أن تحاول التمتع بها قليلاً ..
لا حظنا أيضا أن الدوال مهمه في تنفيذ أغلب الأشياء في php والداله عباره عن كلمة او جمله بسيطه مع أقواس , الأقواس تعبأ بالقيم المطلوبه لتنفيذ الداله , كما شرحنا مع strpos ..
وهذه هي الفكره مع أغلب الدوال .
تابع قراءة الأجزاء ...
التالي >>
<< السابق
_______________
المصادر :
PHP: Something Useful - Manual