الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الدخول الى عالم oop في لغة php

بدأه Hussam.Alzahabi في 11 سبتمبر 2011 · 34 رد · 3,313 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

السلام عليكم ورحمة الله وبركاته

الحمد لله افتحت هذا الموضوع لان بعض المبتدئيين يجدون صعوبة في تعلم oop :wacko:

وسوف اشرحه لكم بطريقة مبسطة وسلسة ان شاء الله :happy:

قبل مانبدا نقول الدعاء : "اللهم لا سهل إلا ما جعلته سهلاً، وأنت تجعل الحزن إذا شئت سهلاً"

بداية نقوم بتعريف الـ oop

ماهى الـ OOP؟

الحروف OOP اختصار لـ Object-oriented programming

وهي في نظرتي المتواضعة وسيلة لجعل البرمجة اكثر مرونة وفهم وسهولة

وهى ايضا عبارة عن قالب (يسمى class) يضم بداخله عدة دوال (نطلق عليها الإسم methods) وعدة متغيرات (يطلق عليها المسمى properties

نبدا على بركة الله :

الان فقط سوف نشرح المبادئ البسيطة

المهم

هناك شيئ اسمه object وبالعربية هو الكائن

ماهو الـ object

الـ

object هو متغيير نستطيع عن طريقه الوصول لمحتويات القالب الذى نقوم بإنشائه.

عن طريق الـ object نستطيع الوصول لكل دوال ومتغيرات القالب.

(اقصد بكلمة قالب مايعرف فى برمجة الـ OOP بإسم class)

اذن كيف انشئ object؟

اول شئ لتنشئ object يجب ان يكون هناك class

اذن لننشئ class

class arabteam{
  // هنا تضع محتوى الكلاس
}

واسم الكلاس او القالب في الكود اعلاه هو : arabteam

الان بعد ماانشانا كلاس نستطيع ان نقوم بانشاء object

وطبعا كما قلنا فائدة الـ object يشغل الكلاس ويعرض المحتويات التي في الكلاس

ويكتب بهذه الطريقة :

$object = new arabteam;

نكتب المتغير ونسميه باي اسم ثم نكتب بعدها new واسم الكلاس وهو arabteamط

اظن كل شئ بسيط حتى الأن, :)

المهم قمنا بتشغيل الكلاس

طيب كيف انشئ properties لهذا الـ object ؟

هذا يتم عن طريق الكلاس نفسه (سوف اتابع بقية الشرح بنفس المثال الذى تم استخدامه بأول الدرس :sleep: )

class arabteam{ 
    //declear an property to this class 
    public $property = 'this is a property'; 
}

هكذا تم اضافة متغيير او خاصية او property للـ object الخاص بهذا الكلاس.

ولاحظ اننا وضعنا كلمة public قبل اسم المتغيير نفسه.

ونصل اليه بالشكل التالى كامثال

$object = new arabteam; 
echo $object->property;

لاحظ استخدامنا للعلامة ->

هذه العلامة هى مانستخدمها للوصول لخصائص الكلاس او الـ object

كما يمكننا ايضا ان نغيير قيمة هذا المتغيير خارج الـ class بالشكل التالى

echo $object->property; 
$object->property = '<br />this property have been changed'; 
echo $object->property;

كما يمكننا بنفس الطريقة ان ننشئ او نستدعى دوال هذا القالب.

لنأخذ مثال

class arabteam{ 
    //declear an property to this class 
    public $property = 'this is a property'; 

    //هذه الدالة لا تأخذ اى معطيات 
    //لكنها فقط تعود لنا بقيمة المتغيير 
    //$property 
    function getProperty(){ 
        return $this->property; 
    } 
} 

$object = new arabteam; 
echo $object->getProperty(); 
$object->property = '<br />this property have been changed'; 
echo $object->getProperty();

لاحظ عندما اردنا استدعاء المتغيير property داخل الكلاس نفسه كيف استدعيناه؟

لقد استدعيناه عن طريق الكلمة

$this

وهذه الكلمة ترمز للكلاس نفسه, او الـ object

يعنى عندما نستدعى متغيير ما, او دالة ما ونحن داخل المتغيير نستدعيها بالشكل التالى

//لإستدعاء دالة 
$this->method_name_here()

ولإستدعاء متغيير

$this->property_name_here;

ومنكون اكتفينا من الدرس البسيط لهذا اليوم

ارجو ان بكون الدرس سهل

ولا احلل نقل الموضوع بدون ذكر المصدر

الرابط الاصلي

:mad:

تم تعديل هذه المشاركة بواسطة Hussam.Alzahabi في 12 سبتمبر 2011 في 14:39

2 −3
#2

جزاك الله كل خير

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#3

يسلمو أخي ..

خطوة كتير حلوة منك للاخوة الذين يسمعون كثيرا عن البرمجة الغرضية التوجه ..

وطريقة تفنيدك للموضوع جميلة ..

تقبل مروري

لامارتير

#4
Hussam.Alzahabi كتب:

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

