لقد تغير SpeedPHP 3 من دعم MySQL/Smarty فقط إلى دعم العديد من أنواع قواعد البيانات بالإضافة إلى محركات القوالب المتعددة ومحركات التخزين المؤقت للبيانات. يعمل SpeedPHP 3 على تقوية وتحسين معظم الوظائف والبنية الأصلية، مما يحقق التوازن بين السرعة والخفيفة وسهولة التوسع. لقد أصلح SpeedPHP 3 جميع الأخطاء والأخطاء منذ SpeedPHP2، وقد وصل استقراره إلى مستوى جديد. تعد الترقية من الإصدار 2 من SpeedPHP إلى الإصدار 3 من SpeedPHP أمرًا بسيطًا للغاية ولا تتطلب سوى الخطوات التالية: تحميل ملفات SpeedPHP 3. قم بإزالة ملفات SpeedPHP 2 الأصلية واستبدلها بملفات SpeedPHP 3. بالنسبة لتطبيق SpeedPHP 2 الأصلي، تحتاج إلى إضافة وظيفة spRun(); في أسفل ملف الإدخال لبدء التطبيق.
يجب حذف ملفات HTML الثابتة التي تم إنشاؤها بواسطة spHtml الأصلي ويجب حذف المجلد المؤقت (عادةً دليل tmp) وإعادة إنشائه. أصبح مربع إدخال كلمة المرور المشفرة في spAcl الأصلي امتدادًا مستقلاً في SpeedPHP 3. يرجى الانتقال إلى قسم ملحق منتدى SpeedPHP لتنزيل ملحق md5password الجديد (صندوق إدخال كلمة المرور المشفرة الأصلي) للتثبيت والاستخدام. كيفية استخدام SpeedPHP 3: إن استخدام SpeedPHP 3 هو في الأساس نفس الإصدار الثاني من SpeedPHP، لذلك يمكن أيضًا استخدام دليل الإصدار الثاني من SpeedPHP على SpeedPHP 3. تعليمات مختلفة لتكوين قاعدة البيانات، تعليمات إعدادات محرك القالب، تعليمات تكوين ذاكرة التخزين المؤقت، محرك قالب سريع، استخدام بسيط، تقديم ميزات جديدة: 1. يدعم أنواع قواعد بيانات متعددة: MySQLi، Sqlite، Oracle، MsSQL، PDO، إلخ. 2. إضافة إصدار فرع SAE للحوسبة السحابية وإصدار فرع GBK (حصريًا لمنصة Sina للحوسبة السحابية). 3. يدعم محركات القوالب المتعددة: Smarty، Template Lite، السريع، إلخ. 4. يدعم آليات التخزين المؤقت المتعددة: Memcache، وXcache، وAPC، وeAccelerator، وما إلى ذلك. 5. تحسين بنية برنامج تشغيل محرك قاعدة البيانات والقالب، وتحسين البنية المنطقية لوحدة التحكم وعرض الفئة، وجعلها أكثر معقولية وتوفير الموارد بشكل أكبر. 6. تم تعزيز العديد من الوظائف الأصلية، وتم تحسين الوظيفة الثابتة لتوليد spHTML، وتم تحسين وضع URL الثابت. 7. أضف spRun، وspDB، واستبدال، وfacedRows، وrunSql، وEscape، 8. تم تصحيح العديد من الأخطاء منذ إصدار الإصدار الثاني من SpeedPHP، وتم تحسين الاستقرار بشكل كبير. 9. للحفاظ على تكوين التطبيق المتسق، يحتاج أعضاء SP2 فقط إلى إضافة spRun إلى ملف الإدخال. 10. اجعل الأمر بسيطًا وسهل التعلم وخفيف الوزن. سجل التغيير تم تحديث ملحق UrlRewrite، وتمت إضافة تعيين وحدة التحكم/الإجراء، وتمت إزالة إخفاء الرئيسي/الفهرس، ويمكن تعيين إخفاء المعلمة. تمت إضافة وظيفة عضو الهروب لتحل محل __val_escape لتصفية السلسلة وتصحيح وضع قيمة القالب. إذا كانت القيمة خاطئة، فلن يتم إرسالها إلى القالب. يمكن أن يتكيف هذا مع العيب المتمثل في عدم قدرة حلقة Smarty على تحديد ما إذا كانت القيمة موجودة أم لا. تم تعديل منطق المعالجة الخاص بوظيفة استبدال العضو في spModel لتجنب إضافة سجلات جديدة عن طريق الخطأ في حالة عدم وجود تغييرات في البيانات. تحسين وضع الإخراج التلقائي للصفحة، يتم الآن تشغيل الإخراج التلقائي بواسطة spController. تم تصحيح مشكلة سريعة في وظيفة الاستيراد. تم تصحيح طريقة التعامل مع القيم الفارغة في برنامج التشغيل. تمت إزالة بيانات سجل تشغيل SQL الزائدة من بعض قواعد البيانات. تصحيح برامج تشغيل Oracle وMsSQL. تصحيح خطأ في برنامج تشغيل mysqli. تم تعديل وظيفة __val_escape الخاصة بـ spModel للحكم على القيمة الفارغة والأرقام وما إلى ذلك. يتم تعريف spCache على أنها فئة تابعة لـ spModel تستخدم مرة واحدة، على غرار spVerifier، ولا يمكن استدعاؤها عدة مرات. قم بإزالة المعلمات غير الصالحة لـ spLinker. قم بإصلاح المشكلة في وظيفة getTable لبرنامج تشغيل mssql تم نقل رمز كائن العرض الذي تم إنشاء مثيل له في مُنشئ spController إلى spRun. تم إصلاح المعالجة المنطقية لتكوين "url_path_base" وإصلاح مشكلة معالجة اسم الجدول في الحد الأقصى لبرنامج تشغيل mssql. ينضم إطار عمل SpeedPHP إلى شوكة إصدار بيئة الحوسبة السحابية SAE أضاف إطار عمل SpeedPHP فرعًا لإصدار GBK وقام بمراجعة معلومات حقوق الطبع والنشر في ملفات التعليمات البرمجية لإطار عمل SpeedPHP. يضيف spModel طريقة استبدال لتحديث السجلات التي تستوفي الشروط. في حالة عدم وجود السجل، سيتم إضافة سجل جديد. تصحيح منطق مسح بيانات النداء الخاص بـ spPager. تصحيح منطق وظيفة spArgs سيحدد ما إذا كان المتغير موجودًا وما إذا كان طول قيمة المتغير أكبر من 0. سيقوم spError بتسجيل معلومات الخطأ باستخدام error_log في بيئة الإصدار. تمت حماية موجه الخطأ الخاص بتهيئة session_start. تحسين منطق إنشاء spHtml. تم تصحيح طريقة ومنطق مطالبة spHtml. ويمكنه دعم الكائن واسم الفئة واسم الوظيفة كمقابض مسجلة. تم تعديل طريقة المطالبة ومنطق spHtml لإزالة الإعدادات غير المفيدة url_getter وurl_setter في html، واستخدام وظائف أعضاء spHtml مباشرة. تم إصلاح قيمة الإرجاع __val_escape كونها فارغة. يضيف spModel طريقة runSql. وسيحل runSql محل الاستعلام لتنفيذ عبارات SQL. ويتم الاحتفاظ بطريقة الاستعلام للتوافق مع الأمام، ولكن يوصى باستخدام طريقة runSql بمعنى أكثر وضوحًا. يضيف spModel طريقة FactRows () للحصول على عدد السجلات المتأثرة بعمليات التحديث والإنشاء والعمليات الأخرى. تمت إضافة وظيفة spRun لفصل العملية الأساسية لـ speedphp وخطوتين تنفيذ كود المستخدم، بحيث يمكن إضافة بعض أكواد التشغيل التي تتطلب مكتبات فئة ولكن قبل تنفيذ كود المستخدم. في نفس الوقت، عند الترقية إلى هذا الإصدار من إطار العمل، تحتاج إلى إجراء تعديل على ملف الإدخال: في ملف الإدخال (عادةً ملف Index.php): require(SP_PATH."/SpeedPHP.php"); سطر، إضافة استدعاء وظيفة spRun ()؛ تم تعديل المتغير المستند إلى قاعدة البيانات إلى public قم بتحسين طريقة إدخال المعلمات في spHtml، واستخدم json_encode لاستبدال التسلسل الأقل كفاءة والمكتوبة بدقة، بحيث تكون معلمات الصفحة التي تم إنشاؤها أكثر حرية وكفاءة، ومع ذلك، في نفس الوقت، في التعليمات البرمجية الحالية التي تمت ترقيتها إلى هذا التعديل، سيكون من الضروري إعادة إنشاء ملفات HTML الثابتة. عندما يكون تكوين url_path_base الافتراضي فارغًا، يكون ملف الإدخال هو /index.php تم تصحيح الأخطاء المطبعية في فئة spAccessCache. تمت إضافة تكوين sp_notice_php. يمكن للمطورين تخصيص برنامج موجه الأخطاء مشكلات اسم الكائن المسجلة بواسطة وظيفة القالب وإزالتها الميزة التجريبية "مربع إدخال كلمة المرور المشفرة" تدعم فئة spAccessCache توسيع وظيفة spAccess باستخدام المزيد من أساليب التخزين المؤقت في نموذج موسع. حاليًا، أنواع برامج تشغيل ذاكرة التخزين المؤقت التي يدعمها spAccessCache هي كما يلي: يتيح ذلك للمطورين الحصول على حل محرك قوالب سريع وبسيط بالإضافة إلى محركات القوالب مثل Smarty. تمت إضافة فئات برامج تشغيل قاعدة البيانات db_pdo وdb_pdo_mysql وdb_pdo_sqlite لدعم واجهة قاعدة بيانات PDO. حاليًا، يتم دعم روابط PDO mysql وsqlite وإضافتها إلى فئة برنامج تشغيل قاعدة بيانات db_sae، ويتم دعم قاعدة بيانات MySQL لإضافتها إلى فئة برنامج تشغيل قاعدة بيانات db_oracle يتم دعم أنواع قواعد البيانات لإضافتها إلى فئة برنامج تشغيل قاعدة بيانات db_sqlite، ودعم نوع قاعدة بيانات Sqlite للانضمام إلى فئة برنامج تشغيل قاعدة بيانات db_mssql، ودعم نوع قاعدة بيانات MSSQL للانضمام إلى فئة db_mysqli، ودعم نوع برنامج تشغيل قاعدة بيانات MySQLi، وتغيير قاعدة بيانات mysql. اسم برنامج التشغيل إلى db_mysql، وإضافة طريقة التنسيق الحدية، وتعديل طريقة إنشاء مثيل في مُنشئ db_mysql، وإضافة دعم لـ mysql. تتم إضافة وضع الارتباط الطويل لقاعدة البيانات إلى ملف مكتبة فئة TemplateLite، ويتم تغيير المتغيرين $tbl_name و$_db إلى public.تمت إعادة كتابة مُنشئ spModel لدعم برامج تشغيل أنواع قواعد البيانات المتعددة، وسيتم حذفها بعد الحصول على بيانات الترحيل، ولن يسبب أي ارتباك في بيانات الترحيل التالية. تم تعديل الطريقة التي تنفذ بها عبارات SQL المنطق الحدي للتعامل مع مشكلة عدم قدرة بعض أنواع قواعد البيانات على دعم بناء الجملة الحدي. بالتزامن مع spController، يتم تغيير مثيل محرك القالب. تم تحسين طريقة تعيين القيم لبرنامج تشغيل محرك القالب لإجراء معالجة متسامحة مع الأخطاء للوظائف التابعة للقالب لدعم محركات القالب التي لا يمكنها تسجيل وظائف القالب. قم بتحسين طريقة قراءة الشبكة لـ spHtml لتجنب مشكلة عدم القدرة على قراءة الملفات مع إنشاء صفحات HTML فارغة. أضف سلسلة CURL من أساليب قراءة الشبكة لاستخدامها عندما يتعذر على file_get_contents قراءة بيانات الشبكة. قم بتحسين موجه file_get_contents واكتشف ما إذا كانت بيئة PHP تحظر قراءة الشبكة عند فشل قراءة الشبكة. يقيد spHtml لإنشاء ملفات HTML فقط ضمن نطاق APP_PATH. تم إصلاح المشكلات المنطقية في وظائف قراءة عناوين URL الخاصة بـ spHtml وتوليدها. تمت إعادة تعريف متغيرات محرك قالب spController لدعم محركات قوالب متعددة. تم إصلاح مشكلة قراءة الدالة __get تم إصلاح المشكلة التي تتمثل في أنه عندما تحصل spArgs على القيمة، لا يمكن أن تكون القيمة الافتراضية 0. تم تغيير القيمة الافتراضية لتكوين db_driver_path وإضافة وظيفة spDB. يمكن تحقيق اختصار ببساطة باستخدام الفئة الفرعية spModel، والعمل مباشرة على الجدول (المملوك لـ spModel) دون تعريف الفئة الفرعية spModel. قم بإزالة علامة الضم الخاصة بـ spConfigReady، وإصلاح مشكلة مسار إخراج القالب التلقائي، وتغيير موقع برنامج تشغيل MySQL، ونقل دليل Smarty ونقل برنامج تشغيل MySQL، وحذف ملف spDB، وسيتم وضع وظيفة spDB في spFunctions كوظيفة أساسية في المستقبل. قم بإضافة دليل برامج التشغيل ووضع فئة برنامج التشغيل الأساسية عند إغلاق العرض، لا يزال بإمكانك استخدام $this->variables و$this->display لتعيين القالب. ومع ذلك، يجب أن يكون بناء جملة القالب الخاص به هو بناء جملة PHP عادي.