⊗ppPmSDFl 437 of 447 menu

ფაილებზე მომუშავე ძრავა PHP-ში

ჩვენ განვახორციელებთ საიტის ძრავას, რომელიც მოგვცემს საშუალებას შევქმნათ თარგის ფაილი, რომელსაც URL-ის მიხედვით სხვადასხვა კონტენტი მიერთება.

დაე, ჩვენი გვერდის სტრუქტურა ასე გამოიყურებოდეს:

<!DOCTYPE html> <html> <head> <title>სათაური</title> </head> <body> <header> header </header> <main> კონტენტი </main> <header> footer </header> </body> </html>

მოდით, იმ ადგილას, სადაც კონტენტის ჩასმა უნდა მოხდეს, ჩავსვათ ჩვენ მიერ გამოგონილი რაიმე ბრძანება ჩასასმელად, მაგალითად ასეთი: {{ content }}. შევცვალოთ ჩვენი საიტის თარგი:

<!DOCTYPE html> <html> <head> <title>სათაური</title> </head> <body> <header> header </header> <main> {{ content }} </main> <header> footer </header> </body> </html>

ახლა შევქმნათ ფოლდერი view, რომელშიც კონტენტის ფაილებს ჩავსვამთ. უშუალოდ ამ ფოლდერში ან მის ქვეფოლდერებში.

პირველი ფაილი იქნება ასეთი:

<div> კონტენტი 1 </div>

მეორე ფაილი იქნება ასეთი:

<div> კონტენტი 2 </div>

მესამე ფაილი იქნება ასეთი:

<div> კონტენტი 3 </div>

მოდით, ახლა ჩავრთოთ ისე, რომ მისამართების ზოლიდან URL-ის მიხედვით მიერთებული იყოს შესაბამისი ფაილი. ჩვენს შემთხვევაში, URL /page1-ისთვის იქნება პირველი ფაილი, URL /dir/page2-ისთვის - მეორე, და URL /dir/sub/page3-ისთვის - მესამე.

დავიწყოთ განხორციელება. ჯერ ფაილში .htaccess მოვახდინოთ ისე, რომ ყველა მოთხოვნილი მისამართი, რესურსების ფაილების გარდა, გადამისამართდეს გვერდზე index.php:

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !\.(js|css|ico|jpg|png|gif)$ RewriteRule .+ index.php

გვერდზე index.php მივიღოთ ცვლადში მოთხოვნილი URL:

<?php $url = $_SERVER['REQUEST_URI']; ?>

შემდეგ მივიღოთ თარგის ფაილის ტექსტი:

<?php $layout = file_get_contents('layout.php'); ?>

ახლა URL-ის მიხედვით მივიღოთ ფოლდერიდან view შესაბამისი კონტენტის ფაილი:

<?php $content = file_get_contents('view' . $url . '.php'); ?>

შევცვალოთ თარგის ტექსტში ჩვენ მიერ გამოგონილი ბრძანება ფაილიდან მიღებული კონტენტით:

<?php $layout = str_replace('{{ content }}', $content, $layout); ?>

გამოვიტანოთ ბრაუზერში თარგის ფაილი ჩასმული თარგით:

<?php echo $layout; ?>

შევკრიბოთ ყველაფერი ერთად და მივიღოთ შემდეგი კოდი:

<?php $url = $_SERVER['REQUEST_URI']; $layout = file_get_contents('layout.php'); $content = file_get_contents('view' . $url . '.php'); $layout = str_replace('{{ content }}', $content, $layout); echo $layout; ?>

განახორციელეთ აღწერილი ფაილებზე მომუშავე ძრავა.

ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა