التغطية المصورة ليوم سوالف: الجزء الأول، الجزء الأخير
الفائزون في المسابقة الأصغر لسوالف كاست

 

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

رد  
 
LinkBack أدوات الموضوع
مشرف قسم PHP
تاريخ التسجيل: May 2007-
#1 (permalink)  
PHP6 ، نظرة نحو المستقبل ..!


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

الحمدلله ، والصلاة والسلام على خير عباد الله ، محمد بن عبدالله ، وعلى آله وصحبه ومن والاه ، وبعد ؛

سنتحدث اليوم عن الإضافات التي يدرسها ويعمل عليها فريق PHP لتوفيرها في إصدار PHP الجديد ، PHP6 ..

هناك الكثير جداً من الإضافات والتخصيصات والتعديلات .. سنبدأ بذكرها واحدة تلو الأخرى ، وسأعمل جاهداً بإذن الله تعالى على تخصيص هذا الموضوع من حيث الردود بتزويده بأحدث المعلومات التي أصل إليها حول تلك الإضافات والتعديلات ..

ملاحظة: أتمنى أن يعلم الجميع الهدف من هذا الموضوع، فالهدف هو تمهيد برمجتنا نحو برمجة متناسبة مع الإصدارات الجديدة ، إذا توافقت برمجتنا من الآن مع PHP6 ، عندها لن نقلق من تعطّل سكربتاتنا في الإصدار الجديد. وكذلك كنظرة مستقبلية متفائلة نحو التطويرات القادمة ..

نبدأ بسم الله الرحمن الرحيم ..

وداعاً Register Globals

كلنا نعلم مدى اعتماد الأحافير البي إتش باوية على خاصية Register Globals = On ، والتي يعود أصلها إلى PHP3 .. وكذلك نعلم مدى خطورة تفعيل خاصية Register Globals ..

Register Globals هي الخاصية التي تعمل على تسجيل المصفوفات الرئيسية :
كود:
$_GET
$_POST
$_FILES
$_COOKIE
$_REQUEST
$_SERVER
$_ENV
$_SESSION
حيث تستطيع الوصول إليها وكأنها متغيرات عادية ، أي كأنك قمت بتنفيذ الأمر extract على كل منها ..

هذه الخاصية تم إلغاؤها في PHP6 ، حيث أنك لن تجدها حتى في خيارات PHP في ملف php.ini ولن تستطيع تفعيلها ..

والسبب هو الخطر الكبير الذي تؤدي إليه ، المصدر - المانيوال :
اقتباس:
This feature has been DEPRECATED and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
وداعاً للمتغيرات الكبيرة الطويلة HTTP_*_VARS

في PHP6 سوف لن تستطيع عزيزي المبرمج الوصول إلى المتغيرات الكبرى التي تحمل الأسماء HTTP_*_VARS ، عليك باستخدام الصيغ التي تم اعتمادها منذ زمن ، مثل COOKIE_$ و SESSION_$ و POST_$ و GET_$ ، القسم السابق يوضّح بعض المعلومات حول هذا الموضوع ..

وداعاً Magic Quotes

أيضاً نقطة لصالحنا ، خاصية Magic Quotes ستودعنا في PHP6 ، وهي الخاصية التي تعمل على تجاهل النصوص المرسلة في PHP .. أي أن عملها مطابق لدالة addslashes إلا أنها تعمل بشكل تلقائي على النصوص المرسلة عبر النماذج . وهذا قد يسبب الكثير من المشاكل للمبرمجين .

هذه الخاصية لن تجدها في ملف php.ini أيضاً ، ولن تتمكن من تفعيلها في PHP6 .. كذلك استناداً للمانيوال ( PHP: Magic Quotes - Manual ) :
اقتباس:
This feature has been DEPRECATED and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
هذا سيؤثر في الخيارات : magic_quotes ، magic_quotes_sybase ، و magic_quotes_gpc .

وداعاً للوضع الآمن Safe Mode

هاا ؟! السيف مود سيختفي أيضاً ؟؟؟

