問題描述
我正在尋求有關將站點內容分成邏輯塊的最佳實踐的建議.我想要一個在整個站點中保持不變的頁眉和頁腳,這樣如果我有幾個不同內容的頁面,它們都會如下所示——對頁眉和頁腳所做的更改然后自動更新,而我不必更改每個單獨的頁面.
<身體><p>頁面內容在此</p>
我正在尋求有關將站點內容分成邏輯塊的最佳實踐的建議.我想要一個在整個站點中保持不變的頁眉和頁腳,這樣如果我有幾個不同內容的頁面,它們都會如下所示——對頁眉和頁腳所做的更改然后自動更新,而我不必更改每個單獨的頁面.
<身體><p>頁面內容在此</p>
<?包括'footer.php';?>
header.php
將包含開頭的 、
和靜態內容,以及
footer.php
將包含任何額外的靜態內容和結束 </html>
標簽.所以,我的問題是:這是一個好方法嗎?我擔心將 標簽散布在多個文件中是不好的做法.如果是這樣,處理這種設計的正確方法是什么?
不,你的方法是錯誤的.
以下是您設計中的主要缺陷:
每個人都必須牢記的主要規則:
在所有數據準備就緒之前,不必將任何字符發送到瀏覽器中.
為什么?
HTTP header
.有時我們必須發送它們.如果您已經發送了華麗的 HTML 標頭,這是不可能的.
標簽.這不是很常見的事情嗎?但是如果不使用模板,你就無法做到.因此,您必須擁有一個包含頁眉和頁腳的通用站點模板,以及每個 php 腳本的專用模板.
一個示例布局將是這樣的:
.1.頁面本身.
它什么都不輸出,但只收集所需的數據并調用模板:
.2.template.php
這是您的主要站點模板,
由頁眉和頁腳組成:
<頭><title>我的網站.<?=$pagetitle?></title>頭部><身體><div id="頁面"><?php 包含 $tpl ?>
.3.最后 links.tpl.php
是實際的頁面模板:
=$pagetitle?>
<ul><?php foreach($DATA as $row): ?><li><a href="<?=$row['link']?>"target="_blank"><?=$row['name']?></a></li><?php endforeach ?><ul>
簡單、干凈且易于維護.
I'm looking for advice on the best practice for separating site content up into logical blocks. I want a header and footer that are constant throughout the site, so that if I have several pages of different content, they will all look as below — changes made to the header and footer then update automatically without me having to change each individual page.
<?php
include 'header.php';
?>
<body>
<p>page content here</p>
</body>
<?
include 'footer.php';
?>
The header.php
would contain the opening <html>
, <head>
and static content, and the footer.php
would contain any extra static content and the closing </html>
tag. So, my question is: Is this a good approach? I'm worried that spreading the <html>
tags across multiple files is bad practice. If so, what is the right way to approach this kind of design?
Nope, your approach is wrong.
Here are main faults in your design:
The main rule everyone have to learn by heart:
Not a single character has to be sent into browser, until all data gets ready.
Why?
HTTP header
. Sometimes we have to send them. And it's gets impossible if you already have your ornate HTML header sent.<title>
tag for your pages, based on the page content. Isn't it extremely common thing? But you can't make it without using templates. So, you have to have one common site template containing header and footer and also dedicated templates for the every php script.
An example layout is going to be like this:
.1. page itself.
it outputs nothing but only gather required data and calls a template:
<?php
//include our settings, connect to database etc.
include dirname($_SERVER['DOCUMENT_ROOT']).'/cfg/settings.php';
//getting required data
$DATA=dbgetarr("SELECT * FROM links");
$pagetitle = "Links to friend sites";
//etc
//and then call a template:
$tpl = "links.tpl.php";
include "template.php";
?>
.2. template.php
which is your main site template,
consists of your header and footer:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My site. <?=$pagetitle?></title>
</head>
<body>
<div id="page">
<?php include $tpl ?>
</div>
</body>
</html>
.3. and finally links.tpl.php
is the actual page template:
<h2><?=$pagetitle?></h2>
<ul>
<?php foreach($DATA as $row): ?>
<li><a href="<?=$row['link']?>" target="_blank"><?=$row['name']?></a></li>
<?php endforeach ?>
<ul>
easy, clean and maintainable.
這篇關于使用 PHP 包含分隔網站內容的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
主站蜘蛛池模板: 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 | 高温热泵烘干机,高温烘干热泵,热水设备机组_正旭热泵 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 空气弹簧|橡胶气囊|橡胶空气弹簧-上海松夏减震器有限公司 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 金属回收_废铜废铁回收_边角料回收_废不锈钢回收_废旧电缆线回收-广东益夫金属回收公司 | 济南网站建设|济南建网站|济南网站建设公司【济南腾飞网络】【荐】 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 广州办公室设计,办公室装修,写字楼设计,办公室装修公司_德科 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 风电变桨伺服驱动器-风电偏航变桨系统-深圳众城卓越科技有限公司 | 欧景装饰设计工程有限公司-无锡欧景装饰官网 | 仓储笼_仓储货架_南京货架_仓储货架厂家_南京货架价格低-南京一品仓储设备制造公司 | 企业VI设计_LOGO设计公司_品牌商标设计_【北京美研】 | 圆周直径尺-小孔内视镜-纤维研磨刷-东莞市高腾达精密工具 | 电磁流量计_智能防腐防爆管道式计量表-金湖凯铭仪表有限公司 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 上海道勤塑化有限公司| KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 聚丙烯酰胺_阴离子_阳离子「用量少」巩义亿腾厂家直销,售后无忧 聚合甘油__盐城市飞龙油脂有限公司 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 热风机_工业热风机生产厂家上海冠顶公司提供专业热风机图片价格实惠 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 横河变送器-横河压力变送器-EJA变送器-EJA压力变送器-「泉蕴仪表」 | 电缆隧道在线监测-智慧配电站房-升压站在线监测-江苏久创电气科技有限公司 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 客服外包专业服务商_客服外包中心_网萌科技 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 沟盖板_复合沟盖板厂_电力盖板_树脂雨水篦子-淄博拜斯特 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 |