السبت، 16 أبريل 2011

dynamicdrive.com

موقع dynamicdrive.com

يختص بتقديم الإضافات الجمالية للموقع والتي تضيف اليها الحياة، وهذه بعض التصنيفات:

الثلاثاء، 12 أبريل 2011

الكتاب الذي تعلمت من خلاله لغة php

طبعاً الكتاب المترجم من دار الشعاع للنشر.. لكنه لم يعد موجوداً في موقعهم..
لذا بحثت عن اسم الكتاب بالانجليزي "موجود اسم الكتاب الانجليزي" في الطبعة العربية
صورة الكتاب:
http://www.amazon.com/gp/reader/1931841322/ref=sib_dp_pt#reader-link

والرابط لمن يريده كالتالي:
http://www.mediafire.com/?baoff9gibnia66x

تنظيم واستيراد الكلاسات من داخل الكلاسات:

يمكنك جعل الكلاس يدرج كلاس آخر ويصل الى كل طرقه،
وبالتالي سيمكنك ذلك من تنظيم كلاساتك..

طريقة العمل:

لنفترض أن لدينا الكلاس 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) المتغيرات:


private $obj_name;
    private $obj; 

- المتغير $obj_name يحفظ اسم الكلاس الذي سيتم استيراده
- المتغير $obj يحفظ الكائن (بعد التنفيذ)

شرح دوال الكلاس b:

الدالة load:

function load($obj){
        if(class_exists($obj)){
            $this->obj_name = $obj;
            $this->obj = new $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;
    }


طريقة للحصول على الكائن بكل طرقه

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates | تعريب وتطوير : قوالب بلوجر معربة