7- ما هي أنواع البيانات ؟
تقسم البيانات إلى الأنواع التالية :
String , integer , double , array , boolean , object , resource , unknown
فللتحقق من نوع بيانات عينته لمتحول :
$variable=”this is text”
Echo(gettype($variable));
?>
ولتعيين نوع متحول ما :
settype($variable,integer);
Echo(gettype($variable))
8- ما هي معاملات الإسقاط ؟
تجعلك تعامل قيمة من نوع معين على أنها من نوع آخرما و هي :
(string) (integer) (double) (boolean) (int) (bool)
echo((int)$a);
9- ما هي المعاملات و التوابع ؟
المعاملات:
معامل الإسناد =
معامل المساواة == الذي يرجع true/false
+ - < > * % / ++ -- <= >=
و معامل جمع السلاسل الحرفية (.) مثلا :
$A=”hello”;
$b=”world”;
$c=”<b>”.$a.$c.”</b>
echo($c)
و معاملات تطبق على قيمة واحدة فقط مثل ++ و معامل النفي المنطقي ! not و معاملات الإسقاط
مثل int
و هناك معامل يقوم بالإختيار بين قيمتين اثنتين تبعا لقيمة ثالثة و هو : $a?$b:$c و يعني إذا قيمة المتحول $a صحيحة يتم اختيار $b و إلا تختار $c
10- توابع السلاسل المحرفية :
و تستخدم للتعامل مع السلاسل المحرفية و هي :
$string1=substr(“I am shadi”,3,2) اقتطاع حرفين بدءاً من الحرف الثالث
$string1=strops(“I am shadi”,”am”)يعيد رقم الحرف لورود السلسلة ضمن السلسلة الأولى
htmlspecialchars(“<p class=\”class1\”>the text</p>,ent_quotes));
والأخير يتولى البحث عن سلسلة محرفية ضمن محارف معينة تحتاج الى تمثيل خاص من html ليحولها إلى ما يكافئها من html و يأخذ الوسيط ent_quotes بحال أردت الترجمة و بالعكس يأخذ :ent_noquotes
التابع trim : لقص الفراغات من أطراف سلسلة محرفية
$string=trim(“ a lot of white space “)
التابعان ord() chr() لتحويل من ترميز ASCII على حرف و بالعكس
التابع strlen() يعيد طول السلسلة الحرفية
التابع printf() و sprintf() لتنسيق التوارخ و الأعداد و إعادتها بسلسلة حرفية و الثاني لطباعة الخرج
int printf(string format )
string sprintf (string format)
11- المعاملات الثنائية :
AND (&)
OR ( | )
XOR (^)
NOT (~)
(<<)الإزاحة الى اليسار و اليمين (>>)
12- المعاملات المنطقية :
AND (&&)
OR ( || )
XOR (xor)
NOT ( ! )
If {file_exists(“travel.xml”) && is_readable (“travel.xml)} {
Fopen(“travel.xml”,r);
Echo (“travel.xml opened”);
} else {
echo(“travel.xml not opened”);
}
13- ما هي المصفوفات ؟
لا تحتاج تصريح مسبق عن المصفوفة قبل استخداما أول مرة
تتألف من عناصر تدعى elements يمكن الرجوع إليها عن طريق الدليل index
14- مدخل إلى البرمجة كائنية التوجه باستخدام :PHP
البرمجة غرضية التوجه هي الخيار الوحيد للمبرمجين لتحقيق حلول معقدة و قابلة للصيانة. و قد جاءت PHP4 بتطوير و تحسين لمزايا OOPالبرمجة كائنية المنحى .
هناك نوعان من البرمجة : البرمجة التابعية حيث تكتب الشيفرة باستخدام التوابع فتنتج برامج مركزية الشفرة تستدعي التوابع تابعا تابعا لتعيد الخرج الموافق للدخل. أما في OOP فتحتوي كائنات لها مهام تدعى .Methods
يقوم كل كائن Object بتقديم الخدمة لعملائه ( الكائنات الأخرى ) و هكذا ...و هذا النمط سهل التتبع و الملاحقة.
الأصناف :
الصنف هو تعريف أو تمثيل لنوع معين من البيانات و عندما نريد تعريف كائن جديد يجب علينا استخدام الكلمة المفتاحية Class لتعريفه و هو يحتوي على ثلاث مكونات : الأعضاء member الطرق Method المشيدات constructors . يمثل العضو قطعة من البيانات سيتضمنها العضو، أما الطرق فتمثل خدمات يقدمها الكائن لزبائنه ، و أما المشيد فهي طريقة تستخدم لتبدئة الكائن و وضعه في حالة الجاهزية.
و تبدو الصيغة العامة للصنف في PHP على الشكل :
Class classname
{
var $member1;
var $member2; الأعضاء
function classname () المشيد
{
}
function method1() الطرق
{
}
function method2()
{
}
}
و للإشارة إلى عضو في صنف نستخدم الكلمة المفتاحية $this-> التي تحدد أنك تريد استخدام متحول من فضاء أسماء الكائن المحلي. و يتوجب إضافتها.
مثلاً لنفترض الكائن car و هو يحتوي المحرك و المفتاح و المشيد الذي يقوم بتبدئتهما و التابعين start , stop
<?php
class car
{
var $engine;
var $requredkey;
function car() المشيد
{
$this->requiredkey=new defaultkey();
$this->engine=new engine();
}
function start($key)
{
if ($key->equals($this->requiredkey)){
$this->engine->start();
return true;
}
return false;
الكائن Object:
يمثل الكائن مثيلاً instance عن صنف و لإنشائه : نستخدم الكلمة المفتاحية new
<?php
$object1=new object ()
فإذا أردنا مثلاً إنشاء مصفوفة من الكائنات المسماة car
$cars=array();
for ($I=0 ; $I<10 ; $I++) {
$cars[$I]=new car ();
}
و إذا أردنا استدعاء الطريقة start التي يملكها الكائن 1car فيكون
$carhasstarted=$car1-> start ($mykey);
if ($carhasstarted) echo (“car has started”);
$car1 -> stop ();
?>