• Home
  • Courses
  • Portfolio
  • Contact
    Tiger 4 CodeTiger 4 Code
    • Home
    • Courses
    • Portfolio
    • Contact

      php

      • Home
      • Blog
      • php
      • الميزات الجديدة للبرمجة غرضية التوجه المدعومة في الإصدار php5 الحلقة الأولى

      الميزات الجديدة للبرمجة غرضية التوجه المدعومة في الإصدار php5 الحلقة الأولى

      • Posted by Schwarztiger
      • Categories php
      • Date December 11, 2009
      • Comments 0 comment

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

      إليكم فيما يلي ترجمتي لمقالة رهيبة تتحدث عن ميزات اللغة الجديدة في الإصدار الخامس من php  ,لقد رأيت هذه المقالة رائعة بل أكثر من رائعة واستفدت منها كثيرا , وهي تتحدث عن البرمجة غرضية التوجه , وتطبيقها فعليا في الإصدار الخامس من لغة php 5  , وقد استفدت منن هذه المقالة , لذلك احببت أن تشاركوني الفائدة منها , قد قمت بتجزئها على حلقات نظراً لطول الموضوع ولضيق وقتي راجية لكم الإستفادة , وأن تقوموا عبر تعليقاتكم الكريمة بالمساهمة في إغناء الموضوع , أو الإشارة إلى النواحي التي تحتاج إلى شرح مفصل أكثر حتى نصل عبر نقدكم البناء إلى عموم الفائدة للجميع .

      لن أطيل عليكم بالمقدمة وإليكم التفاصيل

      مقدمة :

      فقط مع الوقت سوف تدرك بأن php5  أفضل بكثير من الإصدارات السابقة لها.

      إن كل من الميزات والتغيرات الجديدة المحدثة على الإصدار الجديد ل php5  كلها تهدف إلى التخلص من نقط الضعف التي كانت موجودة سابقاً في الإصدارات السابقة.وبذلك نسعى دوما أن تكون لغة php دوماً في الصدارة بالنسبة للغات الويب بشكل عام.

      تغطي هذه المقالة كل من php5  والميزات الجديدة المدرجة فيها بشكل مسهب وموسع, بالنسبة لأولئك الأشخاص المعتادين على الإصدار السابق php4  , ومتشوقون لمعرفة الجديد في php5 فإن هذا الجزء مخصصاً لهم.

      سوف يغطي هذا الجزء كل من ا لنقاط التالية:

      • الميزات الجديدة المدرجة في اللغة
      • التمديدات المهمة المضافة إلى php – new concerning php extensions
      • بعض التغيرات الطفيفة التي تم إجرائها في الإصدار الجديد ولم تكن موجودة في الإصدار القديم.

      ميزات اللغة

      النموذج غرضي التوجه new object oriented model

      لقد تم فعليا من الإصدارات السابقة وتحديداً من php3 إضافة مفاهيم البرمجة غرضية التوجه إلى اللغة لكنها لم تكن مدعومة بشكل جيد .

      وبالرغم من أن النموذج غرضي التوجه في ذلك الوقت كان يملك كثير من المحدوديات , إلا أنه قد تم استخدامه بشكل واسع وعلى نطاق واسع في العالم.

      إن هذا الاستخدام الواسع النطاق  للبرمجة غرضية التوجه الموجودة في php4  بالرغم من ضعفها جعلها من أهم النقاط التي وجب التركيز عليها في الإصدار الحديث من php  أي في  php5.

      من أهم نقاط الضغف التي كانت موجودة في النموذج القديم غرضي التوجه تكمن فيمايلي :

      عندما نشير إلى غرض ما كانت علمية نسخ كاملة لهذا الغرض تتم في الخلف , مما يؤدي بشكل أو بآخر إلى إضعاف الأداء بالإضافة إلى حدوث عدد من الأخطاء الخفية التي كانت تتم في التطبيق, لأن بهذا السلوك فإن عدد من المطورين يعتقدون بأنهم يشيرون إلى نفس الغرض , لكن فعليا على أرض الواقع ليست هذه هي الحالة. لأنهم فعليا يشيرون إلى عدة نسخ من نفس الغرض, وتغيير أحداها لن يغير الأخرى.

      على سبيل المثال :

      في الإصدار الرابع من php  ستكون النتيجة Andi . وذلك لأننا قد مررنا الغرض بالقيمة وليس بالمرجع ( عبر التابع changeName() ) , ولذلك فعليا سيتم نسخ نسخة مستقلة من ا لغرض والعمل عليها , وبالتالي فإن تأثير ا لتابع سيكون محصور فقط على نسخة من الغرض $person.

      حيث أن السلوك المتبع فعليا في اللغة ليس سلوكاً بديهياً مثلما يتوقع أغلب المبرمجين الذين يتبعون أسلوب البرمجة غرضية التوجه – مثل مبرمجي جافا- حيث أنه في جافا يتم فعليا رصد مرجع – مؤشر – إلى ذلك الغرض , ولذلك فعندما يتم نسخه فإن المؤشر فقط هو الذي سيتم نسخه.

      هنالك عدد من مستخدمي لغة البرمجة php 4  الذين كانوا مدركين لواقع هذه المشكلة ومتنبهين لها , ولكن كان في المقابل عدد اخر من المبرمجين غير منتبهين لهذه المشكلة  فتسببت لهم بالكثير من الارهاق وهم يحاولون البحث عن الأخطاء في زمازهم تلك الاخطاء التي لم يكونوا يعرفون مصدرها , وفي الواقع مصدرها كان تلك الثغرة في php 4

      أما في php 5  فقد تمت عملية إعادة كتابة البنية التحتية للنموذج الغرضي ليتعامل مع مقابض الأغراض object handles  . أي اصبحنا نتعامل مع الأغراض باستخدام مؤشرات تشير اليها دون الحاجة إلى نسخ الغرض بشكل كامل من أجل العمل عليه , باستثناء الحالة التي نقوم بها بصراحة باستخدام الكلمة المفتاحية clone  التي نحصل بنتيجتها وباتباع عمليات معينة على نسخة مستقلة عن الغرض الأصلي الذي نتعامل معه.

      في php 5  لا توجد حاجة إلى تمرير الأغراض بالمرجع أ و إسنادهم بالمرجع.

      ملاحظة:

      لا تزال كل من عمليتي إسناد الأغراض بالمرجع أو تمريرهم بالمرجع مدعومة في php 5  وذلك في الحالة التي ترغب فيها فعلياً بتغير محتوى المتحول ( سواء كان غرض أو نمط).

      بعض الميزات الغرضية التوجه الجديدة.

      إن عدد الميزات غرضية التوجه الجديدة التي تم إضافتها واسع جداً , لذلك فيما يلي سنقوم فقط بتعداد قائمة بالميزات الأساسية الجديدة فقط :

      1 : معدلات النفاذ public / private /protected   بالمستخدمة بالنسبة لكل من الطرائق methods  والخواص properties .

      مثال

      2 : الباني __construct()

      فبدلاً من أن يكون اسم الباني هو نفسه اسم الصف , فيجب التصريح عنه الآن بالكلمة __construct() ,

      3: دعم تعريف عملية هدم الغرض عبر تعريف طريقة الهادم __destructor() method

      تمكننا من تعريف الهادم الذي يعمل عندما يتم تهديم الغرض

      4: الواجهات interfaces

      مما يمكن الصف من تحقيق أكثر من علاقة واحدة من نمط is_a  .

      حيث أن الصف يستطيع أن يرث من صف واحد فقط , ولكنه يستطيع أن يقوم بتحقيق implement  أكثر من واجهة واحدة.

      5: عملية نسخة من instnaceof operator :

      إن مستوى اللغة هنا يمكننا من القيام بالتحقق من العلاقات التي من النمط is_a   . حيث أن التابع  is_a() الذي كان مستخدما في php 4  قد تم شجبه الآن لتحل العملية التالية بداله:

      وبهدا القدر ننهي الحلقة الأولى على أن نتابع لاحقا إن شاء الله

      وإلى ذلك الحين نستودعكم الله والسلام عليكم ورحمة الله وبركاته

      Tag:what is new in php 5, البرمجة غرضية التوجه المتقدمة, البرمجة غرضية التوجه في php, مقارنة بين php و java, ميزات php 5

      • Share:
      author avatar
      Schwarztiger

      Previous post

      البرمجة غرضية التوجه مع php و mysql
      December 11, 2009

      Next post

      عدنا مع دروبال
      August 18, 2012

      You may also like

      البرمجة غرضية التوجه مع php و mysql
      5 July, 2009

        السلام عليكم ورحمة الله وبركاته عملياً وبشكل أساسي أستخدم البرمجة غرضية التوجه أثناء برمجتي لمواقع الوب , فإذا ما اطلعتم على الكود البرمجي الخاص بأحد المواقع التي برمجتها لوجتموه بشكل أساسي مؤلف من مجموعة من الصفوف الخاصة بالتعامل مع …

      البرمجة غرضية التوجه المتقدمة في php
      4 July, 2009

      البرمجة غرضية التوجه المتقدمة في php   السلام عليكم ورحمة الله وبركاته كثيراً ما نبحر بعيداً عن شطئاننا وأراضينا وقٌرانا , بحثاً عن عالم جديد وأفكار جديدة وأفق آخر , وقد تطول غربتنا عن أرضنا التي نعشق , ولكننا في …

      Leave A Reply Cancel reply

      Your email address will not be published. Required fields are marked *

      Search

      Latest Courses

      Android Development

      Android Development

      $950.00
      HTML Tutorial: HTML & CSS for Beginners

      HTML Tutorial: HTML & CSS for Beginners

      $800.00
      Learn WordPress Content Management System

      Learn WordPress Content Management System

      Coming soon
      logo-eduma-the-best-lms-wordpress-theme

      info@tiger4code.com

      Links

      • Courses
      • Portfolio

      Copyright 2019 | Educational, Web & Mobile Development Platform By Tiger 4 Code