ولا احلل نقل الموضوع بدون ذكر المصدر :mad:

وما هذا

http://www.ti4it.com/vb/showpost.php?p=16796&postcount=1

2

GoodBye

#5

شكرا محمد ابراهيم

الأخ حسام

هل قرأت هذا النص في قواعد المشاركة

ممنوعات : تعرض المشاركة للالغاء الفوري

15. - حقوق الملكية الفكرية مكفولة في الفريق العربي . لذلك يجب أن تكون جميع المقالات و الدروس المضافة من تأليفك . و يمنع نقل المقالات إلا بعد الحصول على إذن صاحبها ، حتى و إن تم ذكر مصدرها.

؟؟؟

===

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#6

الذي استفزني بصراحة انه لم يكتف حتي بعدم ذكر المصدر ونقول جهل بالقواعد او سهو

لكنه وبكل سهولة اضاف حقوق الدرس له وجعل من ينقلها عليه اثم فى حين انه ....... استغفر الله العظيم

GoodBye

#7
MohamedIBrahim كتب:

الذي استفزني بصراحة انه لم يكتف حتي بعدم ذكر المصدر ونقول جهل بالقواعد او سهو

لكنه وبكل سهولة اضاف حقوق الدرس له وجعل من ينقلها عليه اثم فى حين انه ....... استغفر الله العظيم

اخوي هذا درسي انا :lol:

ولا اريد ذكر مصدري الاول

+

تم تجميل الموضوع

ابحث في المنتديات الاخرى ولن تجد نفس الموضوع

−1
#8
Hussam.Alzahabi كتب:

اخوي هذا درسي انا :lol:

ولا اريد ذكر مصدري الاول

+

تم تجميل الموضوع

ابحث في المنتديات الاخرى ولن تجد نفس الموضوع

هذه بعض المصادر التي بعضها منذ سنين

08-06-2010

http://www.eerree.com/vb/showthread.php?t=1018&page=5

12-08-2009

http://www.ti4it.com/vb/archive/index.php/t-13618.html

ثانيا ما العلاقة فى تجميل الموضوع وتنسيقه او حتي التعديل عليه بالحقوق

لا أري شئ تم تغييره اللهم انك غيرت اسم كائن الى arabteam

وكذلك لم تغير حتي من الكلام الا القليل وهذا لا ينفي كون المقال ليس ملكك وانت مخالف

بالمناسبة هناك مصدر اجنبي استخدمه كاتب المقال الحقيقي ليساعده

GoodBye

#9

تم الاتصال مع المنتدى عبر الايميل وجاري التحقق من إدعائك ملكية ذلك الموضوع .

===

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#10
MohamedIBrahim كتب:
فيصل الحربي كتب:

شكرا محمد ابراهيم

الأخ حسام

هل قرأت هذا النص في قواعد المشاركة

ممنوعات : تعرض المشاركة للالغاء الفوري

15. - حقوق الملكية الفكرية مكفولة في الفريق العربي . لذلك يجب أن تكون جميع المقالات و الدروس المضافة من تأليفك . و يمنع نقل المقالات إلا بعد الحصول على إذن صاحبها ، حتى و إن تم ذكر مصدرها.

؟؟؟

===

MohamedIBrahim كتب:

الذي استفزني بصراحة انه لم يكتف حتي بعدم ذكر المصدر ونقول جهل بالقواعد او سهو

لكنه وبكل سهولة اضاف حقوق الدرس له وجعل من ينقلها عليه اثم فى حين انه ....... استغفر الله العظيم

MohamedIBrahim كتب:

هذه بعض المصادر التي بعضها منذ سنين

08-06-2010

http://www.eerree.com/vb/showthread.php?t=1018&page=5

12-08-2009

http://www.ti4it.com/vb/archive/index.php/t-13618.html

فيصل الحربي كتب:

تم الاتصال مع المنتدى عبر الايميل وجاري التحقق من إدعائك ملكية ذلك الموضوع .

===

نتف الريش شغال...!

على مهلكوا يا جماعة :D

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#11
byte101 كتب:

نتف الريش شغال...!

على مهلكوا يا جماعة :D

dry.giflaugh.gif

GoodBye

#12

تم وضع الرابط هل انتم سعداء

:blink:

تم تعديل هذه المشاركة بواسطة Hussam.Alzahabi في 12 سبتمبر 2011 في 14:49

−1
#13
Hussam.Alzahabi كتب:

تم وضع الرابط هل انتم سعداء

:blink:

No

Only

When you recognized by this

GoodBye

#14
MohamedIBrahim كتب:

No

Only

When you recognized by this

الراجل اعترف بالخطأ...

كن حليما.... :)

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#15
byte101 كتب:

الراجل اعترف بالخطأ...

كن حليما.... :)

وماذا فى الامر هو يسئل ان كنا سعداء ام لا فذكرت اننا سعداء باعترافه على الاقل بان المقال فى الاساس ليس ملك له اذا كان هذا هو مقصده

GoodBye

#16
MohamedIBrahim كتب:

