Updates from فبراير, 2009 Toggle Comment Threads | اختصارات لوحة المفاتيح

  • phpreference 12:20 AM on 1 February 2009 رابط دائم | رد  

    إنشاء الفئه class 

    قمنا في مقدمه هذه الدوره بالتعرف علي مفاهيم البرمجه كائنيه التوجه ، سوف نقوم الأن بكتابه الكود الخاص بإنشاء الفئه class .
    قبل قراءه هذا الدرس يجب قراءه درس الصلاحيات Visibility لأننا سوف نحتاجه في هذا الدرس.
    سوف نقوم في هذا الدرس بكتابه كلاس تعليمي وسنسميه textBox وظيفته كتابه أي جمله نحددها في مربع بسيط .

    لإنشاء أي فئه يلزمنا ثلاث خطوات رئيسيه وهي :

    1 – كتابه الأكواد الازمه لتعريف الفئه
    طبعاً في هذه الخطوه يلزم تسميه الفئه بأي أسم تريد ويكون الكود بالشكل التالي :

    <?php
    class أسم الفئه
    {
    	//تحديد خواص الفئه
    	//تحديد أساليب الفئه
    }
    ?>
    

    وإذا كانت الفئه فرعيه ترث خصائص وأساليب الفئه الأصليه يكون الكود بالشكل التالي :

    <?php
    class الفئه الفرعيه extends الفئه الأصليه
    {
    	//تحديد خواص الفئه
    	//تحديد أساليب الفئه
    }
    ?>
    

    ملحوظه : 
    كلمه extends  كلمه معرفه في لغه PHP ومعناها أن الفئه الفرعيه ترث خصائص وأساليب الفئه الأصليه وسوف نتناول هذا الجزء بالتفصيل في تدوينه قادمه عن الوراثه .

    2 – تحديد خواص – متغيرات – الفئه
    ونقوم في هذه الخطوه بإنشاء خواص الفئه وتحديد صلاحيات كل خاصيه كما بالشكل التالي:

    <?php
    class أسم الفئه
    {
    	أسم الخاصيه    الصلاحيه;
    }
    ?>
    

    الأن سوف نحدد خواص كلاسنا العزيز textBox :

    <?php
    class textBox
    {
         public $message;
         protected $width = 150;
    }
    ?>
    

    لقد قمنا بتحدد خاصيتين أحدهما message$ لحمل الرساله التي نريد عرضها ، والأخري width$ لتحديد عرض المربع النصي .

    ملحوظه : 
    يمكن تحديد قيمه الخاصيه – المتغير – عند تعريفها أو نترك قيمتها فارغه .

    3 – تحديد أساليب – دوال – الفئه
    وفي هذه الخطوه سوف نقوم بكتابه أساليب  الفئه  وهي كالدوال في البرمجه الهيكليه ولكن تكون مسبوقه بصلاحيه الأسلوب كما بالشكل التالي :

    <?php
    class أسم الفئه
    {
    	الصلاحيه function أسم الأسلوب()
    	{
    		// أكواد الأسلوب
    	}
    }
    ?>
    

    الأن نقوم بتحديد أساليب الفئه textBox وهذه الأساليب تقتصر علي الداله display لعرض المربع النصي ،  وبالتالي أصبحت الفئه متكامله كما بالشكل التالي :

    <?php
    class textBox
    {
    	public $message;
    	protected $width = 150;  
    
    	public function display()
    	{
    		echo
    		'
    <div width="' . $this->width . '">'
    		. $this->message . '</div>
    ';
    	}
    }
    ?>

    الأن أصبح الكلاس متكامل ولكن ماذا عني كلمه this وكيف نستطيع إستخدام الكلاس ؟ هذا سوف نتناوله في التدوينه القادمه بإذن الله .

    والسلام عليكم ورحمه الله

    الدروس السابقه في هذه الدوره :
    مقدمه دوره البرمجه كائنيه التوجه
    الصلاحيات Visibility

    Bookmark and Share

     
    • Ben.Fat7i 5:39 صباحًا on 21 مارس 2009 رابط دائم

      السلام عليكم

      أخى العزيز محمد أولا اشكرك الشرح أكثر من ممتاز اللهم ما اجعل هذا فى ميزان حسناتك

      أود فقط أن ألقى نظره على مشكلة واجهتنى شخصيا خلال الشرح و هى الاسماء العربية كانت مشكلة بالنسبة لى

      لى اقتراح بسيط أكتب الاسم بالعربي و بين قوسين الاسم باللغه الانجليزية

      مثال : الفئه ( class )

      و متشكر مقدما و بالتوفيق دائما

    • maher 11:27 صباحًا on 13 مايو 2009 رابط دائم

      السلام عليكم الاخ محمد اشكرك جزيلا الشكر على الجهد المبذول ونتمنى المزيد

    • phpreference 6:25 مساءً on 16 يونيو 2009 رابط دائم

      @Ben.Fat7
      بإذن الله سوف أخذ ملاحظتك في الحسبان عند كتابه تدوينات أخري

      @maher
      شكراً لك أخي الكريم

  • phpreference 2:08 AM on 31 January 2009 رابط دائم | رد
    Tags: private, protectedd, public, Visibility   

    الصلاحيات Visibility 

    بسم الله الرحمن الرحيم

    في الدرس الأول من دوره البرمجه كائنيه التوجه تعرفنا علي أن الكلاس يتكون من خصائص وأساليب سنتعرف في هذا الدرس بإذن الله علي الصلاحيات التي يمكن أن تأخذها هذه الخصائص والأساليب .

    في السابق بواسطه PHP4 كان من غير الممكن تحديد نطاق الخاصيه أو الإسلوب في الفئه وكان أغلب المبرمجين يقومون بكتابه تعليق فوق كل متغير أو داله لمعرفه نطاقها .

    في PHP5 يجب أن يعرف نطاق الخاصيه أو الإسلوب في الفئه بواسطه  إحدي الكلمات التاليه :

    public
    وتعني أن الأسلوب أو الخاصيه عامه أي يمكن إستخدامها داخل الفئه و يمكن إستخدامه خارج الفئه  و يمكن توريثها إلي الفئات الفرعيه .

    <?php
    class user
    {
    	//مثال لخاصيه عام
    	public $userName;
    
    	// مثال لإسلوب عام
    	public function doAnyThing($param) {
    		// Do any thing ...
    	}
    }
    ?>
    

     

    protected
    وتعني أن الأسلوب أو الخاصيه محميه أي يمكن إستخدامها داخل الفئه أو يمكن توريثها إلي الفئات الفرعيه لكن لايمكن إستخدامها خارج الفئه .

    <?php
    class user
    {
    	//مثال لخاصيه محميه
    	protected $email;
    }
    ?>
    

     

    private
    وتعني أن الأسلوب أو الخاصيه خاصه أي يمكن إستخدامها داخل الفئه ولكن  لا يمكن توريثها إلي الفئات الفرعيه و لايمكن  إستخدامها داخل الفئه.

    <?php
    class user
    {
    	//مثال لخاصيه خاصه
    	private $pass;
    }
    ?>
    

    لنلخص الأن الثلاث تصاريح الممكن إعطائها للإسلوب أو الخاصيه

    التصريح إستخدامها داخل الفئه إستخدامها خارج الفئه توريثها للفئات الفرعيه
    public يمكن يمكن يمكن
    protected يمكن لايمكن يمكن
    private يمكن لايمكن لايمكن

     

    ملحوظات :

    • PHP5 مازالت تحتوي علي قواعد PHP4 فيمكنك مثلاُ تعريف الدوال بدون تحديد نطاقها ويمكن تعريف المتغيرات بواسطه كلمه var بدون تحديد نطاقها .
    • قامت PHP5 بالمحافظه علي هذه القواعد حتي تستطيع البرامج التي كتبت بواسطه PHP4 من العمل تحت هذا الأصدار ولكن إذا كنت تقوم بكتابه إسكربت جديد فقم بكتابته بقواعد PHP5 الجديده وأترك  قواعد PHP4 الباليه !!
    • بعد إعطائك إحدي هذه التصاريح لخاصيه أو أسلوب ثم قمت بمخالفه هذه التصاريح سوف تقوم PHP بإعطائك رساله خطأ ثم توقف ترجمه الأسكربت ، لاحظ المثال التالي :
    <?php
    class user
    {
    	//لاحظ أنه متغير محمي
    	protected $userEmail;
    } 
    
    $newUser = new user; 
    
    /*
    هذا السطر سوف يصدر خطأ
    لأننا قمنا بإستخدام متغير محميمن خارج الفئه
    */
    echo $newUser->userEmail;
    ?>
    

    وهذه هي رساله الخطأ الناتجه :

    Fatal error: Cannot access protected property user::$userEmail in c:\wamp\www\code.php on line 14
    

    تمرين بسيط :
    ماهو التصريح الواجب إعطائه للمتغير  $userEmail حتي لايحدث خطأ ؟

    ملحوظات :

    • الخاصيه property في البرمجه كائنيه التوجه = المتغير variable
    • الأسلوب method  في البرمجه كائنيه التوجه = الداله function
    • الكلمه class  تترجم الفئه أو الكلاس فلا فرق بينهم
    • الكلمه  Visibility ترجمتها الصلاحيات إن كان هناك ترجمه أفضل للمعني وليس حرفياً أرجو تنبيهي

    والسلام عليكم ورحمه الله

    Bookmark and Share

     
    • holooli 6:17 صباحًا on 31 يناير 2009 رابط دائم

      بارك الله فيك لكن لدي بعض الملاحظات:
      1- لو سميت الفئة صنف لكان أفضل
      2- استخدم محرر html بدل المحرر المرئي visual عند كتابة التدوينة كي يظهر الكود بشكل سليم فالمحرر المرئي يحول بعض الأشياء (مثل >)

      نعطيه تصريح عام public

    • holooli 6:19 صباحًا on 31 يناير 2009 رابط دائم

      أيضاً لو لم تكن تمانع سأضيف المدونة إلى موقع غيوم نظراً لتميزها:
      http://www.gwewm.com

      انتظر ردك أخي الكريم لأني لم أعرف كيف أتواصل معك إذ لاتوجد صفحة اتصل بنا

    • phpreference 6:37 صباحًا on 31 يناير 2009 رابط دائم

      شكراً أخي holooli لإهتمامك بمدونتي
      أتشرف بإضافه مدونتي في موقع غيوم فأنا من المتابعين له من فتره
      وشكراً للفت إنتباهي للأكواد وسيتم تعديلها باًذن الله

    • holooli 6:39 صباحًا on 31 يناير 2009 رابط دائم

      بارك الله فيك اسمي خالد الحوراني من مدونة الويب 2.0

      سأقوم بإضافته الآن وسيتطلب بعض الوقت كي تظهر الخلاصات

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
رد
e
تحرير
o
Show/Hide comments
t
العودة لأعلى
l
Go to login
h
Show/Hide help
shift + esc
إلغاء