سوالف اندرويد




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

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو نشيط جدا
#1  
[مقال] 34 نصيحة لأكواد سريعة

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




يتناول هذا المقال ما يلي
:
= ملحوظات قبل البدء.
= مقدمة.
= التعامل مع النصوص.
= قاعدة البيانات و الملفات والمقابس.
= المتغيرات والدوال.
= نصائح عامة.
= الكائنات ومحتوياتها.
= الخاتمة.



= ملحوظات قبل البدء:
* يفضل عمل -إن لم يكن موجودا- مجلد على الجهاز ونضع فيه المعلومات التي تلفت نظرنا حتى يكون مرجعا نبحث فيه قبل الرجوع إلى الويب.
* ما يلي هو جزء من كل ونقاط من بحر كلما تعمقت وقرأت فيه ستجد أنك تضيف إلى معلوماتك في كل مرة.. لذلك حاول القراءة و البحث أكثر.



= مقدمة:
تم إعداد هذه النصائح أو ال tips بهدف تصحيح بعض الأوضاع .. لكن تجب القراءة والتوسع أكثر
لأن هناك أخطاء كثيرة قد تحتوي عليها أكوادنا ونحن ربما لا نعرف بها .. أو حتى أننا نعتبرها مميزات للكود كما سنرى..



= التعامل مع النصوص:

1- عند طباعة النص ب echo استعمل البارامترات المتعددة عوضا عن لصق النص بالنقطة "." حيث أنها دالة تقبل عدة مدخلات من النصوص.
كود PHP:
$name 'Mohamed';
// بدلا من
echo 'My name is '.$name;
// استخدم
echo 'My name is ',$name


2-
استخدام echo بدلا من print، حيث أن الأخيرة تتأخر لإرجاعها نتيجة هل تمت طباعة الكود أم لا.. وهذه النتيجة لا نحتاجها.

