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


جزاك الله خير أخوي د.نبهان
بس والله أنا ما عقدني في الـ php إلا الكائنات !!
أريد معرفة شيء واحد !!
إلى الآن أعتقد أن كل شيء أقوم به عن طريق الكائنات أستطيع أن أقوم به بواسطة الدوال … إذاً ما الفرق ؟!
جزاك الله خير
تحياتي
عبدالعزيز
“إنشاء كائن في فئة نقوم بمعالجتها و إضافة سمات على هذه الفئة ثم نقوم بإنشاء تواجد للفئات ونمرر عليه البيانات التي تريد أن تمر بالمعالجة التي مرت عليها الفئة إما معالجة كاملة أو جزئية بحسب الرغبة”.
(مقتبس من قرية الـphp).
لاحظ كلمة كاملة أو جزئية .
يعني بالدالة تقدر تعمل اي شيء صحيح ولكن بالكلاس تعمل دوال كثيرة و تعمل ع الامر الواحد معالجة بكل دالة مرة ان كنت تريد ذلك
بالأحرى تدخل الأمر في سلسلة من الأوامر المعقدة :> ولكن مريحة للسيرفر وللبرنامج وسريعه أيضاً وأكثر تخصصية من الدالة
لربما تستطيع ادخال امر بأكثر من دالة ولكن لا يوجد ترابط بين هذه الدوال لذلك سيتم الامر بشكل معقد أكبر للسيرفر و متعب للبرنامج وبطيئ
بالمختصر الكلاس الأب للدوال :)
ولنا لقاء