[سجن البرمجة] بعض الدوال المساعدة في الـ Class
الكاتب: Dr.Nabhan | 4 نوفمبر 2006
السلام عليكم ورحمته تعالى ..
اليوم سنكمل التعرف على أداة التعذيب (الكلاسات وأدواتها المرافقة).
الدالة var:
تستخدم هذه الدالة لتصريح متغير ما داخل الـ Class وتعريفه من الخارج.
مثال:
-
Class MyClass
-
{
-
Var $moon ;
-
Function myfunction ()
-
{
-
}
-
}
-
$MyC = new MyClass;
-
$MyC->moon = "go";
-
$MyC->myfunction();
ماهو الناتج باعتقادك؟!
الناتج هو: go
أفهمت أخي المسجون؟ بالطبع لا
حسنا فلنفسر الكود السابق
أولاًً: كتبنا الكلاس كما نعلم، وبعدها قمنا بتصريح الـ moon بواسطة var، ثم أنشأنا Function جديد وهو يقوم بطباعة moon
ولكن لاحظ معي $this وهي تقول أن هذا المتغير هو داخل هذا الكلاس فقط، أو أنه متغير var.
عزيزي المسجون الكريم أتريد أن تعرف كيفية تعريف متغير عام من خارج الدالة لداخلها؟
"كيف يعني من خارج لداخل الدالة؟؟"
افترض انه لديك مثلاً متغير خارجي وهو $street وبه قيمة معينة، وتريد استخدام هذا المتغير داخل الدالة، طبعاًً يمكنك فعل ذلك بواسطة var ولكن سوف تزيد السطور البرمجية.
فكّر معي!!
ستقول أن الحل لدى السجّان php
طبعاً إنه سجان مريح جداً، ولا عليك إلا أن تقضي محكوميتك معه (هذا إذا خرجت)
هذه الأداة التعذيبية المريحة هي:
global
كيف يمكنني التعذب معها براحة؟
تقوم باستخدامها داخل الـ Function المطلوب للمتغير هذا ..
مثال:
-
Class MyClass
-
{
-
Var $moon ;
-
Function myfunction ()
-
{
-
}
-
}
-
$MyC = new MyClass;
-
$MyC->moon = "go";
-
$MyC->myfunction();
ماهو الناتج برأيك؟!
الناتج هو: go
"أراك نعست وتريد النوم أيها المسجون!!"
لا بأس.. انتبه معي الآن:
تخيل أنك تريد إدخال دالة معينة و إخراجها مرة أخرى،ولكن بعد إجراء عمليات معينة عليها
أي أنك لو لاحظت، فكل الأمثلة السابقة هي التي تقوم بعمل طباعة لوحدها، أليس كذلك؟
الآن، أنت الذي تريد طباعة متغير ما بعد إجراء أوامر معينة عليه؟
مثال:
-
Class FBI
-
{
-
Function doit($go)
-
{
-
$mg = $go+1;
-
Return $mg;
-
}
-
}
-
$FBI = New FBI;
لاحظ معي عزيزي المسجون، ستجد أننا صنعنا كلاس و بداخله دالة لتقوم بزيادة 1 لكل عدد يدخل إليها، وبعدها قمنا بالوصول للدالة ومن ثم استخدامها.
ووضعنا له قيمة 2
طبعاً سيكون الناتج: (3).
المهم من الموضوع هو return هذه الدالة يا عزيزي هي التي تحدد لك المتغير الذي سيخرج في الآخر.
أرجو أن يتون قد فهمت هذه الأدوات التعذيبية المريحة المساعدة >> "ما أحلا هيك أدوات"
مع التحية