3- استخدام strpos و strbrk و strncasecmp بدلا من التعبيرات القياسية كلما أمكن.
كود PHP:
// بدلا من
if(preg_match('/something/',$text);
// استخدم
if(strpos($text,'something') !== false); 


4-
عند استبدال نص ولا تحتاج تعبيرات قياسية يكون استخدام strtr أسرع بأربع مرات من str_replace

5- إذا كنت تستخدم دالة لاستبدال النصوص مثل str_replace تقبل مدخلات عبارة عن مصفوفة أو نص عادي وكنت لا تريد البحث عن مدخلات كثيرة
فالأفضل تكرارها عدة مرات بعدد مدخلات البحث على أن تدخل لها مصفوفة.

6- استعمال علامة التنصيص المفردة ' بدلا من المزدوجة " وهذا عندما لا تحتاج لوضع متغيرات داخل هذا النص.

7- عند الحاجة للتحقق من طول النص استخدم isset بدلا من strlen
كود PHP:
if (strlen($var) < 3) { /*Do something */ }
// استبدلها ب
if (!isset($var{3})) { /*Do something */ 
8- دالة printf بطيئة جدا مقارنة ب echo و print حيث أنها تبحث داخل النص عن الرموز الخاصة بها وإذا وجدته تتعامل معه.
و غالبا انك في PHP لن تحتاج لما تقدمه هذه الدالة أيضا..

9- دائما استعمل gzip في ضغط المخرجات حيث انه يقلل حجمها بشكل يصل إلى 80%

10- حاول جعل ال HTML في صفحات مستقلة عن البرمجة PHP حيث أن تعامل الاباتشي مع صفحات ال PHP أبطأ ب 2-10 مرات من صفحات HTML




= قاعدة البيانات و الملفات والمقابس:

11- استعمال المسارات الكاملة للملفات full paths لمنع إهدار الوقت في ترجمتها من قبل النظام.
كود PHP:
// تعريف المسار الرئيسي للصفحات بوضع قيمته داخل متغير أو ثابت
define('ABSPATH',dirname(__FILE__).'/');
// ثم استخدامه عند الحاجة
include(ABSPATH.'path/to/file'); 


12-
إغلاق المقابض المفتوحة لاتصالات قاعدة البيانات و الملفات وغيرها بعد الانتهاء من استخدامها مباشرة

13- حدد فقط الحقول التي تحتاجها عند عمل استعلام من قاعدة البيانات ولا تستعلم عن جميع الحقول.
كود PHP:
// بدلا من
$stmt 'SELECT * FROM table';
// استعمل
$stmt 'SELECT field1 FROM table'
14- استعمل التعليمات المجهزة مع الداتابيس prepared statements وهنا شرح لعمل ذلك باستعمال مكتبة PDO.



= المتغيرات والدوال:

15- دائما استخدم unset لحذف المتغيرات عند الانتهاء من استخدامها وخاصة مع المتغيرات و المصفوفات الكبيرة

16-
كود PHP:
$row['something']
// أسرع بسبع مرات من
$row[something]; 


17-
زيادة متغير غير معرف أبطأ من 9 إلى 10 مرات من المتغير المعرف مسبقا.
كود PHP:
// لا تستعمل ما يلي مباشرة
$i++;
// بل يجب تعريفه أولا
$i 0;
$i++; 


18-
تعريف دالة لها بارامتر واحد ولا توجد أوامر في جسمها تعادل وقت زيادة متغير عادي بسبع إلى ثماني مرات
كود PHP:
// تعريف دالة بأبسط أشكالها هكذا:
function foo($arg1);
// تساوي الوقت اللازم لزيادة متغير بالصورة التالية سبع مرات
$var++; 


19-
زيادة متغير global أبطأ بمرتين من زيادة متغير داخلي في الدالة مثلا.
كود PHP:
// زيادة متغير بهذه الصورة
function foo(){
    global 
$var;
    
    
$var++;
}
// أبطأ بمرتين من هذه
function foo(){
    
//$var = 0;
    
$var++;



= نصائح عامة:

20- استخدام $_SERVER['REQUEST_TIME'] بدلا من time() إذا كنت تريد معرفة وقت بدء تنفيذ الصفحة و لأغراض الاستعلام وعرض التواريخ
حيث أن تاريخ تنفيذ الصفحة يكون معرف مسبقا.. أما time() هي دالة تكونه في كل مرة.
كود PHP:
$tstamp $_SERVER['REQUEST_TIME'];
// أسرع من
$tstamp time(); 


21-
استخدام الدوال البادئة ب ctype_ للتحقق من نوع المدخلات .. بدلا من التعبيرات القياسية.
كود PHP:
// بدلا من
if(preg_match('/^[0-9]+$/',$_GET['id'])) /*Do something*/;
// استعمل
if(ctype_digit($_GET['id'])) /*Do something*/


22-
استخدام @ قبل الدالة بغرض إخفاء الخطأ الناتج عنها يبطئ عملها كثيرا.

23- إذا كنت تستعمل if و else if كثيرة فيمكنك التفكير في استعمال switch لأنها أسرع.

24- لا تستخدم دوال بداخل حلقة تكرار for و استخدمها خارجا .. مثل count
كود PHP:
// بدلا من
for($i=0;$i<count($var);$i++);
// استخدم
$count count($var);
for(
$i=0;$i<$count;$i++); 


25-
استخدام foreach أسرع من for في اغلب الأحيان

26- استخدام أدوات اختبار الأداء profilers لمعرفة تفاصيل تدفق الكود و إحصائيات و أزمنة تنفيذ كل جزء منه.

27- هذا ينطبق على PHP فقط:
كود PHP:
++$i;
// أسرع من:
$i++; 


= الكائنات ومحتوياتها

28- عندما يكون عندك مصفوفة أخرجها و استعملها كمصفوفة ولا تحولها ل object .

29- عدم المبالغة في شق ال methods في الكلاس وتعديدها .. ضم ما يمكن ضمه داخل دالة واحدة.

30- تعريف دالة method داخل صنف يساوي وقت عمل $var++ يتم تكرارها 15 مرة! -لاحظ أن هذا وجسم الدالة فارغ لا توجد به أوامر.
كود PHP:
// class A{
    
function foo($var);
// }
// تعادل تكرار العملية التالية ل 15 مرة
$var++; 
31- زيادة متغير في كلاس أبطأ بثلاث مرات من زيادة متغير داخلي
كود PHP:
class A{
    
    var 
$var 0;

    function 
foo(){
        
// هذه العملية
        
$this->var++;
        
// أبطا مما يلي بثلاث مرات
        // $var = 0;
        
$var++;
    }



32-
طلب دالة static أسرع 4 مرات من طلبها داخل object.
كود PHP:
class A{
    
    public static function 
$foo_static(){
        
// echo 'hello';
    
}

    public function 
$foo_obj(){
        
// echo 'hello';
    
}
}
A::foo_static();
// أسرع باربع مرات من
// $obj = new A();
$obj->foo_obj(); 


33-
تجنب الطرق السحرية magic methods قدر الإمكان
كود:
__construct
__destruct
__call
__callStatic
__get
__set
__isset
__unset
__sleep
__wakeup
__toString
__invoke
__set_state
__clone
34- لا يجب ان تجعل كل شيء OOP نظرا لضغطها وزيادة وقت تنفيذها -يعني كل شيء بقدر، ولا تسرف في الاستخدام



= الخاتمة:
بخصوص المقالات القادمة بإذن الله.. كنت انوي جعلها للوصول للمستوى المتوسط في السكيوريتي الخاص بأكوادPHP
لكن، ومع اصطدامي بالواقع الذي عليه بعض المبرمجين، من سطحية الادراك لأجزاء شائكة مثل اختصار الأكواد
فـ قد نعمل فيها دورة تصل بنا إلى ما قبل المستوى المتوسط .. لكي نكمل من حيث انتهى الآخرين..

هذا ما لدي الآن فإن أخطأت فمن نفسي ومن الشيطان .. وان أصبت فبتوفيق من الله.
أرحب بأي أسئلة أو استفسارات أو نقاشـات بناءة .. ولا تنسوا دعوة لأخيكم بظهر الغيب.






__________________
محمد حمود.

آخر تعديل بواسطة mr_m في 18-04-2009 الساعة 03:49 PM.
mr_m is offline   قديم 18-04-2009, 02:36 PM
الرد مع إقتباس
عضو نشيط
#2  

السلام عليكم ورحمه الله وبركاته
جزاك الله الف خير على موضوعك وكنت اريد ان انوه على نقطه معينه وهى الاختلاف بين كل من
كود PHP:
//$i++ and ++$i 
حيث انها فى الحالة الاولي
تقوم بارجاع نتيجه المتغير ثم من بعد ذلك اضافه قيمه 1 وعليه

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

كود PHP:
<?
$i 
3;
echo 
$i++;
echo 
$i;
echo 
"<br>";
$i 3;
echo ++
$i;
echo 
$i;
?>






__________________
"لا تزولُ قَدَمَا عَبْدٍ يومَ القيامةِ حتى يُسألَ عنْ أربع ٍ عنْ عُمُرِهِ فيما أفناهُ وعنْ جسدِه فيما أبْلاهُ وعنْ مالهِ مِنْ أيْنَ أخذهُ وفيما أنْفَقَهُ وعنْ عِلمِهِ ماذا عَمِلَ بهِ".
ahmedwali is offline   قديم 18-04-2009, 04:46 PM
الرد مع إقتباس
عضو نشيط جدا
#3  

شكرا لك على النصائح وانا بصدد تعلم PHP و سأبدأ من نصائحك ان شاء الله






MOHAMED IDELSSE is offline   قديم 18-04-2009, 04:57 PM
الرد مع إقتباس
عضو فعال
#4  

جزاك الله الف خيرا اخي الكريم
علي الموضوع الجامد ده






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 18-04-2009, 06:30 PM
الرد مع إقتباس
عضو مميز
#5  

بارك الله فيك
متميز كعادتك

أستفدت بشدة من الدرس وأنتظر باقي الدروس أخي






__________________
السيف أصدق أنباء من الكتب
محب الله ورسوله is offline   قديم 18-04-2009, 06:33 PM
الرد مع إقتباس
عضو نشيط جدا
#6  

شكرا للجميع على الوقت المبذول في القراءة ولعل الله يجعل في هذا الموضوع الفائدة لنا للجميع..


ahmedwali تنويهك في محله أخي الكريم .. شكرا على اضافتك الجميلة.

اسلام سوفت الشكر لله أخي العزيز، وفي انتظار برامجك القوية باذن الله..

محمدهلال اسعدني اخي مرورك على الموضوع .. بالتوفيق،

المجروح يشرفني مرورك أخي الكريم .. باذن الله ما يلي يسرك .. تقبل تحياتي،،






__________________
محمد حمود.
mr_m is offline   قديم 18-04-2009, 07:34 PM
الرد مع إقتباس
عضو فعال
#7  

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

في سؤال انا ديما بستخدم الطريقة دية

كود PHP:
define('ABSPATH',dirname(__FILE__).'/'); 
في تحديد المجلد الرئيسي

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






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 18-04-2009, 08:52 PM
الرد مع إقتباس
عضو نشيط جدا
#8  

اهلا اخي .. ما فعلناه هو اننا قمنا بتعريف المسار الحقيقي للمجلد الرئيسي للموقع مثلا..

يعني للتقريب مثلا تجد في وندوز
كود:
c:\some\dir\
طيب نحن الان وضعنا هذا الامر في صفحة في المسار الرئيسي للموقع ولتكن index.php

ولدينا مجلدي includes و modules في المسار الرئيسي أيضا.

ثم قمنا بتضمين صفحة اسمها test1.php من مجلد includes بهذا الكود
كود PHP:
include ABSPATH.'includes/test1.php'
في الصفحة التي قمنا بتضمينها نريد وضع كود تضمين صفحة test2.php والموجودة بملف modules

نقوم بوضع التالي
كود PHP:
include ABSPATH.'modules/test2.php'
طيب .. أيضا ونحن في صفحة test2.php .. اذا اردنا تضمين ملف test3.php الواقع في المسار الرئيسي للموقع؟
كود PHP:
include ABSPATH.'test3.php'
وهكذا .. نقيس مساراتنا نسبة الى المجلد الرئيسي او الذي قمنا بتعريفه ك absolute path






__________________
محمد حمود.
mr_m is offline   قديم 19-04-2009, 01:20 AM
الرد مع إقتباس
عضو فعال
#9  

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

كده انت لم تفهم قصدي انا عاوذ استدعي مثلا في مثالك ملف index.php في ملف text2.php الي هو في مجلد include

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






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 19-04-2009, 01:44 AM
الرد مع إقتباس
عضو نشيط جدا
#10  

قاعدتنا هي وضع مسار الانكلود نسبة الى المجلد المعرف في ABSPATH ..

فهمت منك انك فتحت الان ملف test2.php وتريد تضمين index.php الموجود في مسار أعلى منه

في هذه الحالة ممكن تستخدم الطريقة العادية
كود PHP:
include '../index.php'
أو أنك تقوم بمعرفة ال absolute path من خلال طباعته، ثم استخدامه يدويا بدون /includes في حالتنا هذه






__________________
محمد حمود.
mr_m is offline   قديم 19-04-2009, 02:18 AM
الرد مع إقتباس
عضو فعال
#11  

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


انا كنت بحسب في طريقة باستخدام هذا الطريقة
جزاك الله خيرا اخي الكريم






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 19-04-2009, 02:33 AM
الرد مع إقتباس
عضو فعال
#12  

بارك الله فيك يا غالي

جميل جدااا






__________________
كن حكيم في استخدام عقلك
محمد كيوان is offline   قديم 19-04-2009, 06:07 AM
الرد مع إقتباس
عضو سوبر نشيط
#13  

جزاك الله خيرا على هذا الدرس الرائع






__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
مهندس مصرى is offline   قديم 21-04-2009, 01:46 AM
الرد مع إقتباس
ليسامحني كل من اخطأت بحقه
#14  

إقتباس:
كنت انوي جعلها للوصول للمستوى المتوسط في السكيوريتي الخاص بأكوادPHP
و الله هذا ما نريده بالذات .
بارك الله فيك.






وضاء is offline   قديم 23-04-2009, 02:54 AM
الرد مع إقتباس
عضو نشيط
#15  

شكرا لك موضوع هايل






vBman is offline   قديم 23-04-2009, 01:16 PM
الرد مع إقتباس
عضو نشيط جدا
#16  

elalbab ، مهندس مصرى ، وضاء ، vBman مرحبا بكم اخواني، جزاكم الله خيرا على القراءة و المتابعة.


وضاء: سوف يتم الاعداد لها من الحال لتنزل في اقرب وقت باذن الله.






__________________
محمد حمود.
mr_m is offline   قديم 24-04-2009, 01:14 AM
الرد مع إقتباس
عضو نشيط
#17  

ما البديل لاخفاء الخطأ

إقتباس:
22- استخدام @ قبل الدالة بغرض إخفاء الخطأ الناتج عنها يبطئ عملها كثيرا.






__________________
ابصم
قمر الشعراء is offline   قديم 28-04-2009, 11:12 PM
الرد مع إقتباس
عضو سوبر نشيط
#18  

جزاك الله خير

ونحن بانتظار بقية المقالات المفيدة

تقبل تحياتي






__________________
اللهم أعز الاسلام و المسلمين
ALaa462 is offline   قديم 02-05-2009, 07:21 PM
الرد مع إقتباس
عضو نشيط جدا
#19  

ما شاء الله

في موضوعك المعلومة ليست المهم.. المهم انك نشرتها

ربنا يحميك






__________________
Ahmed Hassan

Web.Serve
Alcomputergy.Com is offline   قديم 11-05-2009, 04:44 AM
الرد مع إقتباس
عضو سوبر نشيط
#20  

حصر جميل لمعلومات قيمة ، المبرمج المتمكن يسعى دائماً الى تحسين آداء برمجياته ، الشكر الجزيل لشخصكم الكريم ..






__________________
مدونة؟
dev11 is offline   قديم 15-05-2009, 05:23 PM
الرد مع إقتباس
عضو فعال
#21  

ما شاء الله

موضوع جميييييل وفيه معلومات حلوة كثير

لكن عندي تعقيب بسيط على النقطة 25 .. استغربت الحقيقة من كون ال foreach اسرع من ال for

لأن حسب معلوماتي فان foreach قبل العمل على اي مصفوفة تقوم الاول باخذ محتويات المصفوفة كلها ووضعها في مصفوفة اخرى تقوم هي بانشائها .. بينما for تعمل مباشرة على المصفوفة وتغيير محتوياتها ..

ولهذا لو كان عندك مثل هذا الكود :
كود PHP:
$arr = array('a','b','c','d');
$n count($n);

for(
$i=0;$i<$n;$i++){
echo 
$arr[$i];
}

foreach(
$arr AS $value){
echo 
$value;

فان for ستكون اسرع .. كما اعتقد


وكذلك احب ان اضيف نقطة في السطر التالي :
كود PHP:
// يتم وضع قيمة الفنكشن في المتغير
$n count($arr);
// تتم المقارنة بين متغير ومتغير
for($i=0$i<$n$i++)


//هنا تتم المقارنة بين متغير وفنكشن ويتم تنفيذ الفنكشن مع كل دورة من اللووب
// ولهذا فهي ابطأ
for($i=0$i<count($arr); $i++) 

وأحييك على الموضوع الرائع ..






__________________
Ahmed Ehab
أستاذ سوفت !
facebook me - tweet me
Egyptechno is offline   قديم 26-05-2009, 05:02 PM
الرد مع إقتباس
عضو نشيط جدا
#22  

ربنا يبارك فيكم جميعا..


@قمر الشعراء : هناك مبرمجين يكثروا من استعمالها في مواضع لا تحتاج فيها لاخفاء الاخطاء
لذلك وجب التنبيه لاستخدامها في محلها لكن بدون اسراف.


@Egyptechno:

- بخصوص النقطة الاولى كانت لدي وجهة نظر شبيهة بتعليقكم الى ان قطعت الشك باليقين و اجريت عدة اختبارات

هذا اختبار مشابه للكود الي تفضلت بوضعه

كود PHP:
set_time_limit(0);

$arr range('a','z');
$n count($arr);

$start1 microtime(true);

for(
$v=0;$v<100000;$v++){
    for(
$i=0;$i<$n;$i++){
        
$m $arr[$i];
    }
}

$start2 microtime(true);

for(
$v=0;$v<100000;$v++){
    foreach(
$arr as $value){
        
$m $value;
    }
}
$end microtime(true);

echo 
'time1: '.($start2-$start1);
echo 
'<br />';
echo 
'time2: '.($end-$start2); 
النتيجة على جهازي الشخصي

كود:
time1: 0.802357196808
time2: 0.482234954834
- بخصوص اضافتك فهي فعلا في محلها وكان يجب تعليل السبب من البداية.
جزاك الله خيرا






__________________
محمد حمود.
mr_m is offline   قديم 27-05-2009, 01:14 AM
الرد مع إقتباس
عضو فعال
#23  

كلامك صحيح

قمت بالتجربة على جهازي ايضا
كود:
time1: 0.93074798584
time2: 0.481743812561
وعند التحديث اكثر من مرة كان time1 يتفاوت بين 0.9 و 1.3 بسرعة .. بينما ظل time2 ثابت اغلب الوقت ..

بعد البحث السريع ، يبدو ان هناك اكثر من تعديل تم على foreach في PHP5 بحيث قام بتحسين اداءها بشكل كبير .. ومنها دعم ال references واعتقد ان هذا سبب السرعة .. انها اصبحت تعتمد على ال references او ال pointers في التعامل مع المتغيرات في المصفوفة ..

على اي حال .. شكرا لك






__________________
Ahmed Ehab
أستاذ سوفت !
facebook me - tweet me
Egyptechno is offline   قديم 27-05-2009, 05:35 PM
الرد مع إقتباس
عضو سوبر نشيط
#24  

موضوع رائع بورك فيك عزيزي






__________________
اللهم اغفر لي الذنوب التي تهتك العصم
اللهم اغفر لي الذنوب التي تنزل النقم
اللهم اغفر لي الذنوب التي تغير النعم
اللهم اغفر لي الذنوب التي تحبس الدعاء
اللهم اغفر لي الذنوب التي تنزل البلاء .
الأزهر is offline   قديم 27-05-2009, 08:34 PM
الرد مع إقتباس
الرد على الموضوع



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

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

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
محتاجه لأكواد فيجوال حركتات الأخبار المتعلقة بالإنترنت والتقنية 11 09-06-2007 02:44 PM
شكل جديد لأكواد php code html و qoute planetbh.com الإصلاح والصيانة 6 13-08-2006 05:56 AM
عمل رائع جدا لأكواد نت roh-alrehan عروض البيع وطلبات الشراء في البرمجة والتصميم وبناء المحتوى وتبادل الاعلانات 3 26-01-2006 03:45 PM
احتاج حل لأكواد الصندوق السحري 3 أشياء بس الغريم الإصلاح والصيانة 11 02-11-2004 12:42 AM
نصيحة نصيحة نصيحة بالثلاث لأصحاب السيرفرات kalifa سوالف الاستضافة 126 07-10-2002 06:16 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 08:14 PM.