|
|
|
เราจะใส่เทมเพล็ทให้ php อย่างไร หากผมต้องการสร้างเทมเพลทที่เป็นไฟล์หน้าตาที่ออกแบบไว้แล้วเรียกใช้ค่าต่างๆ |
|
|
|
|
|
|
|
รอดูด้วยคน สงสัยต้องพิ่งพี่ อั๋นคุง กับพี่หนุ่มคุง หรือพี่หลายๆท่านในนี้ครับ ผมเองก็ำกำลังทำระบบคล้ายแบบนี้อยู่ลองผิดลองถูกไปวันๆ หุหุหุหุ
|
|
|
|
|
Date :
2010-06-27 11:38:01 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มารอดูด้วยครับ กำลังหาอยู่
|
|
|
|
|
Date :
2010-07-08 09:42:47 |
By :
utaen191 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูครับ เหอๆ
// คลาส template ชื่อ theme.php
<?php
class Theme
{
var $page;
function __construct($template) // กำหนดค่าเริ่มต้นของไฟล์ template ของเรา
{
if(file_exists($template)) // ตรวจสอบการมีอยู่ของไฟล์
{
$this->page=join("",file($template)); // รวมเป็นข้อความ
}
else
{
die("Template file $template not found."); // เมื่อไม่เจอ หรือ อาจจะเรียนกไฟล์ template default ของเราก็ได้ ฯลฯ
}
}
function replace_tags($tags = array())
{
if(sizeof($tags)>0) // ตรวจสอบค่า array ของ tags
{
foreach($tags as $tag => $data)
{
$data = (file_exists($data)) ? join("", file($data)) : $data;
$this->page = eregi_replace("{" . $tag . "}", $data,$this->page); // ทำการแทนค่าของ tag แล้วส่งค่าคืนให้ page
}
}
else
{
die("No tags designated for replacement.");
}
}
function output() // แสดงผล
{
echo $this->page;
}
}
?>
//ไฟล์ index.php ไฟล์แรก ที่เรียก
<?php
require_once("theme.php");
$page = new Theme("theme/index.php"); // ชื่อ ไฟล์ template ของเรา
$page->replace_tags(array(
"title" => "Welcome to my first template",
"descript" => "Welcome to my website!",
"main" =>"Main",
"menu" =>"NAV MENU",
"left" =>"LEFT MENU",
"right" =>"RIGHT MENU",
"footer" =>"FOOTER"
));
$page->output();
?>
//ไฟล์ theme/index.php
<html>
<head>
<title>{title}</title>
</head>
<body>
<h1>{descript}</h1>
{main}<br/>
{menu}<br/>
{left}<br/>
{right}</br>
{footer}</br>
</body>
</html>
ถ้าหากผิดพลาดก็ขออภัยนะครับ
|
|
|
|
|
Date :
2010-07-08 11:03:40 |
By :
kalamell |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอคุณมากครับ เดี๋ยวลองนำไปทำดูครับ
|
|
|
|
|
Date :
2010-07-09 13:56:47 |
By :
utaen191 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เข้าท่าดีครับ ใช้การอ่านไฟล์แทรกข้อความไป +1 ให้เลยครับ
แต่ว่าแค่แทรกข้อความ ก็ไม่น่าจะถึงอ่านไฟล์หรอกน่ะ รู้สึกมันเสียเวลาไปประมวลผลที่ไม่จำเป็น
วิเคราะห์
ข้อยกตัวอย่างจากโค้ด index.ph ของคุณ U นะครับ
ผมจะเขียน php ธรรมดาๆให้ดูน่ะ
Code (PHP)
<?
$title = "Welcome to my first template";
$descript" = "Welcome to my website!";
$main ="Main";
$menu ="NAV MENU";
$left ="LEFT MENU";
$right ="RIGHT MENU";
$footer ="FOOTER";
?>
<html>
<head>
<title><?=title?></title>
</head>
<body>
<h1><?=descript?></h1>
<?=main?><br/>
<?=menu?><br/>
<?=left?><br/>
<?=right?></br>
<?=footer?></br>
</body>
</html>
ผลออกมาไม่ต่างจากโค้ดของคุณU เลยครับแถมอาจจะประมวลผลเร็วกว่าด้วย (ตัดขั้นตอนการอ่านไฟล์ทิ้งไป )
แต่ถ้าพูดถึงความสวยงามของโค้ดของคุณ U ดีกว่าครับ
ที่ผมใช้น่ะในการเรียกใช้งานtemplate เป็นการ includeไฟล์แต่ละส่วนมารวมกันซะส่วนใหญ่ครับ
Code (PHP)
<? require_once ("config.php") ?>
<? require_once ("title.php") ?>
<body>
<? require_once("header.php") ?>
<div id='wrapper'>
<div id='left_page'>
<? require_once("menu.php") ?>
</div>
<div id='right_page'>
<? require_once(ไฟล์เนื้อหา) ?>
</div>
</div>
<? require_once("footer.php")?>
</body>
</html>
สำหรับคนใช้ dream รู้สึกจะมีให้เลือกสร้างเป็น template ได้ด้วยน่ะครับ
|
|
|
|
|
Date :
2010-07-09 15:40:00 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Smarty ใช้ยากและแก้อะไรทีลำบากครับ ไม่ไหวขอแบบอื่นมีไหมครับ
|
|
|
|
|
Date :
2010-08-04 17:37:39 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สุดยอดกันทั้งนั้นเลยนะคับ ผมฝีมือยังไม่ถึง เดวจะหามาให้ดูนะคับ
|
|
|
|
|
Date :
2010-08-04 22:21:40 |
By :
rak_sudrak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มาเก็บความรู้ด้วยคนครับ
|
|
|
|
|
Date :
2010-08-04 23:18:23 |
By :
panyapol |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอเก็บความรู้ซักหน่อย อิอิ
|
|
|
|
|
Date :
2010-08-05 07:04:21 |
By :
satonpanit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูพวก Wordpress ครับ ได้แนวคิดเยอะมากครับ
|
|
|
|
|
Date :
2010-08-05 08:28:13 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|