وماذا فى الامر هو يسئل ان كنا سعداء ام لا فذكرت اننا سعداء باعترافه على الاقل بان المقال فى الاساس ليس ملك له اذا كان هذا هو مقصده

اخوي لو تقرء الموضوع وشف التعديلات :happy:

#17
Hussam.Alzahabi كتب:

اخوي لو تقرء الموضوع وشف التعديلات :happy:

أترك الحكم للاخوة dry.gifwink.gifcool.gif

GoodBye

#18
MohamedIBrahim كتب:

وماذا فى الامر هو يسئل ان كنا سعداء ام لا فذكرت اننا سعداء باعترافه على الاقل بان المقال فى الاساس ليس ملك له اذا كان هذا هو مقصده

بهذا تكون تتصرف كبرنامج و ليس كمبرمج.... :regular_smile:

ردك هذا لن يساعد الآخرين على الاعتراف بأخطائهم لاحقا

MohamedIBrahim كتب:

أترك الحكم للاخوة dry.gifwink.gifcool.gif

يا جماعة....

الموضوع أبسط من ذلك بكثير..!

الراجل أخطأ ثم اعترف بخطئه ( و إن كان متأخرا)

حصل خير... :happy:

على فكرة أخي محمد ابراهيم، من مجموعة مشاركات لك أرى أنك مفاوض شرس... :D

ربما عليك العمل في مجال السياسة... :wacko:

تم تعديل هذه المشاركة بواسطة byte101 في 12 سبتمبر 2011 في 15:45

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#19
byte101 كتب:

بهذا تكون تتصرف كبرنامج و ليس كمبرمج.... :regular_smile:

احيانا افضل العمل كبرنامج

byte101 كتب:

على فكرة أخي محمد أبراهيم، من مجموعة مشاركات لك أرى أنك مفاوض شرس... :D

ربما عليك العمل في مجال السياسة... :wacko:

بالله عليك فيه عضو فى المنتدي كرهني فى حاجة اسمها سياسة والاخوة الله يهديهم من يسمون انفسهم فى مصر ليبراليين وعلمانيين يكرهوك فى السياسة

وبالذات من يهاجم المجلس العسكري (بالمناسبة لا احترمهم ابدا )

خلينا مبرمجين وناكل عيش احسن

حصل خير على العموم مش مهم

واعتذر للاخ حسام اذا كان ظهر مني بوادر سوء نية smile.gif

GoodBye

#20
MohamedIBrahim كتب:

احيانا افضل العمل كبرنامج

بالله عليك فيه عضو فى المنتدي كرهني فى حاجة اسمها سياسة والاخوة الله يهديهم من يسمون انفسهم فى مصر ليبراليين وعلمانيين يكرهوك فى السياسة

وبالذات من يهاجم المجلس العسكري (بالمناسبة لا احترمهم ابدا )

خلينا مبرمجين وناكل عيش احسن

حصل خير على العموم مش مهم

واعتذر للاخ حسام اذا كان ظهر مني بوادر سوء نية smile.gif

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

لاني اول مرة اشارك في منتدى كهذا

−1
#21

ما دام تصحيح اخطاء

فمن القوانين المخالفة

انك تسجل وتشارك بأكثر من عضوية

GoodBye

#22
MohamedIBrahim كتب:

ما دام تصحيح اخطاء

فمن القوانين المخالفة

انك تسجل وتشارك بأكثر من عضوية

يا راجل إنت بتحب المشاكل، أنا حاسس إنك فلسطيني...

طبعا لا أقصد الإساءة لأحد فأنا فلسطيني بادئ الأمر... :)

تم تعديل هذه المشاركة بواسطة byte101 في 12 سبتمبر 2011 في 16:15

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#23

اخواني بالنسبة للعضوية في خطا بالكوكيز فشاركت بعضوية

aramedia

ويرجى حذفها

المهم

اخوي محمد ابراهيم انا حاولت ان اصحح خطائي فلماذا انت تحب المشاكل كثيرا

وتحب ان يحقد عليك الناس :mad: :mad: :mad: :mad: :mad: :mad: :mad:

#24
byte101 كتب:

يا راجل إنت بتحب المشاكل، أنا حاسس إنك فلسطيني...

طبعا لا أقصد الإساءة لأحد فأنا فلسطيني بادئ الأمر... :)

هنلك دماء فلسطينية بداخلي لكنني مصري الاصل

بالمناسبة بالفعل هذا الامر اثير من قبل والاخ لديه عضويات عديدة

وحقوق الاكتشاف محفوظة للمحقق كونان

GoodBye

#25
MohamedIBrahim كتب:

هنلك دماء فلسطينية بداخلي لكنني مصري الاصل

بالمناسبة بالفعل هذا الامر اثير من قبل والاخ لديه عضويات عديدة

وحقوق الاكتشاف محفوظة للمحقق كونان

اخوي تم الاتفاق مع عبد الله

وحذفلي العضويات

فلا تقول ان معي عضويات عديدة

معي حاليا فقط hussam.alzahabi

مواضيع مشابهة