نظرة سريعة على مجريات يوم سوالف
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: Jun 2004-
#26 (permalink)  
إنشاء الكائن بعد شرحه : ماهية new ؟

أولاً قبل البدء فإني بإذن الله سأجيب على جميع التساؤلات ولكن بشكل متسلسل والسبب أن هناك أناس لا يعرفون ماهي كائنات و كلاسات لذلك يجب أن نراعي ظروفهم أيضاً ..

وأما بالنسبة لـ __construct وأخواتها فهذه في php 5 وجاي الحديث عنها بإذن الله تعالى ...

ونعود إلى درسنا ...

إنشاء الكائن بعد شرحه : ماهية new ؟


الآن أظن أننا شرحنا كيف سيكون شكل الكائن Mobil وفهمنا بي اتش بي أنه أي كائن من نوع Mobil ترى شكله كالتالي :
كود PHP:
class Mobil 

  
//attributes 
   
var $color
   var 
$company
   
  
//methods 
  
function Connect() 
  { 
    echo 
"connected ...!"
  } 

  function 
DisConnect() 
  { 
   echo 
"disconnected...!"
  } 


لحد الآن كلنا كويسين ولكن بشرحك هذا أنت لم تنشئ كائن وإنما شرحت كيف سيكون شكل الكائن أي بكلام أخر ان الكلاس هو خريطة الكائن .

إذاً السؤال هنا : كيف أنشئ كائن من نوع Mobil ؟

الجواب كل كائن في php يتم تمثيله عن طريق متغير (كويس)

طيب وماذا أيضاً ..

ولإنشاء أي كائن في php فإنني أستخدم كلمة new

ممتاز .. ولكن كيف ذلك ياعبدالله عيد ؟

الجواب هو انني الآن سأنشئ كائن نوعه جوال كالتالي :

كود PHP:
$nokia = new Mobil(); 
الآن كما تلاحظ فقد قمت بعمل متغير بإسم nokia وهو هنا يمثل الكائن وبعد ذلك إستخدمت الكلمة new وهنا كأنني أقول أنشئ كائن جديد من الكلاس موبايل

الآن أصبح المتغير nokia هو عبارة عن كائن نوعه Mobil

و للبقية حوار بإذن الله تعالى ...

تحياتي






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد غير متواجد حالياً   قديم 22-11-2006, 07:21 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2004-
#27 (permalink)  
استخدام الكائن بعد إنشائه : طريقة الوصول لمحتويات الكائن

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

لقد ذكرنا سابقاً أن إنشاء الكائن يتم كما رأينا بإستخدام كلمة new ..

ولقد أنشأنا كائن بإسم nokia الآن السؤال هنا هو كيف أستخدم الكائن nokia ؟

الجواب بكل بساطة فأنت عندما شرحت الكلاس Mobil فأنت تقول أي كائن يتم إنشائه من هذا الكلاس فإنه سيحتوي على دالتين هما Connect و DisConnect ومتغيرين هما color و company .

إذا فإن nokia سيحتوي على دالتين هما Connect و DisConnect و متغيرين هما color و company والسبب لأن المتغير أو الكائن nokia هو عبارة عن كائن من النوع Mobil ..

طيب السؤال الآن هو كيف أصل لهذه الدوال والمتغيرات الموجودة في كائن(متغير) nokia ؟

الجواب هو بإستخدام مايسمى بمعامل الكائن أو الـ Object Operator وهو عبارة عن شكل سهم كالتالي

كود PHP:
-> 
أي بكلام أخر فإنني بعد إنشاء الكائن سأقوم بإستخدام المتغير يليه شكل السهم يليه محتويات الكائن من متغيرات ودوال

و للتوضيح فلكي أصل للمتغير color من الكائن nokia فإنني سأكتب مايلي وذلك بعد إنشاء الكائن :

كود PHP:
$nokia->color "blue"
ولاحظ هنا أنني لم أضع علامة $ للمتغير color ..

ولكي أنفذ الدالة Connect والتي أظن أنك فهمتني قبل أن أكتبها فإنك ستكتب :

كود PHP:
$nokia->Connect(); 
وبكلام أخر فإنك لو نفذت الكلام التالي الآن لجوال من نوع sony وتقوم بإنشاء اتصال فإنك ستكتب مايلي :

كود PHP:

$sony 
= new Mobil();
$sony->Connect(); 
عندها ستكون المخرجات :
كود:
connected ...!
وأرجوا أن تكون المعلومة قد وصلت ..

وللبقية حوار بإذن الله تعالى ..

تحياتي






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد غير متواجد حالياً   قديم 22-11-2006, 07:40 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2004-
#28 (permalink)  

إلى هنا أنهينا الجزء الآول والذي احتوى على مايلي :

1- استخدام class
2- استخدام var
3- استخدام new
4- استخدام ->

وهذه الأشياء الأربعة المذكورة هي التي ستكون بداية دخولك إلى عالم الكائنات بإذن الله ..

وسيكون الجزء الثاني عن مايلي :

1- this
2- constructor

وسنبدأ فيها كما تعودنا بالجزء النظري وبعدها بالجزء العملي ... بإذن الله يليها الجزء الثالث والرابع وهكذا إلى الإحتراف بإذن الله تعالى ,,

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

والآن عليك أن تختبر نفسك كالتالي :

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

وللبقية حوار بإذن الله تعالى ...

تحياتي






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد غير متواجد حالياً   قديم 22-11-2006, 07:53 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2004-
#29 (permalink)  

أسف لم أنتبه لموضوع الـ Debug وأرجوا أن تعذروني فلم أنتبه له والله يعلم صدق ما أقول ..

لذلك بالنسبة لموضوع الـ Debug و الـ Error Report فأنت أشر وإحنا نقشر يعني غاليين والطلب رخيص بس خلونا نخلص من موضوع الكلاسات والكائنات وابشروا بإذن الله تعالى باللي يرضيكم .. ولكن حبة حبة علي خلونا نخلص من واحد وبعدين نجي للثاني وهكذا وأنا الشئ اللي اعرفه ترى صدقوني ما أبخل فيه لو بحرف واحد والشئ اللي ما أعرفه ترى ببساطة أروح أقرأ فيه وأجي أساعد به .. والله المعين ولاتنسونا من الدعاء لي ولوالدي ..

تحياتي






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد غير متواجد حالياً   قديم 22-11-2006, 08:02 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2004-
#30 (permalink)  

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

موضوع جميل جدا و يحوي كم هائل من المعلومات المفيدة ، بارك الله فيك اخوي عبدالله وجزيت الف خير
اتمنى منك اكمال الطريق


تقبل تحياتي






__________________
بي اتش بي العرب : php-ar.com
دروس PHP خاص : phpfaq.php-ar.com
البلوق العربي : ar-blog.net
مدونتي : naifphp.net
خدمات البرمجة : naifphp.org

جريح سابقا :)
Mr.php-ar غير متواجد حالياً   قديم 22-11-2006, 03:45 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Nov 2005-
#31 (permalink)  

ماشاء الله عليك
اخي عبدالله تسمح لي بإضافه منك
fcis_acm@hotmail.com






موقع روش غير متواجد حالياً   قديم 22-11-2006, 06:13 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: May 2004-
#32 (permalink)  

الله يعطيك العافية اخونا عبد الله .

طبقت وما ادري شكلي دخلت المواضييع ببعضها

كود PHP:
<?php



class computer() {


var 
$casecolor ;
var 
$companymadein ;
var 
$motherboardtype ;
var 
$harddisktype ;
var 
$ramtype ;



function 
restart() {

echo 
"Restart" ;

}

function 
shutdown() {

echo 
"Shut Down" ;

}


function 
save() {

echo 
"Save" ;

}

function 
logoff() {

echo 
"Log Off" ;

}





}



