开发者

CMS permalink and templating system how to?

I want to understand how to use templating system and permalinks on php websites :D !..

let me describe my self more,

1.currently i have 20 files each have its own php logic (index.php,wizard.php,search.php etc) ALL use same class's and includes.(install.php include all the required for all class's in my project abd u require_once(install.php) in all files)

i wana remodel my website into.

Analyze URL requested ---> IDENTIFY requested page ---> GET TEMPLATE for THIS PAGE -->MODIFY header(meta) and footer(javascript) ---> add logic ---> display page :D.

can some one put me on right learning track :D !. cuz i hv coded my website fully in oop and made all its content loads dynamically from MYSQL (simple small CMS) but i have no clue how to join template and php into index without repeating my self and create different file for each page in my web ! (each file do different jobs of course like file users.php does login and registration and userprofile etc)

Hope my english wassnt too too bad and u could understand my question :D !

My current approach so far:

Mysql table : page_tbl columns: pagename,LogicFile,templateFile,MetaTag.

index.php?pagename

will check if not already cached or not listed for chacing it will :

Mysql:SELECT * WHERE开发者_Python百科 pagename='$_GET['page']'

loginfiles = cars.php,search.php (will be exploded with , and included) Template files = will be also exploded and modified according to MetaTag. Metatag: Serialized assoc array with ['name']=['value'];

Then i start buffer output , replace template with new descriptions and keywords(auto generated) include logic files include footer.php (which include the scripts)

am i near to correct rout or still far away ? or am did i lose my track and over killing


If you are unsure whether you want to write your own, or use an existing one.

  • It is going to be a quite possibly very rewarding experience but a very time consuming one to write your own.
  • If you have a task at hand that you need to be solved, use an existing one.

That being said there are plenty of templating systems, smarty being the most long-lived one. You can find a short discussion on 5 popular ones at phpbuilder.

You also have entire Frameworks that you might want to consider. They are more than just a templating system, where database stuff, ajax helpers etc are included. Zend, CakePHP, and Codeigniter being popular ones. You can find comparisons of these at phpframeworks.


The best way is to take this route:

  • parse request data
  • determine controller which will be used
  • in controller select layout and template [layout "includes" template, it hold the contents that are common to all pages and template has the request-specific content]
  • in controller also fetch the data from database [MVP way]
  • assign data to array and pass it to the layout, it'll pass the data futher to the template
  • in layout and template use data from that array and construct view
  • pass everything to the browser

This is the way the frameworks work, and it isn't that bad. ;]

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