كود PHP في WordPress - أفضل الممارسات. إدخالات مفيدة (مقتطفات) من التعليمات البرمجية لـ WordPress أمثلة على كتابة التعليمات البرمجية في wp

أجرؤ على افتراض أنه في حياتك كانت هناك حالات أردت فيها إضافة (تصحيح) شيء ما في سمة موقع WP الخاص بك ، أو في وظائف بعض المكونات الإضافية. علاوة على ذلك ، لم يدرج المطورون هذا الاحتمال في الوسائل القياسيةإدارة. وروحك لا تتعرف على أي قيود وتتطلب رحلة خيالية 🙂 كما تفهم ، هناك طريقة للخروج من أي موقف ، في هذه الحالة ، سيتعين علينا تصحيح كود البرنامج المساعد ، الموضوع ...

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

نتيجة لذلك ، من الأفضل استخدام الأساليب التي ستقف في عالمنا المتغير ديناميكيًا وفي نفس الوقت توفر وقتك الثمين.

تحذيرات!

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

عند إضافة بادئة إلى دالة ، استخدم دائمًا رمزًا مخصصًا في النموذج: _بادئة(لاسم الوظيفة التي تم تغييرها). سيوفر لك هذا الإجراء من التعارض مع الوظائف الأخرى للقالب أو المكون الإضافي.

إذن كيف تضيف كودًا إلى موقع WP؟

1) البرنامج المساعد المخصص

لذلك يمكنك إدراج مقتطفات التعليمات البرمجية ، ولن يتم حذفها أثناء التحديث ، ويمكنك أيضًا تحريرها وتفعيلها في المستقبل أو العكس - إلغاء تنشيطها إذا لزم الأمر.

للقيام بذلك أمر بسيط: تحتاج أولاً إلى إنشاء دليل للمكوِّن الإضافي الخاص بك ، وتسميته بشكل مناسب ، على سبيل المثال moy-plugin (استخدم فقط شرطة ، وليس شرطة مائلة)

بعد ذلك ، نقوم بإنشاء ملف البرنامج المساعد الرئيسي. كما تفهم ، يجب أن يتضمن الاسم والوصف والمعلومات الأساسية ، بالإضافة إلى الكود الذي سيساعد في حماية المكون الإضافي من المتسللين. ونحن نسمي هذا الملف ، دعنا نقول my-plugin.php. سيعرض ملحق .php WP اللغة التي تم إنشاؤها بها ملف معين.

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

إذن ، هذا هو الرمز الذي يجب إضافته:

وتحت هذا الرمز ، قم بإجراء التغييرات التي تتطلبها روحك الإبداعية. لست بحاجة إلى إضافة علامات إغلاق PHP في النهاية. في هذه الحالة ، سيتم عرض العنوان والوصف وعنوان URL في لوحة الإدارة الخاصة بك. وبالطبع ، يمكنك استبدال معلومات "ClubWP" بمعلوماتك الخاصة.

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

بطريقة بسيطة ، ستقوم بإنشاء مكون إضافي بسيط لاحتياجاتك.

2) البرنامج المساعد مقتطفات التعليمات البرمجية

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

بعد تثبيت المكوّن الإضافي ، ستظهر نافذة "Snippets" جديدة في لوحة الإدارة ، والتي ، وفقًا لذلك ، يمكنك إضافة مقتطفات جديدة. من أجله يمكنك إدخال الرمز ومعلومات حول الغرض منه.

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

3) تحرير Functions.php للموضوع الفرعي

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

لاستخدام هذه الطريقة ، أعرض القالب الخاص بي وظائف. phpموضوع الطفل. قم بفك ضغط الملف وتحريره style.css(اسم القالب واستيراد URL)

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

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

تذهب إلى "مستودع" المكونات الإضافية لـ WordPress وتجد أن المكون الإضافي الذي تحتاجه غير موجود. ما يجب القيام به؟ كيف تكون؟ إذا كنت على الأقل على دراية بأساسيات البرمجة في php ، والتخطيط ، فلن يكون الأمر صعبًا عليك اكتب البرنامج المساعد الخاص بك لـ WordPress.

والآن دعنا نذهب إلى "المطبخ" لإعداد البرنامج المساعد الخاص بنا.

ملاحظة. إذا لم تكن لديك معرفة في php والتخطيط ... لا تنزعج ، اطلب من شخص ما أن يكتب لك الوظائف اللازمة 🙂

قبل البدء في كتابة البرنامج المساعد ، تحتاج إلى الرجوع إلى توثيق WordPress ، الذي يصف المبادئ الأساسية لكتابة المكونات الإضافية وبعض أمثلة التعليمات البرمجية.

لن أقوم بتكرار هذه المعلومات ، لكنني سأنتقل مباشرة إلى كتابة التعليمات البرمجية.

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

