ممكن كذا...
كود 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:<?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:
pg_fetch_array
ودية
كود PHP:
mysql_fetch_array
اسف بكرة ان شاء الله الكمل الحديث معاك بس هطر انام عشان بكرة عندي امتحان
__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
وهذه طريقة مختصرة ..
شكرا لأسئلتك ، واحب اتابعك ، لأني استفيد من اسئلتك كثيركود 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 اهلا ومرحبا بك اخي .. شيء جميل وجود هناك نقاش بناء.
__________________
محمد حمود.
أجد الكثير من المبرمجين يقومون بهذه الطريقة التي أراها سيئة جدا في الكتابة
أنت الأن فتحت في الذاكرة عدة متغيرات كلها تحمل نفس القيمة
__________________
السيف أصدق أنباء من الكتب
على فكرة هذه يعتبرها البعض سليمة .. ممكن ان تكون كذلك لكن ليس في php .. الاصح هو انك تعمل النتغير public
وتوفر الدالتين.. عفوا لم الاحظ هذه المشاركة الا الآن.
* ايضا هناك نصائح بالتقليل من استخدام ال magic methods مثل
كود:__construct, __destruct, __get, __set, __sleep, __wakeup, __isset, __unset, etc
__________________
محمد حمود.
جزاك الله خيرا اخي الكريم
بس كده انت لم تعمل شئ في الكلاس كده انت عرفة لكلاس فقط
جزاك الله خيرا اخي الكريم
طيب يبقي لا استخدمها صح عشان انا بستخدم mysql ولا الداله شغاله مع كل قواعد البيانات ؟؟
جزاك الله خيرا اخي الكريم
طيب مه ممكن اقوم بحذف المتغير بعد تعريفة متغير اخر بداله unset صح ؟؟
جزاك الله خيرا اخي الكريم
انا ما بستخدمش غير داله واحد وهي construct هل هيبقي فيها شئ؟؟
__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
انا انا عديلته ليكون كده بحيث اني استخدم الدوال الي انا عاوذها فقط خارج الكلاس وكمان يكوم بحذف المتغيرات التي انتها امرها
يعني كده
كود 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
- لا اريد ان اقول لك شيء تبحث عنه لكي لا تنصرف عن المذاكرة.
- لكن اذا كنت مصر على تعليق فابحث عن كلمة static و ادخلها على الكلاس ..
__________________
محمد حمود.
جزاك الله خيرا اخي الكريم
انا اعرفة ان الامتحانات الاسبوع القادمة هههههههه عرفة انهارده بصدفة بتصل بصديقي قلي هذا ههههههه وكنت جاهز لذهاب للمعهد
اخي static انا عرفها بس دية تخلي الداله لا تتغير
في هيبقي فيدتها اية ؟؟؟
__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
يا محمد انت سألت نفسك و اجبت بنفسك !
<ارسل لي ماسنجرك الخاص على بريدي عن طريق سوالف سوفت>
وفقك الله .
__________________
راسلني
جزاك الله خيرا اخي الكريم اه ان سال واجبت نفسي
بس لو بصية لردود الي انا حصلة عيها افدتني اكتر من السؤال نفسه
__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
الارجح حصل سوء، فانا لم اقصد الموضوع كاملاً بل اخر استفسار طرحته حول دالة الـStatic انت طلبت دورها و اجبت عن سؤالك في السطر الثاني .
على العموم قلت لك ارسل لي ماسنجر على بريدي عبر صفحة سوالف سوفت (مراسلة عبر البريد .)
__________________
راسلني
جزاك الله خيرا اخي الكريم
اه انت تقصد كده
انا ارسلت ليك رساله بيها الايميل
__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
تأخرت في الرد بعض الشيء نظرا لانشغالي.. ارجو المعذرة
بخصوص طلبي السابق فكان لي منه حكمة بانك تمشي في طريق معين سيسهل علينا الوصول الى الحل النهائي
لكن الان سوف اضع الحل النهائي جاهزا .. يعني اجيب من الآخر
= قمت بالتعديل على الكلاس السابق لانه كان يعمل fetch لاول صف من النتيجة فجعلته يرجعها كاملة هذه هي
= ثم قمت بعمل دالتين .. الأولى Code_1 بها loop يدور 1000 دورة .. و في كل مرة نقوم بطلب بيانات من جدول يحتوي على 669 صف تم تحديدهم كلهمكود 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_2 تتعامل مع مكتبة مدمجة في ال php ايضا بها 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);
}
}
}
= النتيجة كما يلي:كود 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_2 اسرع من Code_1 بالضعف تقريباكود:Code_1: 3.248 s Code_2: 1.536 s
* أخلص مما سبق الى ان استخدام اي مكتبة مدمجة في php سيعطيك نفس النتيجة .. تفوق ساحق على اي كلاس مكتوبة بال php
* من لديه رأي اخر فليتفضل بسرد وجهة نظره ولنتناقش فيها
التعديل الأخير تم بواسطة mr_m ; 01-04-2009 الساعة 09:42 AM
__________________
محمد حمود.