mysql_ شرح مفيد يغير القديم لحديث القديم لحديث mysqli

لا يوجد أمر واحد أو أداة سحرية يمكنها تحويل سكربت PHP قديم بالكامل إلى الإصدار الأحدث من PHP تلقائيًا، خاصةً عندما يتعلق الأمر بتغيير دوال قديمة مثل mysql_* إلى mysqli_* أو PDO. لكن، هناك بعض الأدوات والممارسات التي يمكن أن تساعد في عملية التحديث بشكل فعال، لكنها تحتاج إلى بعض التدخل اليدوي لتكون شاملة ودقيقة
 
 1. استخدام أداة phpcompatibility
 أداة PHP Compatibility Checker هي أداة رائعة تساعدك على فحص السكربتات القديمة والكود البرمجي الذي قد لا يتوافق مع الإصدارات الحديثة من PHP (مثل PHP 7.x و PHP 8.x). هذه الأداة تقوم بفحص السكربتات وإعطائك تقريرًا عن ما إذا كانت تحتوي على دوال قديمة أو أكواد غير متوافقة
 كيفية استخدام PHP Compatibility Checker:
 أولًا، ستحتاج إلى تثبيت الأداة عبر Composer:
 bash
 نسخ
 composer require --dev phpcompatibility/php-compatibility
 بعد التثبيت، يمكنك استخدام أداة phpcs لفحص السكربتات:
 bash
 نسخ
 vendor/bin/phpcs --standard=PHPCompatibility --runtime-set testVersion 7.4 src/
 هذا الفحص سيتحقق من الكود في مجلد src/ ليتأكد من توافقه مع PHP 7.4، ويمكنك تغيير الرقم للإصدار المطلوب
 2. استخدام أدوات لتحويل mysql_* إلى mysqli_* أو PDO
 لا يوجد أداة رسمية أو شاملة لتحويل السكربتات بالكامل، ولكن بعض الأدوات توفر بعض المساعدة في تحويل دوال mysql_* إلى mysqli_* أو PDO:
 mysql2mysqli: أداة موجودة على الإنترنت يمكنها مساعدتك في تحويل دوال mysql_* إلى mysqli_*. لكنها ليست مثالية وقد تتطلب تعديلات يدوية بعد استخدام الأداة
 حزمة php-mysql-to-mysqli: هذه الحزمة تقوم بتحويل الدوال القديمة تلقائيًا إلى دوال mysqli_*. لكن، قد لا تكون مضمونة تمامًا في حالات معينة
 3. أدوات IDE لتحليل الكود:
 إذا كنت تستخدم IDE مثل PHPStorm أو Visual Studio Code، فيمكنك استخدامها لاكتشاف الأجزاء غير المتوافقة مع الإصدارات الحديثة من PHP. تحتوي هذه الأدوات على ميزات لتمكين التنبيه التلقائي عند استخدام دوال قديمة أو غير متوافقة
 4. أفضل الممارسات لتحديث السكربتات يدويًا:
 على الرغم من أنه لا يوجد أداة سحرية 100% لتحويل السكربتات تلقائيًا، إليك بعض النصائح لتحديث الكود يدويًا:
 استبدال mysql_* بـ mysqli_* أو PDO:
 استبدل mysql_connect() بـ mysqli_connect() أو PDO::__construct()
 استبدل mysql_query() بـ mysqli_query() أو PDO::query().
 استبدل mysql_fetch_assoc() بـ mysqli_fetch_assoc() أو PDOStatement::fetch()
 تحديث الدوال القديمة:
 راجع كل دالة أو تقنية قديمة مثل ereg(), split(), و session_register() واستبدلها بالدوال الحديثة
 قم بإجراء فحص شامل لقاعدة البيانات التي تستخدمها وتأكد من أن الكود يتعامل مع الجداول والعلاقات بطريقة صحيحة
 مراجعة إعدادات الإصدارات الحديثة:
 تأكد من أن السكربت يتعامل مع الميزات الجديدة مثل التحقق من أنواع البيانات، التعامل مع الأخطاء بشكل أفضل (استعمال try-catch مع PDO أو mysqli)
 استخدام النسخ الاحتياطية:
 قبل التعديل، تأكد من أنك قد أخذت نسخة احتياطية من السكربتات وقاعدة البيانات لتتمكن من استعادتها في حال حدوث أي خطأ
 5. فحص الكود باستخدام phpstan أو Psalm:
 أدوات مثل PHPStan و Psalm توفر فحصًا للثغرات البرمجية ومشكلات التوافق. يمكن استخدامها لفحص الكود بشكل أكثر دقة:
 PHPStan: أداة تحليل ثابت لفحص الكود البرمجي للبحث عن مشاكل في التوافق أو الأخطاء:
 نسخ
 composer require --dev phpstan/phpstan
 Psalm: أداة تحليل ثابتة أخرى تقدم فحصًا أعمق للكود:
 نسخ
 composer require --dev vimeo/psalm
 الخلاصة:
 لا يوجد أداة سحرية لتحويل الكود تلقائيًا بالكامل إلى الإصدار الأحدث من PHP
 استخدم أدوات فحص التوافق مثل phpcompatibility أو phpcs للكشف عن المشاكل
 أدوات IDE مثل PHPStorm و Visual Studio Code قد تساعدك أيضًا في الكشف عن المشاكل
 استبدال الدوال القديمة يدويًا مثل mysql_* إلى mysqli_* أو PDO، أمر ضروري في عملية التحديث
 1- سأشرح لك كل أداة بشكل مفصل حتى تتمكن من فهمها بشكل أفضل وكيفية استخدامها
 1. PHP Compatibility Checker (phpcompatibility)
 ما هي؟
 phpcompatibility هي أداة لفحص الكود البرمجي الخاص بك لمعرفة ما إذا كان يتوافق مع إصدار PHP معين. تعمل هذه الأداة عن طريق فحص الكود وتحليل ما إذا كان يحتوي على دوال أو ممارسات قديمة أو غير متوافقة مع الإصدار المحدد من PHP. على سبيل المثال، إذا كان الكود يستخدم دوال قديمة مثل mysql_* بدلاً من mysqli_* أو PDO، ستقوم الأداة بإظهار تحذيرات
 كيفية استخدامها:
 تثبيت عبر Composer: تحتاج أولاً إلى Composer لتثبيت الأداة. إذا لم يكن لديك Composer، يمكنك تحميله من الموقع الرسمي لـ Composer
 https://getcomposer.org/
 بعد ذلك، قم بتثبيت الأداة عبر Composer:
 نسخ
 composer require --dev phpcompatibility/php-compatibility
 تشغيل الأداة لفحص الكود: بعد التثبيت، يمكنك استخدام الأداة للتحقق من التوافق بين السكربت الخاص بك وإصدار PHP معين. على سبيل المثال، لفحص الكود في المجلد src/ باستخدام PHP 7.4:
 نسخ
 vendor/bin/phpcs --standard=PHPCompatibility --runtime-set testVersion 7.4 src/
 هذا الأمر سيفحص السكربتات في مجلد src/ ويخبرك إذا كان هناك أي دوال أو أكواد غير متوافقة مع PHP 7.4
 المزايا:
 يمكنها فحص الكود وتحديد المشاكل قبل الترقية إلى إصدار PHP أعلى
 سهلة الاستخدام وفعالة في فحص التوافق
 2. أداة mysql2mysqli (أداة لتحويل mysql_* إلى mysqli_*)
 ما هي؟
 mysql2mysqli هي أداة تساعد في تحويل أكواد PHP القديمة التي تستخدم دوال mysql_* إلى دوال mysqli_*. لكن تجدر الإشارة إلى أن هذه الأداة ليست أداة رسمية وموثوقة بنسبة 100%، وقد تحتاج إلى تعديلات يدوية بعد استخدامها
 كيفية استخدامها:
 يمكن العثور على بعض الأدوات مثل mysql2mysqli على الإنترنت، ولكن استخدامها يتطلب أن يكون لديك كود مصدر قديم يحتوي على دوال mysql_*
 تحتاج إلى تثبيت الأداة وتشغيلها على ملفات الكود القديمة
 بعد ذلك، الأداة ستحول الدوال القديمة (mysql_*) إلى mysqli_* التي تدعم PHP 7 وما فوق
 المزايا:
 توفر لك عملية تحويل أساسية من دوال mysql_* القديمة إلى mysqli_* الأحدث
 تساعد في تقليل الجهد اليدوي لتحويل الأكواد الكبيرة
 3. أدوات IDE مثل PHPStorm و Visual Studio Code
 ما هي؟
 PHPStorm و Visual Studio Code هما بيئات تطوير متكاملة (IDEs) شهيرة تدعم العديد من لغات البرمجة، بما في ذلك PHP. هذه الأدوات توفر لك ميزات متقدمة لتحليل الكود واكتشاف المشاكل في الكود، مثل التنبيه عندما تستخدم دوال قديمة أو غير متوافقة مع الإصدارات الحديثة من PHP
 كيفية استخدامها:
 PHPStorm:
 يمكنك تحميل PHPStorm من الموقع الرسمي لـ PHPStorm
 https://www.jetbrains.com/phpstorm/
 PHPStorm يتكامل مع العديد من أدوات التحليل الثابت مثل PHPStan أو PHP_CodeSniffer لفحص الكود واكتشاف الأخطاء
 بالإضافة إلى ذلك، يوفر PHPStorm فحصًا حقيقيًا للكود مع الإشارة إلى الأكواد القديمة أو غير المتوافقة
 Visual Studio Code:
 يمكنك تحميل Visual Studio Code من الموقع الرسمي لـ Visual Studio Code
 https://code.visualstudio.com/
 يتكامل مع ملحقات مثل PHP Intelephense أو PHPStan لفحص الكود بشكل ثابت وتقديم اقتراحات حول الأخطاء
 المزايا:
 PHPStorm و Visual Studio Code هما من أقوى بيئات التطوير وأكثرها استخدامًا
 توفر لك تحليلات للكود في الوقت الفعلي مع اقتراحات لتصحيح الأخطاء
 يدعمان العديد من الإضافات التي يمكنك استخدامها لتحليل التوافق مع إصدارات PHP
 4. PHPStan و Psalm
 ما هي؟
 PHPStan و Psalm هما أدوات تحليل ثابتة للـ PHP هذه الأدوات تقوم بتحليل الكود دون الحاجة إلى تشغيله، وتساعد في اكتشاف الأخطاء البرمجية المحتملة، بما في ذلك التوافق مع إصدارات PHP الحديثة
 PHPStan: هي أداة تحليل ثابتة تقوم بفحص الكود للبحث عن المشاكل البرمجية المحتملة. إنها رائعة لاكتشاف الأخطاء التي قد تؤدي إلى مشاكل أثناء تشغيل السكربت
 Psalm: أداة مشابهة لـ PHPStan ولكنها توفر فحصًا أعمق وأكثر دقة للأخطاء
 كيفية استخدامها:
 تثبيت PHPStan عبر Composer:
 نسخ
 composer require --dev phpstan/phpstan
 تشغيل PHPStan لفحص الكود:
 نسخ
 vendor/bin/phpstan analyse src
 تثبيت Psalm عبر Composer:
 نسخ
 composer require --dev vimeo/psalm
 تشغيل Psalm لفحص الكود:
 نسخ
 vendor/bin/psalm
 المزايا:
 يوفر فحصًا دقيقًا للكود للكشف عن الأخطاء
 يمكن تكوين هذه الأدوات للكشف عن مشاكل التوافق مع إصدارات PHP معينة
 يقدم اقتراحات لتحسين الكود وتحسين التوافق مع الإصدارات الحديثة من PHP
 5. أدوات لتحويل الكود من mysql_* إلى mysqli_* أو PDO
 إذا كنت تستخدم mysql_* في الكود الخاص بك وتحتاج إلى تحويله يدويًا أو باستخدام أدوات خارجية، فإن الخطوات الأساسية ستكون:
 استبدال دوال mysql_* بـ mysqli_* أو PDO
 استبدال mysql_connect() بـ mysqli_connect() أو PDO::__construct()
 استبدال mysql_query() بـ mysqli_query() أو PDO::query().
 استبدال mysql_fetch_assoc() بـ mysqli_fetch_assoc() أو PDOStatement::fetch()
 الخلاصة:
 لا يوجد أداة واحدة سحرية لتحويل الكود بالكامل بشكل تلقائي، ولكن باستخدام الأدوات مثل PHP Compatibility Checker، PHPStan، و Psalm، يمكنك فحص الكود واكتشاف المشكلات
 أدوات مثل PHPStorm و Visual Studio Code توفر لك بيئة عمل قوية لاكتشاف المشكلات في الكود
 يمكن استخدام mysql2mysqli أو أدوات مماثلة لتحويل دوال mysql_* إلى mysqli_* تلقائيًا، لكن قد تحتاج إلى بعض التعديلات اليدوية بعد ذلك
 2- نعم، كل من الأدوات التي ذكرتها لها أوامر معينة يمكنك استخدامها لفحص الكود أو تحويله. سأشرح لك الأوامر الأساسية لكل أداة لتتمكن من استخدامها بشكل فعال
 1. PHP Compatibility Checker (phpcompatibility)
 الأوامر الأساسية لاستخدام phpcompatibility عبر phpcs:
 تثبيت phpcompatibility عبر Composer: أولاً، تحتاج إلى تثبيت PHP Compatibility عبر Composer:
 bash
 نسخ
 composer require --dev phpcompatibility/php-compatibility
 تشغيل فحص الكود: لاختبار الكود ضد إصدار معين من PHP، استخدم الأمر التالي في سطر الأوامر:
 bash
 نسخ
 vendor/bin/phpcs --standard=PHPCompatibility --runtime-set testVersion=7.4 src/
 --standard=PHPCompatibility: يحدد أن الفحص سيكون باستخدام معيار التوافق مع PHP
 --runtime-set testVersion=7.4: يحدد إصدار PHP الذي تريد فحص التوافق معه. يمكنك تغيير 7.4 إلى أي إصدار آخر
 src/: هو المجلد الذي يحتوي على الكود الذي تريد فحصه. يمكنك تغييره حسب المسار الذي يحتوي على ملفات PHP في مشروعك
 مراجعة الأخطاء: بعد تشغيل الأمر، ستعرض الأداة قائمة بالأخطاء المحتملة، مثل استخدام دوال قديمة (مثل mysql_*) أو ممارسات غير متوافقة
 2. أداة mysql2mysqli
 mysql2mysqli هي أداة يمكن العثور عليها على الإنترنت (غير رسمية) لتحويل دوال mysql_* إلى mysqli_*، لكنها غالبًا ما تكون أدوات بسيطة أو نصوص بدلًا من أداة مستقلة ذات واجهة أو أوامر رسمية
 الطريقة الأساسية لاستخدامها:
 عادةً ما يتم تنزيل mysql2mysqli كـ سكريبت PHP أو أداة موجهة عبر سطر الأوامر
 يجب أن تكون لديك نسخة من السكربت على الخادم أو في جهازك المحلي
 بعد تحميل السكربت، تقوم بتشغيله عبر سطر الأوامر على الملفات التي تحتوي على دوال mysql_*، وعادةً ما يتم تحويل هذه الدوال إلى mysqli_*
 ولكن، هذه الأدوات ليست موثوقة 100%، وستحتاج إلى تدقيق الكود يدويا بعد ذلك
 3. أدوات IDE مثل PHPStorm و Visual Studio Code
 PHPStorm و Visual Studio Code هما بيئات تطوير متكاملة (IDE) تقدم ميزات فحص تلقائي للكود دون الحاجة إلى استخدام أوامر محددة من سطر الأوامر. لكن، يمكن إضافة ملحقات (Extensions) في Visual Studio Code أو تكوين PHPStan و PHP_CodeSniffer في PHPStorm لفحص الكود
 PHPStorm:
 لا يحتاج إلى أوامر محددة، ولكنه يعتمد على تكامل الأدوات داخل بيئة العمل:
 PHPStan و PHP_CodeSniffer هما أداة تحليل ثابتة يمكنك تكوينهما في PHPStorm
 بمجرد تثبيت الأدوات، يمكنك تشغيل التحليل داخل PHPStorm باستخدام:
 Run -> Run... (لتشغيل فحص الأدوات)
 Alt+Shift+F10 (اختصار تشغيل الفحص)
 Visual Studio Code:
 قم بتثبيت الملحقات مثل:
 PHP Intelephense: ملحق لتحسين اكتمال الكود وفحص الأخطاء
 PHPStan: يمكنك تثبيته وتكوينه لفحص التوافق مع إصدارات PHP الحديثة
 أمر فحص الكود مع PHPStan: بعد تثبيت PHPStan عبر Composer:
 bash
 نسخ
 vendor/bin/phpstan analyse src/
 ثم، ستحصل على نتائج في Visual Studio Code إذا كان لديك تكامل مع PHPStan
 4. PHPStan و Psalm
 PHPStan و Psalm هما أدوات تحليل ثابتة تتيح لك فحص الكود البرمجي للكشف عن المشاكل البرمجية بشكل عميق
 PHPStan:
 تثبيت PHPStan عبر Composer:
 bash
 نسخ
 composer require --dev phpstan/phpstan
 تشغيل PHPStan لفحص الكود: بعد التثبيت، يمكنك تشغيل فحص الكود بهذه الطريقة:
 bash
 نسخ
 vendor/bin/phpstan analyse src/
 src/ هو المجلد الذي يحتوي على الكود الذي تريد فحصه. يمكنك تعديله ليتناسب مع المسار في مشروعك
 خيارات إضافية: يمكنك تحديد مستوى الفحص لزيادة دقة التحليل:
 bash
 نسخ
 vendor/bin/phpstan analyse --level=max src/
 --level=max: يشير إلى أن التحليل سيكون بأعلى مستوى من الدقة
 Psalm:
 تثبيت Psalm عبر Composer:
 bash
 نسخ
 composer require --dev vimeo/psalm
 تشغيل Psalm لفحص الكود: بعد التثبيت، استخدم الأمر التالي لفحص الكود:
 bash
 نسخ
 vendor/bin/psalm
 سيقوم Psalm بتحليل الكود واكتشاف الأخطاء أو المشاكل المتعلقة بالتوافق مع إصدارات PHP الحديثة
 الخلاصة:
 PHP Compatibility Checker: استخدم الأمر phpcs --standard=PHPCompatibility لفحص التوافق مع إصدار PHP معين
 mysql2mysqli: غالبًا لا توجد أوامر رسمية، لكن أدوات التحويل تقوم بتعديل الأكواد يدويًا
 PHPStorm و Visual Studio Code: استخدام الأدوات الداخلية مثل PHPStan و PHP_CodeSniffer لتحليل الكود
 PHPStan و Psalm: استخدم الأوامر مثل phpstan analyse و psalm لتحليل الكود واكتشاف الأخطاء المتعلقة بالإصدارات الحديثة

إرسال تعليق

0 تعليقات