نعم سيختفي من PHP6 طبقاً لما ورد في المانيوال :
اقتباس:
Safe Mode was removed in PHP 6.0.0.
لن يعد بإمكانك تشغيل الوضع الآمن في سيرفرك عند استخدامك للإصدار PHP6 .. ولن تجد الخيار أيضاً في php.ini ..

يا للمصيبة ! لغة PHP بدأت بالتدهور أمنياً .. !!

هذا ما قد تظنه للوهلة الاولى ، لكن مطوري لغة PHP يعلمون تماماً ما يفعلون ، فقد أوضحوا أن safe_mode لم يكن يعمل بالشكل المرغوب للحماية الكاملة ، فهو أصلح للمبتدئين لحماية سيرفراتهم .. أما الآن ، فلا داعٍ له ، يمكن للجميع استخدام open_basedir للحد من المجلدات التي يصل لها مبرمج السكربت .. وكذلك منع الدوال التي يرغب بمنعها .. لا تزال الحرية متاحة كالسابق في المنع والحماية .

وداعاً مكتبة Freetype 1 و GD 1

لا داعي للكلام الكثير هنا ، مكتبة Freetype 1 و GD 1 ، مكتبتان قديمتان جداً جداً وسيتم استئصالها من نسخة PHP ..

دالة ifsetor

دالة ifsetor الجديدة تفيد المبرمجين في تحديد قيم افتراضية للمتغيرات ، في السابق كنا نستخدم:
كود PHP:
$var = (isset($var) ? $var 'default'); 
في نقاش PHP6 ، تم اقتراح دالة ifsetor التي ستريحنا في طريقة الكتابة ، فالكود السابق سيصبح:
كود PHP:
$var ifsetor($var'default'); 
ومعناه : إذا لم يكن المتغير var$ يحمل قيمة ، اجعل قيمته default .

من الجدير بالذكر ، أن الاجتماع أفضى إلى عدم اعتماد هذه الخاصية ، على أغلب الأحوال لن ترى ifsetor في PHP6 ..

إذاً ، لماذا خصصت لها قسم من الموضوع ؟

اعتمد مطورو PHP أسلوب آخر لهذه العملية ،
كود PHP:
$var = (isset($var) ? $var 'default'); 
في هذه الصيغة ، تم إسقاط " ضرورية " الباراميتر الأوسط ، فليس من المهم بعد اليوم أن تضع النتيجة في المنتصف، وذلك عن طريق معامل ?: ..

هذه الصيغة تتيح مجالاً أكبر من العمليات ، دون محدودية التحكم في ifsetor ..

المثال بعد التطوير:
كود PHP:
$var = (isset($var) ?: 'default'); 
عندما يكون المنتصف فارغاً ، لن يحدث شيئاً إذا كان المتغير يحمل قيمة في الأصل ..

ربما نرى كمبرمجين أن صيغة ifsetor أسهل ، لكن الطريقة هذه معتمدة من قبل وأوسع وأشمل ..