أول شيء سنفعله هو ابتكار اسم فريد للمكون الإضافي الخاص بنا - " AdvUserReviews«.

بعد ذلك ، دعنا ننشئ دليلًا جديدًا يسمى "advuserreviews" في دليل "/ wp-content / plugins /" بموقعك. وفيه سننشئ ملف "advuserreviews.php". سيكون هذا هو الملف الرئيسي الذي سيكون مسؤولاً عن التهيئة العامة. (يفضل استخدام ترميز UTF-8 للملفات).

في بداية الملف ، يجب عليك تحديد المعلومات الأساسية حول المكون الإضافي

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

سنكتب المكون الإضافي الجديد بأسلوب OOP وستكون جميع عمليات معالجة البيانات في ملف واحد. لنقم بإنشاء الإطار الرئيسي للملف.

// إيقاف الاتصال المباشر إذا (preg_match ("#". basename (__ FILE__). "#"، $ _SERVER ["PHP_SELF"])) (die ("غير مسموح لك باستدعاء هذه الصفحة مباشرة.") ؛) إذا (! class_exists ("AdvUserReviews")) (class AdvUserReviews (// تخزين البيانات الداخلية العامة $ data = array () ؛ // Object constructor // تهيئة وظيفة المتغيرات الرئيسية AdvUserReviews () ())) global $ rprice؛ $ rprice = AdvUserReviews () جديدة ؛

أضف الآن الكود التالي إلى مُنشئ الكائن:

