صفحة 2 من 3 الأولىالأولى 123 الأخيرةالأخيرة
النتائج 16 إلى 30 من 36

الموضوع: كيف اقوم بعمل هذا الحركة في الكلاس

  1. #16
    عضو سوبر نشيط
    تاريخ التسجيل
    Oct 2003
    المشاركات
    718


    ممكن كذا ...

    كود PHP:
    <?php
    class helal {
     
     protected 
    $name;
     
     public function 
    name($name)
      {
       
    $this->name=$name;
      }
     
     public function 
    ech_name()
      {
       echo 
    $this->name;
      }

    $ss "Helal";
    $helal = new helal();
    $r $helal;
    $r->name($ss);
    $r->ech_name();
    ?>






    __________________
    أخي [ محمد الفارس ] في كل رد اقول .. شكراً لك ...
    البانر.نت .. نصنع من الافكار دليل

  2. #17
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    استخدام البرمجة الكائنية جيد لكن يستخدم في حدود المعقول لا نعمله في كل شيء ولو صغير سأعطيك مثال
    كود PHP:
     function row($SQL)
     {
         
    $num=@mysql_num_rows($SQL);
         return 
    $num;
     } 
    لماذا تستعملها في حين انك وببساطة ممكن تكتب
    كود PHP:
       $num=@mysql_num_rows($SQL); 
    هناك بعض اطر العمل تستخدمها هكذا لانها تعطيك واجهة موحدة للتعامل مع مجموعة انواع من قواعد البيانات مثلا ..


    ... يعني الدالة السابقة يمكن انت تجعلها تتعامل مع نوع اخر من قواعد البيانات هكذا
    كود PHP:
    function FETCH($SQL)
    {
        
    $row=@pg_fetch_array($SQL);
        return 
    $row;

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

    طيب اه الفرق بين دية

    كود PHP:

    pg_fetch_array 

    ودية
    كود PHP:

    mysql_fetch_array 

    اسف بكرة ان شاء الله الكمل الحديث معاك بس هطر انام عشان بكرة عندي امتحان





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  3. #18
    عضو سوبر نشيط
    تاريخ التسجيل
    Oct 2003
    المشاركات
    718


    وهذه طريقة مختصرة ..

    كود PHP:
    <?php
    class helal {
     
     protected 
    $name;
     
     public function 
    __construct($name)
      {
       
    $this->name=$name;
      }
     
     public function 
    __destruct()
      {
       echo 
    $this->name;
      }

    $ss "Helal";
    $helal = new helal($ss);
    ?>
    شكرا لأسئلتك ، واحب اتابعك ، لأني استفيد من اسئلتك كثير ...





    __________________
    أخي [ محمد الفارس ] في كل رد اقول .. شكراً لك ...
    البانر.نت .. نصنع من الافكار دليل

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


    pg_fetch_array تستخدم في نوع من قواعد البيانات اسمه PostgreSQL

    وهو نوع منتشر لكن طبعا ليس كانتشار MySQL

    وربنا يوفقك في الامتحان ..

    albanner اهلا ومرحبا بك اخي .. شيء جميل وجود هناك نقاش بناء.





    __________________
    محمد حمود.

  5. #20


    ممكن كذا ...

    كود PHP:
    <?php
    class helal {
     
     protected 
    $name;
     
     public function 
    name($name)
      {
       
    $this->name=$name;
      }
     
     public function 
    ech_name()
      {
       echo 
    $this->name;
      }

    $ss "Helal";
    $helal = new helal();
    $r $helal;
    $r->name($ss);
    $r->ech_name();
    ?>
    أجد الكثير من المبرمجين يقومون بهذه الطريقة التي أراها سيئة جدا في الكتابة

    أنت الأن فتحت في الذاكرة عدة متغيرات كلها تحمل نفس القيمة





    __________________
    السيف أصدق أنباء من الكتب

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


    ممكن كذا ...

    كود PHP:
    <?php
    class helal {
     
     protected 
    $name;
     
     public function 
    name($name)
      {
       
    $this->name=$name;
      }
     
     public function 
    ech_name()
      {
       echo 
    $this->name;
      }

    $ss "Helal";
    $helal = new helal();
    $r $helal;
    $r->name($ss);
    $r->ech_name();
    ?>
    على فكرة هذه يعتبرها البعض سليمة .. ممكن ان تكون كذلك لكن ليس في php .. الاصح هو انك تعمل النتغير public
    وتوفر الدالتين.. عفوا لم الاحظ هذه المشاركة الا الآن.

    * ايضا هناك نصائح بالتقليل من استخدام ال magic methods مثل
    كود:
    __construct, __destruct, __get, __set, __sleep, __wakeup, __isset, __unset, etc






    __________________
    محمد حمود.

  7. #22
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    وهذه طريقة مختصرة ..

    كود PHP:
    <?php
    class helal {
     
     protected 
    $name;
     
     public function 
    __construct($name)
      {
       
    $this->name=$name;
      }
     
     public function 
    __destruct()
      {
       echo 
    $this->name;
      }

    $ss "Helal";
    $helal = new helal($ss);
    ?>
    شكرا لأسئلتك ، واحب اتابعك ، لأني استفيد من اسئلتك كثير ...
    جزاك الله خيرا اخي الكريم
    بس كده انت لم تعمل شئ في الكلاس كده انت عرفة لكلاس فقط

    pg_fetch_array تستخدم في نوع من قواعد البيانات اسمه PostgreSQL

    وهو نوع منتشر لكن طبعا ليس كانتشار MySQL

    وربنا يوفقك في الامتحان ..

    albanner اهلا ومرحبا بك اخي .. شيء جميل وجود هناك نقاش بناء.
    جزاك الله خيرا اخي الكريم
    طيب يبقي لا استخدمها صح عشان انا بستخدم mysql ولا الداله شغاله مع كل قواعد البيانات ؟؟

    أجد الكثير من المبرمجين يقومون بهذه الطريقة التي أراها سيئة جدا في الكتابة

    أنت الأن فتحت في الذاكرة عدة متغيرات كلها تحمل نفس القيمة

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

    طيب مه ممكن اقوم بحذف المتغير بعد تعريفة متغير اخر بداله unset صح ؟؟

    على فكرة هذه يعتبرها البعض سليمة .. ممكن ان تكون كذلك لكن ليس في php .. الاصح هو انك تعمل النتغير public
    وتوفر الدالتين.. عفوا لم الاحظ هذه المشاركة الا الآن.

    * ايضا هناك نصائح بالتقليل من استخدام ال magic methods مثل
    كود:
    __construct, __destruct, __get, __set, __sleep, __wakeup, __isset, __unset, etc
    جزاك الله خيرا اخي الكريم

    انا ما بستخدمش غير داله واحد وهي construct هل هيبقي فيها شئ؟؟





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  8. #23
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    انا انا عديلته ليكون كده بحيث اني استخدم الدوال الي انا عاوذها فقط خارج الكلاس وكمان يكوم بحذف المتغيرات التي انتها امرها


    يعني كده
    كود PHP:

    <?php
    ###################################
    /**                                        
     * @author mohamedhelal            
     *  mohamed_helal123456@hotmail.com
     * برمجة محمدهلال                 
     *  جميع حقوق هذا السكربت لمحمدهلال
     *   سكربت helalEGYPT
     *    سكربت El_Masry                
     *    mohamedhelal                    
     *  @copyright 2009            
     */    
    ####################################


    class DB_CLass
    {
        protected 
    $HOST="localhost";    
        protected 
    $DB_USERNAME="";
        protected 
    $DB_PASSWORD="";
        protected 
    $DB_NAME="";    
        protected 
    $DB_CONTENT;
        protected 
    $SERV_CONTENT;
        protected 
    $SQL_RESULT;
    ########################################################
    ########################################################
        
    function _construct($host,$user,$pass,$db)
            {
            
    $this->HOST=$host;
            
    $this->DB_USERNAME=$user;
            
    $this->DB_PASSWORD=$pass;
            
    $this->DB_NAME=$db;
            
    $this->__CONTENT();
            
    $this->__DESCONTENT();
            }
        protected function 
    __CONTENT()
            {
            
    $this->SERV_CONTENT=@mysql_connect($this->HOST,$this->DB_USERNAME,$this->DB_PASSWORD);
            
    $this->DB_CONTENT=@mysql_select_db($this->DB_NAME,$this->SERV_CONTENT);    
            return 
    $this->DB_CONTENT;
            }
        protected function 
    __DESCONTENT()
            {
            if(!
    $this->SERV_CONTENT)
                {
                die(
    "<h1 align='center'>خطاء في الاتصال بسيرفر قاعدة البيانات</h1>");
                }
            elseif(!
    $this->DB_CONTENT)
                {
                die(
    "<h1 align='center'>خطاء في الاتصال بقاعدة البيانات</h1>");
                }
        
            }

        protected function 
    SQL($sql)
            {
            return @
    mysql_query($sql)    ;
            }
        function 
    QUER($SQL)
            {
            
    $SQL=$this->SQL($SQL);
            
    $FETCH=$this->FETCH($SQL);
            
    $NUM=$this->row($SQL);
            
    $arr=(object)array("FETCH"=>$FETCH,"num"=>$NUM);
            unset(
    $SQL);
            unset(
    $FETCH);
            unset(
    $NUM);
            return 
    $arr;
            }    


        protected function 
    FETCH($SQL)
            {
            return @
    mysql_fetch_array($SQL);
            }

        protected function 
    row($SQL)
            {
            return  @
    mysql_num_rows($SQL);
            }
    ############################################################
    ############################################################        
    }





    $helal=new DB_CLass();
    $DB['HOST']="localhost";
    $DB['USERNAME']="root";
    $DB['PASSWORD']="123456";
    $DB['DB_NAME']="test2";
    $helal->_construct($DB['HOST'],$DB['USERNAME'],$DB['PASSWORD'],$DB['DB_NAME']);
    $r=$helal->QUER("select*from names");
    echo 
    $r->num."<br>";
    foreach(
    $r->FETCH as $row)
    {
        
    print_r($row."<br>");
    }


    ?>






    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

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


    - لا اريد ان اقول لك شيء تبحث عنه لكي لا تنصرف عن المذاكرة.
    - لكن اذا كنت مصر على تعليق فابحث عن كلمة static و ادخلها على الكلاس ..





    __________________
    محمد حمود.

  10. #25
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    - لا اريد ان اقول لك شيء تبحث عنه لكي لا تنصرف عن المذاكرة.
    - لكن اذا كنت مصر على تعليق فابحث عن كلمة static و ادخلها على الكلاس ..
    جزاك الله خيرا اخي الكريم

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


    اخي static انا عرفها بس دية تخلي الداله لا تتغير

    في هيبقي فيدتها اية ؟؟؟





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  11. #26
    عضو فعال
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,897


    يا محمد انت سألت نفسك و اجبت بنفسك !
    <ارسل لي ماسنجرك الخاص على بريدي عن طريق سوالف سوفت>
    وفقك الله .






    __________________
    راسلني

  12. #27
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    يا محمد انت سألت نفسك و اجبت بنفسك !
    <ارسل لي ماسنجرك الخاص على بريدي عن طريق سوالف سوفت>
    وفقك الله .
    جزاك الله خيرا اخي الكريم اه ان سال واجبت نفسي

    بس لو بصية لردود الي انا حصلة عيها افدتني اكتر من السؤال نفسه





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  13. #28
    عضو فعال
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,897


    الارجح حصل سوء، فانا لم اقصد الموضوع كاملاً بل اخر استفسار طرحته حول دالة الـStatic انت طلبت دورها و اجبت عن سؤالك في السطر الثاني .
    على العموم قلت لك ارسل لي ماسنجر على بريدي عبر صفحة سوالف سوفت (مراسلة عبر البريد .)





    __________________
    راسلني

  14. #29
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    الارجح حصل سوء، فانا لم اقصد الموضوع كاملاً بل اخر استفسار طرحته حول دالة الـStatic انت طلبت دورها و اجبت عن سؤالك في السطر الثاني .
    على العموم قلت لك ارسل لي ماسنجر على بريدي عبر صفحة سوالف سوفت (مراسلة عبر البريد .)
    جزاك الله خيرا اخي الكريم


    اه انت تقصد كده

    انا ارسلت ليك رساله بيها الايميل





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

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


    تأخرت في الرد بعض الشيء نظرا لانشغالي.. ارجو المعذرة



    بخصوص طلبي السابق فكان لي منه حكمة بانك تمشي في طريق معين سيسهل علينا الوصول الى الحل النهائي

    لكن الان سوف اضع الحل النهائي جاهزا .. يعني اجيب من الآخر



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

    كود PHP:
    <?php

    ###################################
    /**                                        
     * @author mohamedhelal            
     *  mohamed_helal123456@hotmail.com
     * ÈÑãÌÉ ãÍãÏåáÇá                 
     *  ÌãíÚ ÍÞæÞ åÐÇ ÇáÓßÑÈÊ áãÍãÏåáÇá
     *   ÓßÑÈÊ helalEGYPT
     *    ÓßÑÈÊ El_Masry                
     *    mohamedhelal                    
     *  @copyright 2009            
     */
    ####################################


    class DB_CLass{
        protected 
    $HOST "localhost";
        protected 
    $DB_USERNAME "";
        protected 
    $DB_PASSWORD "";
        protected 
    $DB_NAME "";
        protected 
    $DB_CONTENT;
        protected 
    $SERV_CONTENT;
        protected 
    $SQL_RESULT;
        
    ########################################################
        ########################################################
        
    function _construct($host,$user,$pass,$db){
            
    $this->HOST $host;
            
    $this->DB_USERNAME $user;
            
    $this->DB_PASSWORD $pass;
            
    $this->DB_NAME $db;
            
    $this->__CONTENT();
            
    $this->__DESCONTENT();
        }
        protected function 
    __CONTENT(){
            
    $this->SERV_CONTENT = @mysql_pconnect($this->HOST,$this->DB_USERNAME,$this->DB_PASSWORD);
            
    $this->DB_CONTENT = @mysql_select_db($this->DB_NAME,$this->SERV_CONTENT);
            return 
    $this->DB_CONTENT;
        }
        protected function 
    __DESCONTENT(){
            if(!
    $this->SERV_CONTENT){
                die(
    "<h1 align='center'>ÎØÇÁ Ýí ÇáÇÊÕÇá ÈÓíÑÝÑ ÞÇÚÏÉ ÇáÈíÇäÇÊ</h1>");
            }elseif(!
    $this->DB_CONTENT){
                die(
    "<h1 align='center'>ÎØÇÁ Ýí ÇáÇÊÕÇá ÈÞÇÚÏÉ ÇáÈíÇäÇÊ</h1>");
            }
        
        }
        
        protected function 
    SQL($sql){
            return @
    mysql_query($sql);
        }
        function 
    QUER($SQL){
            
    $SQL $this->SQL($SQL);
            
    $FETCH $this->FETCH($SQL);
            
    $NUM $this->row($SQL);
            
    $arr = (object)array("FETCH"=>$FETCH,"num"=>$NUM);
            unset(
    $SQL);
            unset(
    $FETCH);
            unset(
    $NUM);
            return 
    $arr;
        }
        
        protected function 
    FETCH($SQL){
            
    $rows = array();
            while(
    $row = @mysql_fetch_array($SQL)) $rows[] = $row;
            return 
    $rows;
        }
        
        protected function 
    row($SQL){
            return @
    mysql_num_rows($SQL);
        }
        
    ############################################################
    ############################################################        
    }
    ?>
    = ثم قمت بعمل دالتين .. الأولى Code_1 بها loop يدور 1000 دورة .. و في كل مرة نقوم بطلب بيانات من جدول يحتوي على 669 صف تم تحديدهم كلهم
    كود PHP:
    function bm_1($loops){
        for(
    $i=$loops;$i>0;--$i){
            
    $helal = new DB_CLass();
            
    $DB['HOST'] = "****.*********.***";
            
    $DB['USERNAME'] = "******";
            
    $DB['PASSWORD'] = "**********";
            
    $DB['DB_NAME'] = "test_helal";
            
    $helal->_construct($DB['HOST'],$DB['USERNAME'],$DB['PASSWORD'],$DB['DB_NAME']);
            
    $r $helal->QUER("select*from test");
            
    $num $r->num "<br>";
            foreach(
    $r->FETCH as $row){
    //            print_r($row);
            
    }
        }

    = الثانية Code_2 تتعامل مع مكتبة مدمجة في ال php ايضا بها loop يدور 1000 دورة .. و في كل مرة نقوم بطلب بيانات من جدول يحتوي على 669 صف تم تحديدهم كلهم
    كود PHP:
    function bm_2($loops){
        for(
    $i=$loops;$i>0;--$i){
            
    $helal = new PDO('mysql:host=****.*********.***;dbname=test_helal''******''**********',array(PDO::ATTR_PERSISTENT => true));
            
    $result $helal->query('select*from test');
            
    $num $result->rowCount().'<br />';
            while(
    $row $result->fetch()){
    //            print_r($row);
            
    }
        }

    = النتيجة كما يلي:
    كود:
    Code_1: 3.248 s
    Code_2: 1.536 s
    Code_2 اسرع من Code_1 بالضعف تقريبا

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





    التعديل الأخير تم بواسطة mr_m ; 01-04-2009 الساعة 09:42 AM
    __________________
    محمد حمود.





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

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

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