Php 拥有动态内容页面的最佳方式是什么?

Php 拥有动态内容页面的最佳方式是什么?,php,Php,我怀疑什么是在php页面中生成动态内容的最佳方法。 我必须这样做: ------------------------------ | Header | ------------------------------ | menu | Dynamic | | | content | ------------------------------ 我把这段代码放在我的索引页中的html内容之间 <?

我怀疑什么是在php页面中生成动态内容的最佳方法。 我必须这样做:

------------------------------
|           Header           |
------------------------------
|      menu    |  Dynamic    |
|              |  content    |
------------------------------
我把这段代码放在我的索引页中的html内容之间

<?php
    if(isset($_GET["page_content"]))
        include_once 'app/view/'.$_GET["page_content"].'.php';
?>

这包括我的索引页面内的html的一些部分,这使它“动态”。 另一方面,我认为在单独的页眉和页脚的页面,并包括在其他页面

我认为这些解决方案会更好,但不确定什么是最好的解决方案


(我想用php解决这个问题,而不需要制作一个单页应用程序)

您应该研究与php一起使用的模板系统。例如,
Smarty
Zend_Framework
是使用模板的一些方法

制作模板和动态内容的方法有好有坏。首先,您应该将代码划分为模板、数据处理以及这两者之间的连接

这是完美的

对于您的观点,您可以使用纯html+php或模板系统,如smartyphpsavant等。我个人使用smarty是因为它简单且功能强大

如果您不想使用MVC,您可以创建自己的系统,例如使用AJAX。 此系统要求您在单击菜单项后创建ajax函数

链接访问,如果你想做它与客户端

最简单的解决方案是使用include,但一定不要将$\u GET与include一起使用,因为这样做很危险。更好的方法是将文件放在某种数组中,例如,$\u GET中有该数组的键

$mods = array("music", "download", "main");

if(in_array($_GET['mod'], $mods))
{
   include('mods/'.$_GET['mod'].".php");
} 
你也可以在这里添加一些preg_match to like mod应该只包含小写字母/[a-z]+/

另一个更好的解决方案

$mod = intval($_GET['mod'], 0)
$mods = array(1 => "music", 2 => "download", 3=> "main");
if(!$mod) throw new Exception("Bad module");
if(array_key_exists($mod, $mods)) 
   include("mods/".$mods[$mod].".php");
else 
   if(!$mod) throw new Exception("The module does not exists");

然而,最好的解决方案是使用某种框架,例如Zend,它已经编写了类来处理这个问题,称为

布局与PHP有什么关系?但您的问题是什么?“另一方面,我认为在页面的单独页眉和页脚中,并包含在其他页面中。”。。。。说到这里。@Voitcus我的问题是“对于动态内容来说,什么是最好的aproach/tecnic?”我解释了我所做的,我正在寻求更多的建议。