问题描述
|
我想了解如何在php网站上使用模板系统和永久链接:D!..
让我更多地描述自己
1.目前我有20个文件,每个文件都有自己的php逻辑(index.php,wizard.php,search.php等)
全部使用相同的类并包含。(install.php在我的项目中包括所有类的所有必需文件,并且在所有文件中都需要require_once(install.php))
我想将我的网站改版成。
Analyze URL requested ---> IDENTIFY requested page ---> GET TEMPLATE for THIS PAGE -->MODIFY header(meta) and footer(javascript) ---> add logic ---> display page :D.
有人可以让我走上正确的学习道路:D!。因为我在oop中完全编码了我的网站,并从MYSQL(简单的小型CMS)动态加载了所有内容,但是我不知道如何将模板和php加入索引,而无需重复我的工作,并为我的网站中的每个页面创建不同的文件! (当然,每个文件都执行不同的工作,例如文件users.php进行登录和注册以及userprofile等)
希望我的英语不是太糟糕了,你能理解我的问题:D!
到目前为止,我目前的方法:
MySQL表:page_tbl
列:页面名称,LogicFile,templateFile,MetaTag。
index.php?pagename
将检查是否尚未缓存或未列出以进行跟踪:
Mysql:SELECT * WHERE pagename=\'$_GET[\'page\']\'
loginfiles = cars.php,search.php(将与一起爆炸,并包含在内)
模板文件=也将根据MetaTag进行分解和修改。
元标记:具有[\'name \'] = [\'value \']的序列化assoc数组;
然后我开始缓冲输出,用新的描述和关键字替换模板(自动生成)
包含逻辑文件
包括footer.php(包括脚本)
我是在接近纠正溃败还是仍在遥远的地方?还是我迷失了方向并杀了我
解决方法
如果不确定要编写自己的文件还是使用现有的文件。
这将是一种很有可能非常有意义的体验,但是会非常耗时地编写自己的体验。
如果您有需要解决的任务,请使用现有的任务。
话虽这么说,但是有很多模板系统,smarty是寿命最长的模板系统。您可以在phpbuilder上找到有关5个热门讨论的简短讨论。
您还可能需要考虑整个框架。它们不只是一个模板系统,其中包括数据库,Ajax帮助器等。 Zend,CakePHP和Codeigniter是受欢迎的。您可以在phpframeworks中找到它们的比较。
, 最好的方法是采用以下路线:
解析请求数据
确定将要使用的控制器
在控制器中,选择布局和模板[layout \“ includes \”模板,它包含所有页面共有的内容,并且模板具有特定于请求的内容]
在控制器中还从数据库中获取数据[MVP方式]
将数据分配给数组并将其传递给布局,它将把数据进一步传递给模板
在布局和模板中使用该数组中的数据并构造视图
将所有内容传递给浏览器
这就是框架的工作方式,还不错。 ;]