كيفية قراءة صفحة HTML PHP. استخدام PHP في الصفحات ذات امتداد html
عند إنشاء موقع ويب شخصي، لا يمكن للجميع توقع جميع الطرق الممكنة لاستخدامه في المستقبل. من المهم جدًا تمهيد الطريق لمزيد من التطوير للموقع. إذا قمت بإنشاء موقع ويب في الماضي وقمت بتخصيص الامتداد .html لجميع الصفحات افتراضيًا، وعندها فقط قررت استخدام PHP، فتابع القراءة.
في السابق، لاستخدام SSI، كان يجب أن تنتهي أسماء صفحات الموقع بالامتداد .shtml، ولكن اليوم تم تكوين معظم خوادم الإنترنت بحيث يمكن استخدام SSI على الصفحات ذات الامتداد .html، وهو أمر مناسب تمامًا. PHP قصة مختلفة تمامًا - الامتداد .php هو الامتداد الافتراضي. مطورو مواقع الويب، الذين يعرفون مسبقًا أنه سيتم استخدام لغة برمجة معينة، يقومون على الفور بتعيين الامتداد الصحيح.
ولكن ماذا تفعل عندما تنتهي جميع الصفحات بامتداد .html؟
استبدل ملحق HTML بـ PHP
ويمكن القيام بذلك بعدة طرق. الطريقة الأكثر وضوحًا هي منح جميع الصفحات امتداد .php أو تغيير الامتدادات الموجودة (.html، .shtml، وما إلى ذلك). هذه الطريقة لها عيوب. على سبيل المثال، يجب إعادة فهرسة الصفحات المفهرسة بالفعل ذات الامتداد .html بواسطة محركات البحث. أو ما هو أسوأ من ذلك، أن جميع الروابط الخارجية التي ترتبط بشكل صريح بصفحة معينة ستكون غير صالحة. وسيكون عليك إخطار أصحاب كل موقع بهذه التغييرات وإنشاء صفحة أخرى بها 301 خطأ لكل صفحة. بالطبع تغيير امتداد إلى آخر أمر مقبول، ولكن ماذا تفعل إذا كان الموقع يحتوي بالفعل على العديد من الصفحات والعديد من الروابط لصفحات مختلفة من مواقع أخرى؟
لسبب واعٍ، تنتهي جميع صفحات هذا الموقع حاليًا بامتداد html، ولم أرغب في إجراء التغييرات المذكورة أعلاه، وبالتالي خلق صعوبات غير ضرورية لنفسي.
يمكنك أن تفعل ذلك بطريقة أخرى. إذا كان الخادم الذي يستضيف الموقع يدعم mod_rewrite (في معظم الحالات)، وكان هناك إمكانية الوصول إلى ملف .htaccess، فيمكنك إضافة الأسطر التالية إلى هذا الملف بالذات:
RewriteEngine على RewriteRule ^(.*)\.html $1\.php
بإضافة هذا الرمز إلى .htaccess، لا داعي للقلق. سيتم استبدال جميع الصفحات غير الموجودة المطلوبة ذات الامتداد .html تلقائيًا بامتداد .php بفضل عجائب Apache. لكن هذه الطريقة ليست الوحيدة. يمكنك كتابة ما يلي في نفس ملف htaccess:
تطبيق AddHandler/x-httpd-php .php .html .htm
في رأيي الطريقة الأكثر نجاحا. وهذا يجعل صفحات HTML مساوية لصفحات PHP، مما يعني أنه يمكن الآن استخدام جميع وظائف PHP في الصفحات ذات ملحق HTML. إذا لم يكن لديك حق الوصول إلى ملف .htaccess، فيمكنك كتابة خطاب إلى الشركة المضيفة ومطالبة المسؤولين بأدب بإدخال القيمة المطلوبة للموقع في تكوين Apache (httpd.conf).
بالمناسبة، إذا كان الموقع قبل ذلك يستخدم SSI على النحو التالي:
ثم في حالة PHP الجديدة، يجب استبدال هذا الرمز بـ:
include("file.txt"); ?>
حسنًا، هذا كل شيء، أعتقد أن إحدى الطرق المذكورة أعلاه ستساعد.
غالبًا ما يُطرح السؤال حول كيفية وضع نموذج واحد على جميع صفحات تطبيق Zend الخاص بك. لنفترض أنني أريد وضع نموذج الاشتراك في ملف Layout.phtml بحيث يكون موجودًا في كل صفحة. يعمل الأمر Layout->content() مع الإجراءات ووحدات التحكم... كيف يمكننا تنفيذ ما نحتاج إليه؟
أحد الحلول لهذه المشكلة هو إنشاء مساعد الإجراء.
لنبدأ بإعداد تطبيق ZF:
$ zf إنشاء نموذج تخطيط المشروع $ cd Layformform $ zf تمكين التخطيط
قم بتنظيف ملف application/views/scripts/index/index.phtml والصق شيئًا مثل هذا:
التطبيق/طرق العرض/البرامج النصية/index/index.phtml:
هذه هي الصفحة الرئيسية
الآن يمكننا أن نبدأ.
استمارة
لنقم بإنشاء نموذج جديد:
$zf إنشاء نموذج الاشتراك
وكذلك المجالات التي نحتاجها:
التطبيق/النماذج/Signup.php:
يقوم Class Application_Form_Signup بتوسيع Zend_Form ( public $processed = false; public function init() ( $this->addElement("text", "name", array("label" => "Name", "required" => true, " أدوات التحقق من الصحة" => array(array("StringLength", false, array("max"=>75)),),)); $this->addElement("text", "email", array("label" = > "Email"، "required" => true، "validators" => array(array("StringLength", false, array("max"=>150))), "EmailAddress",),) >addElement( "إرسال"، "انطلق"، array("label" => "Sign up"،)) ) )
لدينا النموذج. كل ما تبقى هو إخراجها.
مساعد العمل
نستخدم مساعد الإجراء لتهيئة النموذج.
أضف هذا السطر إلى application.ini:
التطبيق/التكوينات/application.ini:
Resources.frontController.actionhelperpaths.Application_Controller_Helper = APPLICATION_PATH "/controllers/helpers"
يعرف النظام الآن أين يبحث عن أدوات المساعدة، حتى نتمكن من المضي قدمًا:
التطبيق/Bootstrap.php:
bootstrap("frontController"); $signup = Zend_Controller_Action_HelperBroker::getStaticHelper("Signup"); Zend_Controller_Action_HelperBroker::addHelper($signup); ))
سيبدو مساعد الإجراء كما يلي:
التطبيق/وحدات التحكم/المساعدين/Signup.php:
getActionController()->view; $form = new Application_Form_Signup(); $request = $this->getActionController()->getRequest(); if($request->isPost() && $request->getPost("submitsignup")) ( if($form->isValid($request->getPost())) ( $data = $form->getValues()) ; // معالجة البيانات $form->processed = true ) ) $view->signupForm = $form; ))
لا يوجد شيء خاص هنا. فقط انتبه إلى فئة الوالدين.
عرض المساعد
من أجل عرض النموذج، سنقوم بإنشاء مساعد العرض الذي سيبدو كما يلي:
التطبيق/المشاهدات/المساعدين/SignupForm.php:
سجل للحصول على اخر اخبارنا
"; إذا($form->معالجة) ( $html .= "شكرا لك على التسجيل
"; ) else ( $html .= $form->render(); ) return $html; ) )
كل ما تبقى لنا هو تقديم النموذج في Layout.phtml:
التطبيق/التخطيطات/البرامج النصية/layout.phtml:
headMeta()->prependHttpEquiv("Content-Type", "text/html; charset=UTF-8"); $this->headTitle("اختبار نموذج التخطيط"); صدى $this->doctype(); ?>
headMeta()->setIndent(4); ?>headTitle()->setIndent(4); ?>حدث
هذا كل شئ. لقد حققنا الوظيفة التي أردناها.
PHP هي لغة برمجة مضمنة من جانب الخادم. تم استعارة جزء كبير من تركيبها من لغة C وJava وPerl. تمت أيضًا إضافة اثنتين من الوظائف الفريدة الخاصة بـ PHP. الغرض الرئيسي من هذه اللغة هو إنشاء صفحات PHP HTML التي يتم إنشاؤها ديناميكيًا.
PHP إلى HTML
عند إنشاء صفحات ويب معقدة، ستواجه الحاجة إلى الجمع بين PHP وHTML لإنجاز مهام محددة. للوهلة الأولى، قد يبدو الأمر معقدا، لأن PHP و HTML هما تخصصان مستقلان، لكن الأمر ليس كذلك. تم تصميم لغة PHP للتفاعل مع لغة HTML، ويمكن تضمين الكود الخاص بها في ترميز الصفحة.
يتم تضمين كود PHP في صفحات HTML باستخدام علامات خاصة. عندما يفتح المستخدم صفحة، يقوم الخادم بمعالجة كود PHP ثم يرسل نتيجة المعالجة (وليس ملف كود PHP) إلى المتصفح.
من السهل جدًا الجمع بين HTML وPHP. أي جزء من برنامج PHP النصي خارج العلاماتيتم تجاهلها من قبل مترجم PHP وتمريرها مباشرة إلى المتصفح. إذا نظرت إلى المثال أدناه، يمكنك أن ترى أن البرنامج النصي PHP الكامل قد يبدو كما يلي:
مرحبا بك اليوم.