Function AdvUserReviews () (global $ wpdb؛ // قم بتعريف ثابت تهيئة المكون الإضافي الخاص بنا DEFINE ("AdvUserReviews" ، true) ؛ // اسم ملف البرنامج المساعد الخاص بنا $ this-> plugin_name = plugin_basename (__ FILE__) ؛ // URL للمكوِّن الإضافي $ this-> plugin_url = trailingslashit (WP_PLUGIN_URL. "/". dirname (plugin_basename (__ FILE__)))؛ // جدول لتخزين مراجعاتنا // يجب الإعلان عن المتغير $ wpdb عالميًا $ this-> tbl_adv_reviews = $ wpdb-> بادئة "adv_reviews"؛ // الوظيفة التي يتم تنفيذها عند تنشيط البرنامج المساعد register_activation_hook ($ this-> plugin_name، array (& $ this، "activ"))؛ // الوظيفة التي يتم تنفيذها عند إلغاء تنشيط المكون الإضافي register_deactivation_hook ($ this -> plugin_name، array (& $ this، "deactivate"))؛ // الوظيفة التي يتم تنفيذها عند إلغاء تثبيت المكوّن الإضافي register_uninstall_hook ($ this-> plugin_name، array (& $ this، "uninstall")) ؛)

في مُنشئ الكائن ، نستخدم 3 "خطافات" أو "خطافات" (ما هو؟): register_activation_hook, register_deactivation_hookو register_uninstall_hook- هذه هي الوظائف التي يتم تنفيذها عند تنشيط البرنامج المساعد وإلغاء تنشيطه وإزالته ، على التوالي.

الآن دعونا ننفذ هذه الوظائف مباشرة.

/ ** * تنشيط المكون الإضافي * / تنشيط الوظيفة () ($ wpdb ؛ يتطلب_once (ABSPATH. "wp-admin / Upgrade-function.php") ؛ $ table = $ this-> tbl_adv_reviews؛ // تحديد إصدار mysql إذا ( version_compare (mysql_get_server_info ()، "4.1.0"، "> =")) (if (! فارغ ($ wpdb-> charset)) $ charset_collate = "DEFAULT CHARACTER SET $ wpdb-> charset" ؛ إذا (! فارغ (! فارغ ( $ wpdb-> collate)) $ charset_collate. = "COLLATE $ wpdb-> collate"؛) // هيكل جدول المراجعة لدينا $ sql_table_adv_reviews = "إنشاء جدول". $ wpdb-> بادئة. "adv_reviews` (` ID` INT (10) UNSIGNED NULL AUTO_INCREMENT، `review_title` VARCHAR (255) NOT NULL DEFAULT" 0 "،` review_text` TEXT NOT NULL، `review_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP،` review_user_name` VARCHAR (200) VARCHAR (200) NULL، PRIMARY KEY (`ID`))". $ charset_collate. "؛"؛ // تحقق مما إذا كان الجدول موجودًا إذا كان ($ wpdb-> get_var ("إظهار الجداول مثل" ". $ table." " ")! = $ table) (dbDelta ($ sql_table_adv_reviews)؛)) / ** * معطل استدعاء البرنامج المساعد * / function deactivate () (إرجاع صحيح ؛ ) / ** * إزالة البرنامج المساعد * / function uninstall () (global $ wpdb؛ $ wpdb-> query ("DROP TABLE IF EXISTS ($ wpdb-> بادئة) adv_reviews") ؛)

عامل $ wpdbمسؤول عن الاستعلامات في قاعدة البيانات. وظيفة dbDeltaيوزع هيكل الجدول الحالي ، ويقارنه مع بنية الجدول المطلوبة ، ويضيف أو يعدل الجدول حسب الحاجة.

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

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

// إذا كنا في المشرف. الواجهة إذا (is_admin ()) (// أضف الأنماط والبرامج النصية add_action ("wp_print_scripts" ، مصفوفة (& $ this ، "admin_load_scripts")) ؛ add_action ("wp_print_styles" ، صفيف (& $ this ، "admin_load_styles")) ؛ // أضف قائمة للمكون الإضافي add_action ("admin_menu" ، مصفوفة (& $ this ، "admin_generate_menu")) ؛) else (// أضف أنماطًا ونصوصًا برمجية add_action ("wp_print_scripts" ، مصفوفة (& $ this ، "site_load_scripts" ))؛ add_action ("wp_print_styles"، array (& $ this، "site_load_styles"))؛ add_shortcode ("show_reviews"، array (& $ this، "site_show_reviews")) ؛)

دعنا نلقي نظرة فاحصة على هذا القسم من الكود. لنبدأ بلوحة الإدارة.
وظيفة " is_admin»يتحقق من الوضع الذي نعمل فيه حاليًا - في الموقع أو في لوحة التحكم.
بعد ذلك ، يتم استخدام عدة خطافات للوظائف:

  • wp_print_scripts- اضافة ملفات جافا سكريبت المطلوبة
  • wp_print_styles- إضافة الأنماط اللازمة
  • admin_menu- إضافة قائمة جديدة في لوحة التحكم

كل خطاف يتوافق مع طريقة مطبقة في صفنا. التي يتم فيها تنفيذ العمليات اللازمة.
ضع في اعتبارك رمز ربط الأنماط والنصوص

/ ** * تحميل البرامج النصية الضرورية لصفحة الإدارة * في لوحة الإدارة * / الوظيفة admin_load_scripts () (// تسجيل البرامج النصية wp_register_script ("advReviewsAdminJs"، $ this-> plugin_url. "js / admin-scripts.js") ؛ wp_register_script ("jquery"، $ this-> plugin_url. "js / jquery-1.4.2.min.js")؛ // إضافة نصوص إلى الصفحة wp_enqueue_script ("advReviewsAdminJs") ؛ wp_enqueue_script ("jquery") ؛) / ** * تحميل الأنماط المطلوبة لصفحة المسؤول * في لوحة الإدارة * / الوظيفة admin_load_styles () (// تسجيل الأنماط wp_register_style ("advReviewsAdminCss"، $ this-> plugin_url. "css / admin-style.css") ؛ // إضافة أنماط wp_enqueue_style ("advReviewsAdminCss") ؛)

يتم استخدام الوظائف التالية هنا.

يعتمد كل إجراء على معلمة "الإجراء" التي تم تمريرها ، على التوالي "تحرير" - تحرير المراجعة ، "إرسال" - حفظ المراجعة المحررة و "حذف" - حذف المراجعة.

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

يؤدي هذا إلى اختتام لوحة الإدارة والانتقال إلى عرض وإضافة التعليقات من المستخدمين.

من أجل إخبار WordPress بموعد الاتصال بالمكون الإضافي ، نحتاج إلى تسجيل "رمز قصير" ، والذي تم إجراؤه في مُنشئ الفصل الخاص بنا. المزيد حول هذا الموضوع.

Add_shortcode ("show_reviews" ، مجموعة (& $ this ، "site_show_reviews")) ؛

الآن ، في أي صفحة من صفحات الموقع ، يمكنك وضع هذا الرمز وسيفرض تنفيذ الوظيفة التي حددناها (تم تمريرها كمعامل ثان). يوجد أدناه رمز المصدر لهذه الوظيفة.

/ ** * قائمة مراجعات الموقع * / public function site_show_reviews ($ atts، $ content = null) (global $ wpdb؛ if (isset ($ _ POST ["action"]) && $ _POST ["action"] == " add-review ") ($ this-> add_user_review ()؛) // حدد كل المراجعات من قاعدة البيانات $ this-> data [" reviews "] = $ wpdb-> get_results (" SELECT * FROM "". $ this- > tbl_adv_reviews. "" ، ARRAY_A) ؛ ## تشغيل التخزين المؤقت للإخراج ob_start () ؛ include_once ("site_reviews.php") ؛ ## الحصول على البيانات $ output = ob_get_contents () ؛ ## إيقاف تشغيل التخزين المؤقت ob_end_clean () ؛ رجوع $ output؛) الوظيفة الخاصة add_user_review () (global $ wpdb؛ $ inputData = array ("review_title" => strip_tags ($ _ POST ["review_title"]) ، "review_text" => strip_tags ($ _ POST ["review_text"]) ، "review_user_name" => strip_tags ($ _ POST ["review_user_name"]) ، "review_user_email" => strip_tags ($ _ POST ["review_user_email"]) ،) ؛ // إضافة مراجعة جديدة إلى الموقع $ wpdb-> insert ( $ this-> tbl_adv_reviews، $ inputData)؛)

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

هذا في الواقع كل شيء. الآن يمكنك أن ترى ما حصلنا عليه. أ تنزيل البرنامج المساعد ورموز المصدريمكنك هنا.

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

نموذج الموقع:

لوحة تحكم البرنامج المساعد:

مراجعة التحرير:

قد تكون أيضا مهتما ب:


تعد قابلية قراءة الكود موضوعًا مؤلمًا للغاية ، ويجب إعطاؤه الاهتمام الواجب. في هذه المقالة ، ستتعرف على 16 حيلة ستساعدك على التقدم في هذا الموضوع.

1. التعليقات والتوثيق

أصبحت IDEs أكثر شيوعًا في عالم المطورين مثل أنها توفر أدوات يدوية للتعليق وتوثيق التعليمات البرمجية.

هنا مثال:

إليك مثال آخر على استدعاء طريقتك الخاصة:

في هذا المثال ، يعتمد نمط التعليق على PHPDoc و IDE الذي أستخدمه هو Aptana.

2. المسافة البادئة

أفترض أنك تعرف بالفعل أهمية المسافة البادئة في التعليمات البرمجية الخاصة بك. بشكل عام ، هناك عدة أنماط لتنسيق التعليمات البرمجية.

الوظيفة foo () (إذا ($ ربما) (do_it_now () ؛ مرة أخرى () ؛) else (abort_mission () ؛) finalize () ؛)

الوظيفة foo () (إذا ($ ربما) (do_it_now () ؛ مرة أخرى () ؛) else (abort_mission () ؛) finalize () ؛)

الوظيفة foo () (إذا ($ ربما) (do_it_now () ؛ مرة أخرى () ؛) else (abort_mission () ؛) finalize () ؛)

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

هناك أيضًا أنماط تجمع بين بعض الخصائص. على سبيل المثال ، معايير الترميز PEAR ، حيث يظل القوس المتعرج "(" على نفس السطر في العبارات الشرطية ، ولكنه ملفوف في وظائف.

نمط الكمثرى:

Function foo () (// على سطر جديد إذا ($ ربما) (// على نفس السطر do_it_now () ؛ مرة أخرى () ؛) else (abort_mission () ؛) finalize () ؛)

لاحظ أيضًا أن هذا النمط يستخدم 4 مسافات بدلاً من علامات التبويب.

يمكنك معرفة المزيد عن الأنماط المختلفة.

3. تجنب التعليقات غير الضرورية

نعم ، التعليق على الكود جيد ؛ ومع ذلك ، ليست هناك حاجة إلى المبالغة في ذلك. هنا مثال:

// الحصول على رمز الدولة $ country_code = get_country_code ($ _ SERVER ["REMOTE_ADDR"]) ؛ // إذا كانت الدولة هي الولايات المتحدة إذا ($ country_code == "US") (// اعرض النموذج echo form_input_state () ؛)

إذا كان عمل الكود واضحًا ، فمن المرجح ألا تكتب تعليقات غير ضرورية.

إذا لم تكن متوفرة بالفعل ، فيمكنك تقصيرها قليلاً:

// اعرض النموذج إذا كانت الدولة هي US $ country_code = get_country_code ($ _ SERVER ["REMOTE_ADDR"]) ؛ إذا ($ country_code == "US") (echo form_input_state () ؛)

4. تجميع التعليمات البرمجية

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

اليك مثال بسيط:

// الحصول على قائمة المنتديات $ forums = array ()؛ $ r = mysql_query ("معرف التحديد والاسم والوصف من المنتديات")؛ while ($ d = mysql_fetch_assoc ($ r)) ($ forums = $ d؛) // تحميل قالب load_template ("header") ؛ load_template ("forum_list"، $ forums)؛ load_template ("footer") ؛

إذا أضفت تعليقًا قبل بداية كل كتلة ، فسيؤدي ذلك إلى تحسين قابلية قراءة الكود الخاص بك.

5. مخطط التسمية

في بعض الأحيان ، حتى في لغة PHP ، يمكنك العثور على تناقضات في تسمية الوظائف. وإليك العديد من الأمثلة:

  • strpos () مقابل str_split ()
  • imagetypes () مقابل image_type_to_extension ()

هناك عدة أنماط شائعة:

  • camelCase: يتم كتابة الحرف الأول من كل كلمة جديدة بحرف كبير.
  • شرطة سفلية: شرطة سفلية بين الكلمات: mysql_real_escape_string ().

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

ولكن حتى هنا لم يكن بدون هجين. يستخدم بعض المطورين الشرطة السفلية في تسمية الفئات والطرق (خارج الفئات) ، وفي حالات أخرى يستخدمون camelCase:

فئة Foo_Bar (الوظيفة العامة someDummyMethod () ()) وظيفة Procedural_function_name () ()

مرة أخرى ، سأقول إنه لا يوجد أسلوب أفضل. أنت فقط بحاجة إلى التمسك بشيء ما.

6. مبدأ جاف

جاف (لا تكرر نفسك) يُعرف أيضًا باسم DIE: الازدواجية شر.

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

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

$ this-> load-> view ("include / header")؛ $ this-> load-> view ($ main_content)؛ $ this-> load-> view ("include / footer") ؛

7. تجنب التعشيش العميق

تقل قابلية قراءة الكود بشكل كبير إذا كان لديك تداخل عميق.

الوظيفة do_stuff () (// ... if (is_writable ($ folder)) (if ($ fp = fopen ($ file_path، "w")) (if ($ stuff = get_some_stuff ()) (if (fwrite ($ fp، $ stuff)) (// ...) else (إرجاع false ؛)) else (إرجاع false ؛)) else (إرجاع false ؛)) else (إرجاع false ؛))

لتصحيح الموقف ، يجب عليك إعادة النظر في كيفية عمل الكود الخاص بك وتحسينه:

الوظيفة do_stuff () (// ... if (! is_writable ($ folder)) (return false؛) if (! $ fp = fopen ($ file_path، "w")) (إرجاع false؛) if (! $ stuff = get_some_stuff ()) (إرجاع خطأ ؛) if (fwrite ($ fp، $ stuff)) (// ...) else (إرجاع خطأ ؛))

8. حد طول الخط

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

يمكن تطبيق تقنية مماثلة على الكود الخاص بنا:

// bad $ my_email-> set_from (" [بريد إلكتروني محمي]") -> add_to (" [بريد إلكتروني محمي]") -> set_subject (" Methods Chained ") -> set_body (" رسالة طويلة ") -> send () ؛ // ok $ my_email -> set_from (" [بريد إلكتروني محمي]") -> add_to (" [بريد إلكتروني محمي]") -> set_subject (" الأساليب المتسلسلة ") -> set_body (" بعض الرسائل الطويلة ") -> إرسال () ؛ // bad $ query =" SELECT id ، username ، first_name ، last_name ، الحالة من المستخدمين LEFT JOIN user_posts USING (users.id، user_posts.user_id) WHERE post_id = "123" "؛ // bad $ query =" SELECT id، username، first_name، last_name، status FROM users LEFT JOIN user_posts USING (users.id، user_posts.user_id) أين post_id = "123" ؛

يلتزم معظم المطورين بحد 80 و 120 حرفًا.

9. تنظيم الملفات والمجلدات

من الناحية الفنية ، يمكنك وضع كل كود التطبيق الخاص بك في ملف واحد :) ولكن ماذا ستفعل عندما تحتاج إلى تغيير أو إضافة شيء ما.

أتذكر مشاريعي الأولى حيث أرفقت الملفات. ومع ذلك ، كانت منظمتي تعرج للغاية. لقد أنشأت مجلدًا "inc" وضعت فيه عدة ملفات: db.php و function.php. في عملية كتابة التطبيق ، كان هذا المجلد منتفخًا ومتضخمًا وفي النهاية كان من الصعب فهم مكان وجوده.

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

10. أسماء المتغيرات

بشكل عام ، يجب أن تكون أسماء المتغيرات ذات مغزى كامل - وهذا مثالي. يمكن عمل استثناء للمتغيرات المؤقتة.

لنلقِ نظرة على بعض الأمثلة:

// $ i لـ حلقات for ($ i = 0 ؛ $ i< 100; $i++) { // $j для вложенных циклов for ($j = 0; $j < 100; $j++) { } } // $ret для возвращаемых переменных function foo() { $ret["bar"] = get_bar(); $ret["stuff"] = get_stuff(); return $ret; } // $k и $v для foreach foreach ($some_array as $k =>$ v) () // $ q و $ r و $ d لـ mysql $ q = "SELECT * FROM table"؛ $ r = mysql_query ($ q) ؛ while ($ d = mysql_fetch_assocr ($ r)) () // $ fp للعمل مع الملفات $ fp = fopen ("file.txt"، "w")؛

11 - كتابة الكلمات الأساسية في SQL بأحرف كبيرة

تتفاعل معظم تطبيقات الويب مع قواعد البيانات. إذا كتبت استعلامات SQL بنفسك ، فستحتاج أيضًا إلى التنسيق وفقًا لذلك ... لا يوجد شيء معقد هنا. فقط اكتب الكلمات الرئيسية بأحرف كبيرة.

12. كود وبيانات منفصلة

هذا مبدأ آخر سيساعدك على كتابة برامج أكثر نظافة. يكمن في حقيقة أنك تقوم بإعداد البيانات في مكان ما (لنقل النماذج) ، والتفاعل معها في مكان آخر.

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

يمكنك أن تمارس لنفسك أسلوبًا خاصًا ، أو يمكنك استخدام أكثر الوسائل شيوعًا حتى الآن.

أطر PHP الشائعة:

أنظمة القوالب:

شعبية CMS

13. تركيب خاص للنماذج

إذا كنت لا ترغب في استخدام نظام القوالب ، فمن المرجح أن تضطر إلى تطوير أسلوبك الخاص في حقن كود PHP في HTML.

وهنا مثال:

مرحبًا، اسم المستخدم؛ ؟>
|

لوحة رسالتي

عنوان؛ ؟>

المنتديات كمنتدى $):؟>

id، $ forum-> title)؟> (الخيوط-> العد () ؛ ؟> المواضيع)

وصف؛ ؟>

ستسمح لك هذه التقنية بتجنب الأقواس الزائدة. أيضًا ، يتناسب هذا الرمز جيدًا مع سياق HTML.

14. النهج الإجرائية والموضوعية

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

الكائنات رائعة لتمثيل البيانات. مثال:

مستخدم الفصل (اسم المستخدم $ العام ؛ الاسم الأول $ العام ؛ اسم $ الأخير العام ؛ البريد الإلكتروني $ العام ؛ الوظيفة العامة __construct () (// ...) الوظيفة العامة إنشاء () (// ...) الوظيفة العامة حفظ () (/ / ...) حذف الوظيفة العامة () (// ...))

الأساليب الإجرائية لها فائدتها الخاصة.

دالة الأحرف الكبيرة (سلسلة $) ($ ret = strtoupper (سلسلة $) ؛ $ ret. = strtolower (substr (سلسلة $ ، 1)) ؛ إرجاع $ ret ؛)

15. اقرأ التعليمات البرمجية مفتوحة المصدر

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

16. إعادة بناء ديون

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

آمل أن يكون هذا المقال مفيدًا لك! هل فاتني شيء؟ شارك خبرتك!

لا يسمح WordPress.com باستخدام رمز يحتمل أن يكون خطيرًا في المدونة ، ولكن من الممكن نشر الكود المصدري للعرض. لقد أنشأنا علامة تحافظ على تنسيق الكود المصدري وتوفر أيضًا تمييزًا لغويًا لبعض اللغات. مثال:

# زر (وزن الخط: غامق ؛ الحد: 2 بكسل صلب #fff ؛)

للحصول على نتيجة مشابهة للمقتطف أعلاه ، قم بلف شفرتك في هذه العلامات:

الكود الخاص بك

تحدد معلمة "language" قواعد تمييز اللغة وبناء الجملة. القيم التالية مدعومة:

  • الإجراءات 3
  • الانصهار البارد
  • csharp
  • دلفي
  • إرلانغ
  • فشارب
  • رائع
  • جافا سكريبت
  • جافا
  • ماتلاب
  • بوويرشيل
  • الثعبان
  • سكالا

إذا لم يتم تعيين قيمة معلمة "اللغة" ، يتم استخدام القيمة "نص" (بدون تمييز بناء الجملة).
سيتم تشفير الكود الموجود بين علامات "التعليمات البرمجية" تلقائيًا للعرض ، لذلك لا داعي للقلق بشأن عناصر HTML أو أي شيء من هذا القبيل.

خيارات الإعداد

تدعم العلامات أيضًا العديد من خيارات التكوين التي يمكنك استخدامها لتخصيص الشكل والمظهر. استخدامها اختياري تمامًا.

  • الروابط التلقائية (صواب / خطأ) - يتم تقديم كل عنوان URL في التعليمات البرمجية كارتباط تشعبي. القيمة الافتراضية: صحيح.
  • الطي (صواب / خطأ) - إذا تم التعيين على صواب ، فسوف تنهار منطقة الكود عند تحميل الصفحة. لتوسيعه ، ستحتاج إلى النقر فوقه. هذا مفيد لمقتطفات التعليمات البرمجية الكبيرة. القيمة الافتراضية هي كاذبة.
  • السطر الأول (رقم) - يحدد الرقم الذي يبدأ عنده ترقيم الأسطر. القيمة الافتراضية: 1.
  • هامش التوثيق (صواب / خطأ) - في حالة الضبط على خطأ ، سيتم إخفاء أرقام الأسطر. القيمة الافتراضية: صحيح.
  • تمييز (الأرقام مفصولة بفواصل) - أرقام الأسطر التي سيتم تمييزها ، على سبيل المثال "4،7،19".
  • hmtlscript (صواب / خطأ) - إذا تم التعيين على صواب ، فسيتم تمييز كود HTML / XML. هذا مفيد عند نشر كود مختلط مثل PHP داخل HTML. يعمل فقط مع بعض اللغات. القيمة الافتراضية: خطأ.
  • ضوء (صواب / خطأ) - إذا تم ضبطه على صواب ، فسيتم إخفاء أرقام الأسطر وشريط الأدوات. يكون هذا مفيدًا عند نشر مقتطف رمز يتكون من سطر أو سطرين. القيمة الافتراضية: خطأ.
  • padlinenumbers (صواب / خطأ / عدد صحيح) - يسمح لك بالتحكم في المساحة المتروكة لأرقام الأسطر بالأصفار. تحدد القيمة الحقيقية الإكمال التلقائي ، وتعطل القيمة الخاطئة الإكمال ، ويحدد الرقم عددًا ثابتًا من الأحرف لأرقام الأسطر.
  • شريط الأدوات (صواب / خطأ) - إذا تم ضبطه على خطأ ، فلن يظهر شريط أدوات به أزرار عند التمرير فوق الرمز. القيمة الافتراضية: صحيح.
  • خطوط الالتفاف (صواب / خطأ) - في حالة الضبط على "خطأ" ، سيتم تعطيل التفاف الخط. إذا كانت هناك خطوط طويلة ، فسيظهر شريط تمرير أفقي.
  • العنوان (سلسلة) - عنوان الكود. قد يكون مفيدًا مع خيار الطي.

أمثلة على استخدام المعلمات أعلاه:

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

وهذا جزء أكبر من الكود. هنا يتم تحديد PHP ويتم تمييز السطر رقم 12.

مثال رمز WordPress.com

مثال رمز WordPress.com

تم تمييز هذا الخط. خط طويل جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا جدا.
هذا مثال على علامات التبويب الذكية.
Wordpress.com

شكرًا
لتنفيذ هذه الميزة ، يتم استخدام مشروع SyntaxHighlighter (المؤلف Alex Gorbatchev). يمكن للمستخدمين تعيين المناسب

تحيات أصدقاء. سنكتشف اليوم كيفية عمل أي كود PHP في أدوات ومقالات وصفحات WordPress. افتراضيًا ، لا تتوفر مثل هذه الوظيفة في نظام إدارة المحتوى هذا ، والحد الأقصى الذي يمكن للمستخدم الاعتماد عليه هو إدخال رمز HTML.

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

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

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

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

وفقًا لدرجة الخطر ، سأقسم هذا الوضع برمته إلى 3 مستويات:

  1. من الصعب ترك كل شيء كما أراد المطورون - من الصعب إتلاف الموقع بأمان أو عن طريق الخطأ أو عن قصد.
  2. السماح بتنفيذ PHP في عناصر واجهة المستخدم - مستوى الخطورة متوسط ​​، فقط مسؤول الموقع لديه حق الوصول.
  3. يعد استخدام الكود في كل مكان أمرًا خطيرًا ، حيث يمكن لأي شخص يُسمح له بتعديل المقالات والصفحات (الوسطاء والمؤلفون) إدارة الموقع

ما هي PHP في الأدوات؟

السؤال فردي ، حيث يمكن تنفيذ أي شيء باستخدام لغة البرمجة هذه. شخصيًا ، طُلب مني كتابة هذا المنشور بأمر من عميل أقوم بإنشاء موقعه الإلكتروني حاليًا. على ذلك ، كان من الضروري عرض قائمة الأخبار في الشريط الجانبي في عنصر واجهة مستخدم منفصل من عنوان واحد - "الأخبار". لا يوجد مثل هذا الخيار في أدوات WordPress القياسية.

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

بشكل عام ، عند السماح بتنفيذ PHP ، يمكننا حل مشكلتين:

  • استبدال جزء من مكونات الموقع بالنصوص وتقليل حمل الاستضافة بهذه الطريقة ؛
  • تنفيذ الوظائف التي لا توجد لها ملحقات بعد.

في المرحلة الأولى ، سأتحدث عن الأدوات ، ثم في قالب منفصل ، عن عرض الكود في المحتوى.

الإضافات لـ PHP في الأدوات

ميزة المكونات الإضافية: عند تغيير سمة WordPress ، لا يتم تعطيل عمل الوظائف المضافة إلى القالب ، ويستمر كل شيء في العمل دون الحاجة إلى تدخل مشرف الموقع. يجب نقل الخطافات المضافة إلى القالب عند تغيير السمة إلى القالب الجديد يدويًا.

في المثال أعلاه ، أقوم بإنشاء موقع على شبكة الإنترنت لعميل وإذا كان يريد تغيير التصميم بمفرده ، فستختفي الإعدادات التي تم إجراؤها من خلال ملفات function.php وغيرها ، لذلك أجعل الأمر أسهل ما يمكن لـ له لإدارة الموقع ، بالاعتماد على المكونات الإضافية (خاصة في حركة المرور المتخصصة صغيرة ولن يكون الحمل كثيرًا).

القطعة كود PHP

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

يوجد PHP Code Widget في مستودع WordPress الرسمي ، ويسهل العثور عليه بالاسم. كيفية تثبيت هذه الإضافات.

لا توجد إعدادات مطلوبة ، ستظهر الأداة في القائمة فور تثبيت البرنامج المساعد وتنشيطه. اسحب "PHP Code" إلى الشريط الجانبي وأضف أي نص برمجي هناك.

PHP في أداة WordPress بدون مكون إضافي

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

تتم إضافة هذا الخطاف إلى ملف function.php للسمة الحالية (في النهاية قبل قوس الإغلاق؟>). بعد ذلك ، لا تظهر خيارات عناصر واجهة المستخدم الجديدة ، كما في حالة المكون الإضافي ، وتبدأ أكواد PHP بالعمل في نص قياسي.

الكود النهائي:

Add_filter ("widget_text"، "text_html_php_widget"، 100) ؛ الوظيفة text_html_php_widget ($ text) (if (strpos ($ text، "". $ text) ؛ $ text = ob_get_contents () ؛ ob_end_clean () ؛) إرجاع النص $ ؛)

السطر الأول عبارة عن عامل تصفية يستبدل وظيفة أداة النص القياسية بوظيفة جديدة ، text_html_php_widget ، في كل مكالمة ، ثم يتبع وصف الوظيفة الأحدث.

لماذا كود PHP في مقالات ومنشورات WordPress

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

ولكن حتى في المنشورات ، هناك حاجة لاستخدام البرامج النصية. المثال الأكثر شيوعًا هو إخراج ملف sitemap بدون مكون إضافي. صحيح ، يمكنك استخدام تقنية أخرى للخريطة - إنشاء قالب صفحة خاص (هذا موضوع منفصل).

لقد احتجت مرة إلى إخراج PHP للغرض التالي:

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

البرنامج المساعد لتنفيذ PHP في محتوى Exec-PHP

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

المكون الإضافي Exec-PHP موجود في المستودع ويتم تثبيته من خلال القائمة في لوحة إدارة المحرك.

من بين الإعدادات ، هناك واحد فقط - إذن / حظر لتنفيذ التعليمات البرمجية في عنصر واجهة نصي ، ولا توجد إمكانية لتعطيل العمل في المنشورات وعلى الصفحات ، إذا كنت بحاجة إلى إزالته - قم بإلغاء تنشيط المكون الإضافي.

لإدراج كود PHP في مقال ، يجب أن يتم تحويله إلى وضع HTML (علامة التبويب "نص"). من المحتمل أن يفسد الوضع المرئي الشفرة.

تنفيذ كود PHP في مقالات ووردبريس بدون إضافة

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

كيف تعمل مع الوظيفة أدناه

  1. الصقه في ملف functions.php الخاص بالنسق ؛
  2. في المكان المناسب في المقالة ، نقوم بإدخال إنشاء - رمز قابل للتنفيذ بدون

وظيفة:

/ * ابدأ php في مقالات وصفحات WordPress: code * / function start_php ($ match) (Eval ("ob_start ()؛". $ matches. "$ inline_execute_output = ob_get_contents () ؛ ob_end_clean () ؛") ؛ إرجاع $ inline_execute_output ؛) دالة inline_php ($ content) ($ content = preg_replace_callback ("/ \ ((. | \ n) *؟) \ [\ / startphp \] /"، "start_php"، $ content)؛ $ content = preg_replace ( "/\((.

عيب

إذا كان هناك إدخال HTML أو نص داخل كود PHP المدرج ، فلن يعمل. سيتعين إدخال أي نص أو علامات باستخدام أمر echo ، وهو أمر غير مناسب دائمًا. أي ، يجب أن يكون الرمز بتنسيق PHP-shny 100 الصحيح تمامًا.

يمين

صدى "هذا سوف يعمل" ؛

خطأ

صدى "هذا الخط صحيح" ؛ هذا لن ينجح

في البرنامج المساعد Exec-PHP ، لا توجد مشكلة من هذا القبيل - سيتم تنفيذ كل من النص و HTML ، ولكن يجب تأطير جميع عناصر كود PHP في العلامات المناسبة.

بالنسبة للعديد من مشرفي المواقع ، يفتح المظهر الموضح في هذه المقالة إمكانيات لا حصر لها للإبداع - يمكنك تنفيذ ما لم يكن بإمكانك فعله من قبل ، وكذلك التخلص من الكثير من المكونات الإضافية ، واستبدالها بفلاتر ووظائف وخطافات مختلفة.



تحميل...
قمة