إذا كنت ترغب باعتماد ifsetor خاصتك ، يمكنك صنع دالتك الخاصة:
كود PHP:
function ifsetor(&$var$or) {
    return (isset(
$var) ? $var $or);

Goto وإضافتها إلى اللغة

كثيراً ما يحتاج مبرمجو لغات الويب أو الديكستوب إلى القفز إلى سطر معين في برنامجهم ، وفي ظل هذه الاحتياجات ، توفرت هذه الكلمات المحجوزة في بعض لغات البرمجة، فمثلاً :
كود:
print 'hello';
goto myLine;
print 'welcome';
 
myLine:
print 'This is my line';
عندما يصل معالج اللغة إلى goto سينتقل إلى السطر المحدد وهو هنا myLine مباشرة دون تنفيذ الكود الذي يتخللهما ..

هذه الصيغة لن تكون مدعومة في PHP6 ، نظراً لارتباطها بأمور سيئة مع لغات برمجة أخرى !

وحيث أن عملها مختلف في هذه اللغة الواسعة ، تم توسيع كلمة break لتتمكن من الانتقال إلى أسطر معينة كذلك ... وهنا مثال لاستخدام break الموسعة في PHP6 :
كود PHP:
<?php
for ($i 0$i 9$i++)
{
        if (
true) {
                break 
blah;
        }
        echo 
"not shown";
blah:
        echo 
"iteration $i\n";
}
?>
قد تكون هذه الخاصية مفيدة للمبرمجين إلا أني أرى أنها تحدث " حالة فوضى " في الكود البرمجي ، فقد تعودنا على الكود دونها ، فلا أرى لزوم استخدامها في سكربتاتنا .. من يدري ، قد أكون أول من يحتاجها ..

foreach الآن تتعامل مع المصفوفات متعددة الأبعاد

في السابق كنا نقوم بالآتي:
كود PHP:
$array = array(array('a''b'), array('c''d'));
foreach (
$array as $val) {
    list (
$val1$val2) = $val;

وبذلك نحصل على قيم المصفوفتين الداخليتين ، هذه المصفوفة ذات الأبعاد المتعددة ، سيمكنك التعامل معها بطرق أبسط وأسهل في PHP6 .

ما رأيك بهذا:
كود PHP:
$array = array(array('a''b'), array('c''d'));
foreach (
$array as list($val1$val2)) {
 

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

وداعاً {} ، و [] تتقدم !

أنعم النظر في المثال الآتي:
كود PHP:
$str 'abcd';
echo 
$str{1}; 
الكود السابق سيطبع b ، لأن {} هي محددات تحدد المفتاح Index في المتغير النصي للتعامل معه .

نستخدم [] لنفس الغرض كذلك ،
كود PHP:
echo $str[1]; 
فريق PHP قام بتجاهل {} في PHP5.1.0 وسيتم إزالة هذه المحددات بشكل كامل من PHP6 . عندها ، لن تستطيع التعامل معها أبداً .

في الوقت ذاته ، يطوّر فريق PHP المحددات [] لتعمل بشكل رهيب ، الخطوة هذه غير مسبوقة وستسهّل علينا الكثير الكثير ، وأنا أعني ما أقول .

الآن هذا المحدد سيعمل عمل دالتي array_slice, substr ، هذا يعني أنه يمكنك تناول جزءاً من متغير نصي أو مصفوفة دون التطرق إلى الدوال السابقة .. كيف ؟
كود PHP:
$str 'this is my text';
echo 
$str[2,]; 
هذا سيأخذ من الحرف ( أو عنصر المصفوفة ) الثاني إلى النهاية ..

يمكن التحديد برقمين 1,2 مثلاً ، يمكن كذلك وضع أرقام سالبة ، ستعمل تماماً كعمل array_slice إن كانت مصفوفة ، و substr إن كان نصاً ، وإن لم تحدد نقطة البداية ، سيبدأ من 0 .

بهذه الشروط ، سيسلك المتغير النصي بالشكل التالي مسلكاً جديداً :
كود PHP:
$str 'tex';
$str[] = 't'
عندها سيحوي المتغير القيمة text ، هذا يعني أن [] ستعمل كعمل المعامل .= على النصوص .. عملها أصبح شبيهاً بعملها مع المصفوفات ..

تعديل سلوك Microtime الافتراضي

إذا كنت من مستخدمي دالة microtime في لغة PHP على المدى السابق ، ستدرك فوراً الفرق بين microtime في الإصدارات السابقة وهذا الإصدار .

منذ أ، وجدت دالة microtime كانت تعيد نتيجة نصية String تحوي أجزاء الثانية متبوعة بمسافة ، ثم الوقت بنسق Unix Timestamp ، مثال:
كود:
0.75000200 1211460710
كنا في السابق للحصول على الوقت الحالي بالثواني وأجزائها ، نقول بتجزئة النتيجة ونجمعها ..
كود PHP:
$micro explode(' 'microtime());
$microtime $micro[0] + $micro[1]; 
لكن ، في PHP5 ، تمت إضافة باراميتر جديدة لهذه الدالة ، والباراميتر الوحيد لها .. حيث أنه إذا أخذ القيمة true سيعيد الناتج على شكل Float ( بالشكل الذي حصلنا عليه في المثال الأخير ) ..

فالمثال التالي في PHP5 مشابه للمثال السابق :
كود PHP:
$microtime microtime(true); 
أما في PHP6 ، ففريق PHP قام بجعل القيمة الافتراضية لهذا الباراميتر هي true ، أي أن :
كود:
microtime() = microtime(true)
هذا في PHP6 ، طبعاً السابق ليس كود PHP ، فقط توضيح ..

( طيب واللي استخدم طريقة explode وجمع الجزئين ؟!!! يعني كل السكربتات اللي تستخدمه رح تخرب ؟!!! )

دعونا ننفذ الكود نفسه في PHP6 :
كود PHP:
$micro explode(' 'microtime());
$microtime $micro[0] + $micro[1]; 
السطر الأول سيعيد لنا مصفوفة تحتوي عنصراً واحداً ، حيث أن النتيجة ستكون مثلاً :
كود:
1211460710.75
وهي لا تحوي أي مسافة كي يتم التقسيم من عندها .. إذاً العنصر 0 سيتم جمعه مع العنصر 1 ، العنصر 1 غير موجود ، فالنتيجة هي العنصر 0 ..

لكن عند الجمع مع العنصر 1 ستظهر رسالة خطأ من نوع Notice ، لأن العنصر الثاني غير موجود ..

هذه الرسالة لن تؤثر في عمل السكربت ، عموماً يجب علينا تغيير طريقتنا في التعامل مع هذه الدالة من الآن بتفعيل الباراميتر بالقيمة true حتى تعمل بكفاء في PHP5 و PHP6 .. ووداعاً PHP4 ..

وداعاً <%

من منا لم يستخدم <% في سكربتاتنا ؟ << كلنا ..!

كلنا درسنا في بداية مسيرتنا البرمجية أن <% و %> تعملان عمل <?php و ?> .. هذا إن كانت مفعلة في خيارات php.ini ..

لكني شخصياً لم أحتجها يوماً من الأيام ، هذه الصيغة تم إسقاطها من لغة PHP .. مع الاحتفاظ بـ <? وبقية الوسوم ..

النتيجة: صيغة وسوم ASP لم تعد متاحة لكتابة سكربتات PHP ..

إضافة APC إلى النسخة الرسمية

حسب رغبات مستخدمي لغة PHP ، قام فريق PHP بتضمين نظام الكاش المعروف APC في ملفات النسخة الرسمية من الإصدار الجديد PHP6 . هذه المكتبة ستكون معطلة افتراضياً ، لكنها ستتوافر ضمنياً .

قارئ/كاتب XML في النسخة الرسمية

وتدخل مكتبة XMLReader و XMLWriter في توزيعة PHP الجديدة رسمياً ، وستكون مفعلة في الوضع الافتراضي في PHP6 .

ستسهّل هاتان المكتبتان الكثير من التعاملات مع ملفات XML من كتابة وقراءة ..

Ereg ستخرج إلى PECL

قام فريق PHP بتحويل ereg إلى امتداد Extension ، وبوجود مكتبة PCRE والتي سوف لن تكون قابلة للتعطيل ، يمكن الاستغناء عن امتداد ereg ونقله إلى مكتبة PECL للامتدادات ..

عليك عزيزي المبرمج الانتقال فوراً للبرمجة باستخدام مكتبة PCRE بدوال preg .. فهي التي نثق بوجودها مستقبلاً في إصدارات PHP .

ويتّضح أن هناك امتداد جديد للتعامل مع التعابير القياسية ، غير PCRE و ereg ، بالاعتماد على ICU .. لكني لا أعلم عنه شيئاً حتى الآن .

الخاتمة Conclusion

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

لم أذكر التغييرات في OO مع أنها ليست بالقليلة ، ولم أتطرق للـ Unicode ولا Namespace لأن الأخ عبدالله عيد تحدّث عنها في إحدى المواضيع ، فلم أرغب بتكرارها ..

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

الموضوع سيتجدد كلما توفر الوقت بإذن الله تعالى .. وسيبقى مفتوحاً للحديث والنقاش ..

أطيب التحيات، أشرف السمهوري






__________________
[هل] سيتحقق الحلم؟
هذا ما ستخبرنا به الأيام :) ..

التعديل الأخير تم بواسطة : أشرف السمهوري بتاريخ 24-05-2008 الساعة 09:58 AM.
أشرف السمهوري متواجد حالياً   قديم 23-05-2008, 11:07 PM
رد مع اقتباس
مشرف سوالف عامة و خبير في التسوق من الانترنت
تاريخ التسجيل: Oct 2003-
#2 (permalink)  

والله شغل عدل الله يعطيك العافيه خيوو السمهوري






__________________
سبحان الله وبحمده

Yesterday was hell
But Today I'm fine without you
Runaway this time without you

مواقعي.. ^^
Q8iEnG :: Lazqa :: ClickClick support C++ Language :: Mr.Bean's World
شاعر_الظلام متواجد حالياً   قديم 23-05-2008, 11:13 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#3 (permalink)  

وداعاً Register Globals

حسب علمي المتواضع فاستخدام هذه الدوال شائع جدا
ماهو البديل وهل سيكون سهل الاستخدام ؟؟

وداعاً للمتغيرات الكبيرة الطويلة HTTP_*_VARS
ماذا تقصد بالصيغ التي تم اعتمادها منذ زمن ؟؟

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

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






__________________
100 صقر !!
يومياتي في تعلم php ..
أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
.
.
سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .
SaharRose غير متواجد حالياً   قديم 24-05-2008, 12:14 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2007-
#4 (permalink)  

الله يجزاك خير اخوي على هالموضوع المرتب الرائع .






__________________
موقع مبرّمج - zawyte
لا إله إلا الله ,,, محمد رسول الله ,,, أستغفر الله , احفظ الله يحفظك .
www.tdwenty.com Domain Is 4 Sale | fahad1ad2 @ hotmail.com
ff5006 غير متواجد حالياً   قديم 24-05-2008, 12:19 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2007-
#5 (permalink)  

مشاء الله

موضوع اكثر من رائع يا اشرف

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






__________________
شركة بروجرم فورمي لخدمات الويب

www.prog4me.com

Linux@prog4me.com
Tech@prog4me.com
Prog4Me.Com غير متواجد حالياً   قديم 24-05-2008, 01:11 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#6 (permalink)  

مشكور على الموضوع ، صراحة يوجد مصادر قليل بالعربي تتكلم عن PHP6
اعتقد ان موضوعك كان اشملها والجميع يشكرون ..
مع المحبة






__________________
سبحان الله وبحمده سبحان الله العظيم
الفايق غير متواجد حالياً   قديم 24-05-2008, 01:44 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2008-
#7 (permalink)  

يعطيك العافية . والله شكل هل الأصدار راح ينهي asp.net






IrIsH غير متواجد حالياً   قديم 24-05-2008, 02:19 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2007-
#8 (permalink)  

موضوع رائع شكراً لك أخي أشرف






__________________
ahmed sliman .. Web Programmer
ahmeds _ link @ hotmail . com
ahmeds_link غير متواجد حالياً   قديم 24-05-2008, 08:47 AM
رد مع اقتباس
مشرف قسم PHP
تاريخ التسجيل: May 2007-
#9 (permalink)  

شاعر_الظلام ، ff5006 ، Prog4Me.Com ، الفايق ، IrIsH ، ahmeds_link : شكراً لمروركم وتواجدكم في الموضوع .. جزيتم خيراً لكلماتكم الطيبة والتي لا يسعني أن أرد عليها واحدة واحدة :$ ..

SaharRose :

اقتباس:
وداعاً Register Globals

حسب علمي المتواضع فاستخدام هذه الدوال شائع جدا
ماهو البديل وهل سيكون سهل الاستخدام ؟؟
أولاً ، مجموعة المصفوفات التي كتبتها في الموضوع هي متغيرات كبرى Global Variables ، أو Global Arrays ، ولا تعتبر من الدوال ، لأنها ببساطة ليست بتركيب الدوال Functions .

ثم أن استخدام القائمة في الموضوع ، وهي:
كود:
$_GET
$_POST
$_FILES
$_COOKIE
$_REQUEST
$_SERVER
$_ENV
$_SESSION
فعلاً شائع جداً ، وهذه المتغيرات والمصفوفات ستبقى في النسخة الجديدة ، ومن الاستحالة الاستغناء عنها ..

في النسخ القديمة ، وحتى PHP5 ، هناك خيار يدعى register_globals في ملف php.ini ، عند تفعيله ، سيتمكن المبرمج من الوصول إلى عناصر هذه المصفوفات دون ذكر اسم المصفوفة ، فمثلاً:
كود PHP:
$_POST['username'
سنتمكن من الوصول إليها بهذه الطريقة:
كود PHP:
$username 
أي وكأنا قمنا بعمل extract على جميع تلك المصفوفات ، هذه الخاصية لها سلبيات كثيرة جداً ، وقد تم تعطيلها افتراضياً في نسخ سابقة ، لكن في PHP6 سيتم إلغاء الخاصية كلها ، وتعتبر هذه إحدى نقاط الأمان التي ستؤكد عليها PHP6 ..

للمزيد حول Register Globals: PHP: Using Register Globals - Manual
للمزيد حول مشاكلها: ط§ظ„ظ…ط´ط±ظˆط¹ - طھط·ظˆظٹط± ط§ظ„ظ…ظˆط§ظ‚ط¹ » ط§ظ„ط¨ط±ظ…ط¬ط© ط§ظ„ط¢ظ…ظ†ط© ظپظٹ ظ„ط؛ط© Declare Variables … PHP

استخدام المصفوفات المذكورة سيبقى كما هو وهي بالتأكيد شائعة جداً ، أتمنى أن تكون الفكرة قد وصلت .. فالذي سيختفي هو خيار Register Globals ، وليست المصفوفات في الأعلى ..

اقتباس:
وداعاً للمتغيرات الكبيرة الطويلة HTTP_*_VARS
ماذا تقصد بالصيغ التي تم اعتمادها منذ زمن ؟؟
أيضاً كنا نستطيع الوصول إلى نفس المتغيرات بهذه الطريقة:
كود PHP:
$HTTP_POST_VARS['username'
ثم تم اعتماد طريقة :
كود PHP:
$_POST['username'
وستختفي الطريقة الأولى ، هذا يعني أنه علينا استخدام $_ بدلاً من HTTP_*_VARS$ .. يعني نتيجة هاتان النقطتان هي أنه علينا دائماً استخدام المصفوفات التي ذكرتها في الموضوع وفي ردي هنا ، وعدم التطرق إلى التعامل مع Register Globals أو المصفوفات القديمة التي ستختفي HTTP_*_VARS$ ..

أتمنى أن تكون قد اتضحت الفكرة ..

تحياتي، أشرف السمهوري






__________________
[هل] سيتحقق الحلم؟
هذا ما ستخبرنا به الأيام :) ..
أشرف السمهوري متواجد حالياً   قديم 24-05-2008, 09:57 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jun 2001-
#10 (permalink)  

شكراً لك علىة المعلومات القيمة ، إن شاء الله يكون موضوعك دليل للإنتقال إلى php6.

بالنسبة إلى Register Globals هل أفهم من كلامك أن مجموعة المتغيرات التي ذكرتها مثل:
كود PHP:
$_GET[]
$_POST[] 
وغيرها ستحد مكان المتغير الرئيسي لـ Register Globals ؟ مع أني تركت التعامل معها منذ فترة لسماعي بهذا الخبر ..






__________________
ماذا فعلت لنصرة الحبيب؟ ماذا فعلت لنصرة نبيك صلى الله عليه وسلم ؟
مدونة مبدع
ahmed100 غير متواجد حالياً   قديم 24-05-2008, 11:49 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2007-
#11 (permalink)  

لي عوده يااشرف عشان اكمل قراءه الموضوع واتمنى منك المزيد من هذه المواضيع






__________________
انتظروا المفاجاه (سكربت ......... الاول من نوعه )
-----
شركه ارت نت
برمجه
(العاب - مواقع - ويندوز ابلكيشين )
( اداره للمواقع - حمايه للسيرفيرات)
(كشف ثغرات المواقع والسكربتات )
artint.net غير متواجد حالياً   قديم 24-05-2008, 12:09 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jan 2008-
#12 (permalink)  

شغل قوي يا ابو الشوش

PHP6 راح تقضي على ASP.NET قضاء القط على الفأر !!

لكن لدي استفسار بسيط

هل PHP6 مطروحة للتحميل ؟!!

انا دوريا اراجع الموقع ولم اجد الا الاصدار
PHP 5.2.6


فكيف تطبق برامجك عليها !!!






__________________
قريبا PHPBoys.net مرتع مبرمجين PHP
تم الانتهاء من برمجة وكالة حياة برس للانباء
ala_shorbaji@hotmail.com
النحات متواجد حالياً   قديم 24-05-2008, 12:11 PM
رد مع اقتباس
مشرف قسم PHP
تاريخ التسجيل: May 2007-
#13 (permalink)  

ahmed100 :

المتغيرات التي تحمل المصفوفات الكبرى Global Arrays ستصبح الطريقة الوحيدة للوصول إلى المتغيرات الخارجية، كما قلت في ردي السابق ، لن تتمكن من الوصول إلى عنصر خارجي مرسل من فورم مثلاً بهذه الطريقة : username$ ، لأن هذه الطريقة لا تفعّل إلا بـ Register Globals ،

حتى تصل الفكرة للجميع ، في السابق إذا أرسلنا عن طريق نموذج HTML أو Form حقل باسم username وبطريقة POST ، كنا نستخدمه في ملف PHP بالطرق التالية:
كود PHP:
$username // إذا كانت register_globals = on
$HTTP_POST_VARS['username']
$_POST['username'
في PHP6 ، لن تستطيع استخدام الطريقة الأولى ولا الثانية ، الطريقة الأخيرة هي الوحيدة المتاحة للمبرمج ..

يمكن التحايل على السكربت وعمل extract لـ _POST ، هذا لمن يحب إعادة الثغرات لسكربته ..
كود PHP:
extract($_POST); 
عندها ستتمكن من الوصول إلى username$ بالطريقة القديمة .. وكأن register_globals = on بالرغم من اختفاء هذا الخيار من إعدادات PHP كلياً ..

artint.net : شكراً لمرورك عبدالرحمن ، وان شاء الله ترجع وتستفيد من الموضوع

النحات : هههه لا أريد الحديث مرة أخرى حول ASP.NET ، سأدعها لأصحابها ..

PHP6 لم تنته بعد ، وليست مطروحة للتحميل .. إذا كنت تريد مشاهدة الـ Source Code أو الحصول على نسخ أولية ومباشرة من إصدارات PHP ، شاهد هذه الصفحة:
PHP Snapshots

بمجرد صدور النسخة ستكون قابلة للتحميل للجميع إن شاء الله ، عندها ستشاهدها هنا :
PHP: Downloads

تحياتي، أشرف السمهوري






__________________
[هل] سيتحقق الحلم؟
هذا ما ستخبرنا به الأيام :) ..
أشرف السمهوري متواجد حالياً   قديم 24-05-2008, 12:36 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#14 (permalink)  

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

لي عودة بإذن الله تعالى .






__________________
100 صقر !!
يومياتي في تعلم php ..
أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
.
.
سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .
SaharRose غير متواجد حالياً   قديم 24-05-2008, 01:24 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#15 (permalink)  

هذه قائمة بماسيتم عمله في النسخة 6

أعتقد أن إزالة الـ Magic Quotes هي تغيير جذري في اللغة ، عموماً من الجيد أنني قمت بمعرفة هذه المعلومة الآن لأنني كنت أبرمج سابقاً بدون إستخدام الدالتين addslashes ، stripslashes ، أعتقد أنني الآن ملزم بذلك .

أشكرك أخي أشرف على جهدك في كتابة هذا الموضوع المتميز .







التعديل الأخير تم بواسطة : dev11 بتاريخ 24-05-2008 الساعة 08:24 PM.
dev11 متواجد حالياً   قديم 24-05-2008, 08:22 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#16 (permalink)  

اخي الكريم اشرف ...

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

أسأل الله عز وجل لك التوفيق والسداد .






__________________
::::::::::::::::::: لمراسلتي :::::::::::::::::::
:::::::::::: abdvvv (at) gmail.com ::::::::::::

بطاقات إسلامية
الحارث متواجد حالياً   قديم 24-05-2008, 08:31 PM
رد مع اقتباس
مشرف قسم PHP
تاريخ التسجيل: May 2007-
#17 (permalink)  

SaharRose : وإياك ، بانتظار عودتك ..

dev11 : العفو ، شكراً لإضافتك ، وجيد أنك انتبهت لهذا التغيير قبل فوات الأوان ..

الحارث : العفو ، هذا أقل ما يمكن بذله في سبيل تطوير أنفسنا ومبرمجينا العرب ..

تحياتي، أشرف السمهوري






__________________
[هل] سيتحقق الحلم؟
هذا ما ستخبرنا به الأيام :) ..
أشرف السمهوري متواجد حالياً   قديم 25-05-2008, 12:03 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#18 (permalink)  

معلومات قيمة

شكرا على الكتابة






__________________
omansecurity.com
Email: OmanSecurity AT gmail DOT com
OmanSecurity متواجد حالياً   قديم 25-05-2008, 02:55 PM
رد مع اقتباس
مشرف قسم PHP
تاريخ التسجيل: May 2007-
#19 (permalink)  

العفو ، أخي OmanSecurity ، لا أنسى ما قدّمته لي ..

تحياتي، أشرف السمهوري






__________________
[هل] سيتحقق الحلم؟
هذا ما ستخبرنا به الأيام :) ..
أشرف السمهوري متواجد حالياً   قديم 25-05-2008, 05:06 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Feb 2008-
#20 (permalink)  

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

شكرا لك اخى الكريم لتوضيحك لنا الاضافات فى الاصدار الجديد من php






tech غير متواجد حالياً   قديم 26-05-2008, 05:45 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#21 (permalink)  

السلام عليكم

جزاك الله كل خير يا اشرف ، دائما كما عودتنا فى مواضيعك






__________________


Mohamed Mahmoud

Mobile : +20103452846

Blog : Hawy PHP

Mail : Hawy [.] PHP [@] Gmail.com

حسبي الله ونعم الوكيل

Hawy PHP غير متواجد حالياً   قديم 26-05-2008, 01:19 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2007-
#22 (permalink)  

امتى بقى هانشتغل على الشغل العالي دا خصوصا بتاعه الاراي جامده جدا






__________________
انتظروا المفاجاه (سكربت ......... الاول من نوعه )
-----
شركه ارت نت
برمجه
(العاب - مواقع - ويندوز ابلكيشين )
( اداره للمواقع - حمايه للسيرفيرات)
(كشف ثغرات المواقع والسكربتات )
artint.net غير متواجد حالياً   قديم 28-05-2008, 11:37 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Mar 2000-
#23 (permalink)  

شكرا جزيلا اخي الحبيب على معلوماتك القيمة والله يجزاك الف خير يا سمهوري






__________________
برمجة PHP & ASP.NET2 بأحترافية - تصميم بأبداع - أستضافة بتميز
للمراسلة : http://kassab.arabform.com/
العضوية يسمتخدمها شخصان
kassab غير متواجد حالياً   قديم 30-05-2008, 04:31 AM
رد مع اقتباس
مشرف قسم PHP
تاريخ التسجيل: May 2007-
#24 (permalink)  

tech ، Hawy PHP ، artint.net ، kassab: شكراً لمروركم وتواجدكم في الموضوع ..

تحياتي، أشرف السمهوري






__________________
[هل] سيتحقق الحلم؟
هذا ما ستخبرنا به الأيام :) ..
أشرف السمهوري متواجد حالياً   قديم 30-05-2008, 11:20 AM