?>


كود PHP:
<?php

$IBM 
= new computer() ;


$IBM -> casecolor "Black" ;

$IBM -> companymadein "USA" ;




$IBM -> shutdown() ;

$IBM -> save() ;





?>
بالله شوف شغلي صح ولا كله غلط

تحياتي .






__________________
دروس php بالفيديو !
marabe7 غير متواجد حالياً   قديم 23-11-2006, 10:04 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#33 (permalink)  

مجهود جميل ...
بانتظار اكتمال الدروس .. ولا تطول علينا .. وعلى فكرة عندي قائمة باشياء نبيك تشرحها
والله يعينك علينا :$






__________________
سبحان الله وبحمده سبحان الله العظيم
الفايق غير متواجد حالياً   قديم 24-11-2006, 07:30 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#34 (permalink)  

كود PHP:
<?php
class Thanks {
var 
$ThankFrom// الشكر من 
var $ThankTo;// الشكر الى
var $ThankOn;// الشكر على

function GoThank() {
echo 
"$ThankFrom says : Thank you ,$ThankTo ";
}

?>
كود PHP:
<?php
$Thank 
= new thanks ;
$Thank -> ThankForm "Faisal" ;
$Thank -> ThankTo "Abdullah eid" ;
$Thank -> GoThank() ;
?>
ولك علي في الانجليزي شوي .. ما ابي تدقيق لغوي
دمت بود






__________________
سبحان الله وبحمده سبحان الله العظيم
الفايق غير متواجد حالياً   قديم 24-11-2006, 10:37 PM
رد مع اقتباس
ابو عبدالله
تاريخ التسجيل: Dec 2004-
#35 (permalink)  

موضوع رائع


وبأنتظار التتمه






غنام غير متواجد حالياً   قديم 27-11-2006, 09:39 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#36 (permalink)  

عبدالله .. وش فيك طولت بالدرس الثاني ...
ننتظرك على احر من الجمر ...
دمت بود






__________________
سبحان الله وبحمده سبحان الله العظيم
الفايق غير متواجد حالياً   قديم 04-12-2006, 03:08 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#37 (permalink)  

مشاء الله عليك وفقك الله اخوي علي ه>ا الشرح وتفصيل الدقيق والله موضوع رائع استمتعت واان اقراه

علي طول بالمفضله توني ادري اني كائن

اشكرك مره وبأنتظارك






My Soul Mate غير متواجد حالياً   قديم 04-12-2006, 03:55 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Nov 2005-
#38 (permalink)  

ننتظر التتمه ياعبدالله


والله يقويك






فارس القبيلة غير متواجد حالياً   قديم 05-12-2006, 05:36 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#39 (permalink)  

هذا تطبيق كائن اتصال بقاعده البيانات شرحت الخصائص والاساليب بالغه الانجليزيه لاتتدققون في السبلنق PHP حببتني والله اتعلم الانجليزي مدري ليه

كود PHP:
<?php
//+--------------------------------------
//\  Object Connect               
//\  Work Object : Connect to mysql
//\  Powered by Abdullah Al-otibi  
//\  Email : abdullah@otibi.ws     
//\  date : 5/2/2006                       
//+--------------------------------------

/*---------------- start object ------------------*/
class connect
{
//+--------------------------------------
//\ Attributes Object connect
//\ db_host : server localhost 
//\ db_user : username databaes
//\ db_pass : password databaes
//\ db_name : name databaes
//\ db_table : table name databaes
//+--------------------------------------

    
var $db_host "localhost";
    var 
$db_user "root";
    var 
$db_pass "";
    var 
$db_name "dros";
    var 
$db_table "";

//+--------------------------------------
//\ Methods Object connect
//\ connect to mysql  
//+--------------------------------------    

    
function dbconnect(){
        
        
$db mysql_connect($this->db_host,$this->db_user,$this->db_pass)
        or die (
mysql_error());
        
mysql_select_db($this->db_name,$db)or die (mysql_error());
        }
}
/*---------------- end object ------------------*/
?>
الله يجزاك خير اخوي عبدالله لو تحط دروس انجليزيه بعد الله يوفقك






My Soul Mate غير متواجد حالياً   قديم 05-12-2006, 12:09 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: May 2004-
#40 (permalink)  

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

تحياتي .






__________________
دروس php بالفيديو !
marabe7 غير متواجد حالياً   قديم 10-12-2006, 11:35 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#41 (permalink)  

السلام عليكم
مشكور اخى على هدا الشرح المتميز والواضح
ولكن انا الشيء الوحيد الدى لم افهمه واعدرونى


كيف نستغل هاته الكائنات
متلا
هل فقط بتنضيم المتغيرات والدوال واستدعائها عند الحاجة’’.؟..؟؟
وشكرا






__________________
اينكم يا مغاربة ’’’؟؟؟
لنتعاون من اجل النهوظ بالمواقع المغربية
****************************
متى سنتوقف عن مواقع المسيقى والدردشة !!!!!
www.gsm4maroc.com
morocco غير متواجد حالياً   قديم 11-12-2006, 03:32 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Apr 2006-
#42 (permalink)  

لدي ملاحظة بسيطة على هذا الكائن
اقتباس:
المشاركة الأصلية كتبت بواسطة My Soul Mate
هذا تطبيق كائن اتصال بقاعده البيانات شرحت الخصائص والاساليب بالغه الانجليزيه لاتتدققون في السبلنق PHP حببتني والله اتعلم الانجليزي مدري ليه

كود PHP:
<?php
//+--------------------------------------
//\  Object Connect               
//\  Work Object : Connect to mysql
//\  Powered by Abdullah Al-otibi  
//\  Email : abdullah@otibi.ws     
//\  date : 5/2/2006                       
//+--------------------------------------

/*---------------- start object ------------------*/
class connect
{
//+--------------------------------------
//\ Attributes Object connect
//\ db_host : server localhost 
//\ db_user : username databaes
//\ db_pass : password databaes
//\ db_name : name databaes
//\ db_table : table name databaes
//+--------------------------------------

    
var $db_host "localhost";
    var 
$db_user "root";
    var 
$db_pass "";
    var 
$db_name "dros";
    var 
$db_table "";

//+--------------------------------------
//\ Methods Object connect
//\ connect to mysql  
//+--------------------------------------    

    
function dbconnect(){
        
        
$db mysql_connect($this->db_host,$this->db_user,$this->db_pass)
        or die (
mysql_error());
        
mysql_select_db($this->db_name,$db)or die (mysql_error());
        }
}
/*---------------- end object ------------------*/
?>
يجب ان يكن هكذا
كود PHP:
<?php 
//+-------------------------------------- 
//\  Object Connect                
//\  Work Object : Connect to mysql 
//\  Powered by Abdullah Al-otibi   
//\  Email : abdullah@otibi.ws      
//\  date : 5/2/2006                        
//+-------------------------------------- 

/*---------------- start object ------------------*/ 
class connect 

//+-------------------------------------- 
//\ Attributes Object connect 
//\ db_host : server localhost  
//\ db_user : username databaes 
//\ db_pass : password databaes 
//\ db_name : name databaes 
//\ db_table : table name databaes 
//+-------------------------------------- 

    
var $db_host
    var 
$db_user
    var 
$db_pass
    var 
$db_name
    var 
$db_table

//+-------------------------------------- 
//\ Methods Object connect 
//\ connect to mysql   
//+--------------------------------------     

    
function dbconnect(){ 
         
        
$db mysql_connect($this->db_host,$this->db_user,$this->db_pass
        or die (
mysql_error()); 
        
mysql_select_db($this->db_name,$db)or die (mysql_error()); 
        } 

/*---------------- end object ------------------*/ 
?>
وهنا ستكون طريقة تشغيل هذا الكائن
كود PHP:
$connect= new connect;
$connect->db_host="localhost";
$connect->db_user="root";
$connect->db_pass="123456";
$connect->db_name="dbname";
$connect->db_table="table_name";
$connect->dbconnect(); 

السبب واضح جدا
الكائن يجب ان يكون خالي من معلومات السرفر لسبب وحيد على حسب معرفتي وهو:
ستحتاج هذا الكائن في برامج مختلفة واستضافات مختلفة ..
والطريقة الصحيحة ان تدخل معلومات السيرفر كما شرحت فوق من خارج الكائن وليس من داخله
والله اعلم






عبد الواحد البشيري غير متواجد حالياً   قديم 14-12-2006, 07:01 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#43 (permalink)  

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






__________________
سبحان الله وبحمده سبحان الله العظيم
الفايق غير متواجد حالياً   قديم 15-12-2006, 02:13 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#44 (permalink)  

هلا والله اخوي Nadorino ،،

كلامك صحيح س كل الطرق تؤدي الي مكه انا وضعت قيم متغيرات الاتصال من عندي يقدر يغيرها بملف تشغيل الكائن :

كود PHP:
 $connect= new connect;
$connect->db_host="localhost";
$connect->db_user="root";
$connect->db_pass="";
$connect->db_name="dbname";
$connect->db_table="table_name";
$connect->dbconnect(); 
مثل ماعملت انت






My Soul Mate غير متواجد حالياً   قديم 15-12-2006, 08:29 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Apr 2006-
#45 (permalink)  

السلام عليكم لقد برمجت كائن لتحميل الملفات
على هذا الرابط http://www.swalif.net/softs/showthread.php?p=1318662
المرجو وضع ملاحظاتكم في نفس الموضوع (الرابط)






عبد الواحد البشيري غير متواجد حالياً   قديم 16-12-2006, 02:03 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Dec 2004-
#46 (permalink)  

شكرا لك أخي عبد الله عيد
بارك الله فيك






__________________
Phpaw.com
الرجل الخارق غير متواجد حالياً   قديم 19-12-2006, 06:01 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2006-
#47 (permalink)  

الف الف الف شكرا لك ااستاااذي عبدالله عيد



شرح راااائع ومفصل



حفظت الصفحات عندي

وانتظر المزيييد

تحيااااتي






__________________
سبحان الله والحمد لله ولا اله الا الله والله اكبر
افضل [ بيج رانك 4 ] <<< كان سابقا .. الحين 2 :(
abady 999 غير متواجد حالياً   قديم 25-12-2006, 03:17 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Dec 2003-
#48 (permalink)  

يعطيك ألف عافية أخوي عبدالله

بصراحة مدخل رائع لل OOP


وفي انتظار عودتك بعد العيد






__________________
مدونتي الشخصية
http://www.ar-dev.com
الشريف.نت غير متواجد حالياً   قديم 04-01-2007, 01:01 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#49 (permalink)  

Up
حرام الموضوع ينزل تحت حتى لو كان ما اكتمل لكن هو مهم ..
وان شاء الله يكمل الباقي الاخ عبدالله ...






__________________
سبحان الله وبحمده سبحان الله العظيم
الفايق غير متواجد حالياً   قديم 11-01-2007, 12:50 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2004-
#50 (permalink)  
أسف على التأخير ..

أتقدم بالأسف على التأخير ولكن هي أشياء خارجة عن الإرادة ...

على العموم سأتابع بإذن الله تعالى ...

تحياتي






__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)
عبدالله عيد غير متواجد حالياً   قديم 01-02-2007, 02:40 AM
رد مع اقتباس
رد


 

أدوات الموضوع

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

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 10:38 PM بتوقيت المملكة العربية السعودية