السبت، 16 أبريل 2011
الثلاثاء، 12 أبريل 2011
الكتاب الذي تعلمت من خلاله لغة php
3:11 م
Hisham Dalal
لا تعليق
طبعاً الكتاب المترجم من دار الشعاع للنشر.. لكنه لم يعد موجوداً في موقعهم..
لذا بحثت عن اسم الكتاب بالانجليزي "موجود اسم الكتاب الانجليزي" في الطبعة العربية
صورة الكتاب:
http://www.amazon.com/gp/reader/1931841322/ref=sib_dp_pt#reader-link
والرابط لمن يريده كالتالي:
http://www.mediafire.com/?baoff9gibnia66x
لذا بحثت عن اسم الكتاب بالانجليزي "موجود اسم الكتاب الانجليزي" في الطبعة العربية
صورة الكتاب:
http://www.amazon.com/gp/reader/1931841322/ref=sib_dp_pt#reader-link
والرابط لمن يريده كالتالي:
http://www.mediafire.com/?baoff9gibnia66x
نشر في:
3:11 م
كتب
تنظيم واستيراد الكلاسات من داخل الكلاسات:
2:48 م
Hisham Dalal
لا تعليق
يمكنك جعل الكلاس يدرج كلاس آخر ويصل الى كل طرقه،
وبالتالي سيمكنك ذلك من تنظيم كلاساتك..
طريقة العمل:
لنفترض أن لدينا الكلاس a على النحو التالي:
وبالتالي سيمكنك ذلك من تنظيم كلاساتك..
طريقة العمل:
لنفترض أن لدينا الكلاس a على النحو التالي:
class a { function m1(){ return "a [m1]"; } function m2($x){ return "a [m2][$x]"; } }
والكلاس b على النحو التالي:
class b { private $obj_name; private $obj; function load($obj){ if(class_exists($obj)){ $this->obj_name = $obj; $this->obj = new $obj(); } } function get_method($method, $var=''){ return $this->obj->$method($var); } function get(){ $this->a = new a(); echo $this->a->m1(); } function get_obj(){ return $this->obj; } }
فإن لدينا عدة طرق للحصول على طرق الكائن a من خلال الكائن b:
$b = new b(); $b->load('a'); echo $b->get_method('m1'); echo '<br>'; echo $b->get_method('m2', 100); echo '<br>'; $b->get(); echo '<br>'; echo $b->get_obj()->m2(200);
شرح الكلاس b:
1) المتغيرات:
1) المتغيرات:
private $obj_name; private $obj;
- المتغير $obj_name يحفظ اسم الكلاس الذي سيتم استيراده
- المتغير $obj يحفظ الكائن (بعد التنفيذ)
- المتغير $obj يحفظ الكائن (بعد التنفيذ)
شرح دوال الكلاس b:
الدالة load:
الدالة load:
function load($obj){ if(class_exists($obj)){ $this->obj_name = $obj; $this->obj = new $obj(); } }
تتحقق من وجود الكلاس أولاً
تحتفظ باسم الكلاس في المتغير obj_name
تحتفظ بنسخة للكائن في المتغير obj
تحتفظ باسم الكلاس في المتغير obj_name
تحتفظ بنسخة للكائن في المتغير obj
الدالة get_method:
function get_method($method, $var=''){ return $this->obj->$method($var); }
تعيد طريقة من طرق الكائن المستورد مع امكانية تمرير وسيط
الدالة get
function get(){ $this->a = new a(); echo $this->a->m1(); }
طريقة مباشرة للحصول على إحدى طرق الكائن المستورد
الدالة get_obj
function get_obj(){ return $this->obj; }
طريقة للحصول على الكائن بكل طرقه