النتائج 1 إلى 8 من 8

الموضوع: كيف أصنع كلاس يستدعي جميع الكلاسات؟

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Aug 2007
    المشاركات
    73

    كيف أصنع كلاس يستدعي جميع الكلاسات؟



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


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

    ارجو المساعده اخواني الأعزاء في الطلب التالي


    لدي مجموعة من الكلاسات واريد ان اصنع كلاس عندما اعرفه اتعامل مع جميع الكلاسات التاليه عن طريقة

    مثال

    كلاس للقوالب
    كود PHP:
    class temp 
    function 
    ccc($var) {
    do 
    something
    }
    function 
    vvv($var) {
    do 
    something 
    }

    كلاس لقواعد البيانات
    كود PHP:
    class mysql {
    function 
    fff($var) {
    do 
    something
    }
    function 
    yyy($var) {
    do 
    something
    }

    لنفرض ان لدي تلك الكلاسات واريد عمل كلاس عن طريقه استدعي الكلااسات التاليه لأتعامل معهم عن طريق الكلاس الجديد

    كود PHP:
    class myClass {
    function 
    myClass(){
    $temp = new temp;
    $mysql = new mysql;
    }

    فإن اردت مثلا عمل
    كود PHP:
    $normalTemp = new temp;
    $normalTemp->ccc(dddddddddddd);
     
    كيف استطيع عمله عن طريق الكلاس الجديد
    $myClass 
    = new myClass;
    $myClass->temp->ccc(dddddddddddd); 
    في المثال الاخير.. اعلم انه خطأ 1000% ولكنه كان مجرد مثال لما اريد.. عسى ان تصل الفكره
    فهل ممن الممكن عمل ذلك؟
    وإن كان ذلك ممكن. فكيف يكون شكل الكلاس الجديد الذي عن طريقة يتم استدعاء الكلاسات الأخرى

    والف شكر مقدما





    __________________
    مملكة الموت
    =======================
    100(سبحان الله وبحمده ،،، سبحان الله العظيم) = 0 سيئة


  2. #2
    عضو نشيط
    تاريخ التسجيل
    May 2004
    المشاركات
    67


    بص هو انت لازم تعرف الكلاسات التانيه داخل الكلاس بتاعك بال var مثال على كدا

    كود PHP:
    class myClass {
    function 
    myClass(){
     
    var 
    $temp = new temp;
    var 
    $mysql = new mysql;
    }

    والاهم طبعا انك لما تعمل انكلود لملفات الكلاسات في الملف بتاعك انك لازم تستعدي الكلاسات التانيه قبل ملف الكلاس الي انت عامله يستدعي الباقي علشان يقدر يتعرف عليهم

    يعني لو انت مثلا كلاس القواعد في ملف mysql.php وملف كلاس التمبلت هو tepl.php

    هيكون الاستعداء بالترتيب القواعد اولا
    كود PHP:
    include "mysql.php";
    include 
    "tepl.php"
    وبعدين تستعدي الملف الاخير الخاص بكلاس الكلاسات .


    هذا والله اعلم وان كان في خطأ فمني ومن الشيطان وياريت الاخوه اصحاب العلم يصححوه .





    __________________
    اللهم انك عفو كريم حليم عظيم تحب العفو فاعفو عني وعن امي ..

    اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات

    اللهم اني اعوذ بك من همزات الشياطين وأعوذ بك ربي أن يحضرون

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    547


    أخي العزيز، أرجو أن يوضح المثال التالي ما تبحث عنه:

    كود PHP:
    <?php
    require('sub/ArCharsetC.class.php');

    class 
    Arabic {
        public 
    $ArCharsetC;

        public function 
    __construct() {
            
    $this->ArCharsetC = new ArCharsetC();
        }

        public function 
    convertW2U($str) {
            
    $str $this->ArCharsetC->win2utf($str);
            return 
    $str;
        }
    }

    $Ar = new Arabic();
    $str1 $Ar->convertW2U($str);
    // This will work also :o)
    $str2 $Ar->ArCharsetC->win2utf($str);
    ?>
    لمثال عملي متكامل يمكنك الإطلاع على الشيفرة البرمجية التي طورتها ونشرتها في موقع Sourceforge.net والتي كانت الغاية منها جمع كافة الكلاسات السابقة التي طورتها لتعمل من خلال واجهة وحيدة:
    Khaled Al-Shamaa PHP & Arabic Language





    __________________
    خالد الشمعة - Khaled Al-Shamaa
    PHP and Arabic language

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Aug 2007
    المشاركات
    73


    اخي البلالام

    شكرا لك على محاولة المساعده.......


    عزيزي خالد الشمعه... اسمح لي......









    أنت عـبـــقــــــــري

    الف شكر لك يالغالي





    __________________
    مملكة الموت
    =======================
    100(سبحان الله وبحمده ،،، سبحان الله العظيم) = 0 سيئة

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    547


    على الرحب والسعة





    __________________
    خالد الشمعة - Khaled Al-Shamaa
    PHP and Arabic language

  6. #6
    عضو نشيط
    تاريخ التسجيل
    May 2004
    المشاركات
    67


    ياريت اعرف هل طريقتي فيها غلط ؟

    الي اعرفه ان نظام ال public وال private بتدعمه php5 بس


    ياريت حد يصحح معلوماتي وجزاكم الله خيرا





    __________________
    اللهم انك عفو كريم حليم عظيم تحب العفو فاعفو عني وعن امي ..

    اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات

    اللهم اني اعوذ بك من همزات الشياطين وأعوذ بك ربي أن يحضرون

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    547


    نعم يا أخي، كلامك صحيح مئة بالمئة، وهذا مقصود تماما، فأنا لا أنصح اي مبرمج يقوم بتعلم PHP أو يكتب شيفرة جديدة بالإعتماد على الإصدار السابق PHP 4 والذي توقف دعمه وتصحيحاته وصيانة ثغراته وسدها مع نهاية عام 2007، فيما الإصدار الحالي من لغة PHP وهو الإصدار الخامس قد نضج تماما بعد 3 أعوام من إصداره.

    على كل حال، إن اردت المثال السابق متوافقا مع لغة PHP 4 لأسباب تخصك، فلا يوجد الكثير من التعديلات حقيقة، وستبدو الشيفرة البرمجية على الشكل التالي:

    كود PHP:
    <?php
    require('sub/ArCharsetC.class.php');

    class 
    Arabic {
        var 
    $ArCharsetC;

        function 
    Arabic() {
            
    $this->ArCharsetC = new ArCharsetC();
        }

        function 
    convertW2U($str) {
            
    $str $this->ArCharsetC->win2utf($str);
            return 
    $str;
        }
    }

    $Ar = new Arabic();
    $str1 $Ar->convertW2U($str);
    // This will work also :o)
    $str2 $Ar->ArCharsetC->win2utf($str);
    ?>






    __________________
    خالد الشمعة - Khaled Al-Shamaa
    PHP and Arabic language

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    512

    Lightbulb



    إضافة..

    و بما أننا نستعمل PHP5 فمن الممكن استعمال ال static methods لعمل هذه المهمة.

    أي أن المبرمج بدلا من أن يكتب

    كود PHP:
    $str2 $Ar->ArCharsetC->win2utf($str); 
    سوف يقوم بطلب الدالة بشكل استاتيكي

    كود PHP:
    ArCharsetC::win2utf($str); 
    و هناك ملاحظة بيسطة على الكلاس التي بالأعلى. و هي أنه من الممكن تغييرها لتصبح هكذا. (مجرد اقتراح)

    كود PHP:
    <?php

    require('sub/ArCharsetC.class.php');

    class 
    Arabic {
        public 
    $ArCharsetC;

        function 
    __construct() {
            
    $this->ArCharsetC = new ArCharsetC();
        }

        public function 
    convertW2U($str) {
            
    $str $this->ArCharsetC->win2utf($str);
            return 
    $str;
        }
    }

    $Ar = new Arabic();
    $str1 $Ar->convertW2U($str);
    // This will work also :o)
    $str2 $Ar->ArCharsetC->win2utf($str);

    ?>
    و ذلك لأن ال constructor يكون معرفا تلقائيا ك public في ال PHP5

    و دمتم بود..





    التعديل الأخير تم بواسطة mr_m ; 04-03-2008 الساعة 02:54 PM





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

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