а зачем тут класс? :D
для заголовков уж тогда где то в дебрях конфига
такой вариант ты хотябы контролируешь - тем тупо имя страницу из урла брать
switch($_GET['route']){
case : 'index' : $pageMeta = array('page'=>'index', 'title'=>'index title', 'description'=>'index description', 'keywords'=>'index, keywords');
break;
case : 'about' : $pageMeta = array('page'=>'about', 'title'=>'abouttitle', 'description'=>'about description', 'keywords'=>'about, keywords');
break;
case : 'contacts' : $pageMeta = array('page'=>'contacts', 'title'=>'contactstitle', 'description'=>'contacts description', 'keywords'=>'contacts, keywords');
break;
default : $pageMeta = array('page'=>'index', 'title'=>'index title', 'description'=>'index description', 'keywords'=>'index, keywords');
break;
}
в твоих шаблонах страниц
<html>
<head>
<title>{{TITLE}}</title>
<META Name="Keywords" content="{{KEYWORDS}}">
<META Name="Description" content= "{{DESCRIPTION}}">
</head>
<body>
bal-bala content;
</body>
<html>
когда ты подключаешь шаблон
$tpl = file_get_contents('tpls/'.$pageMeta['page'].'.tpl');
echo strtr($tpl, array('{{TITLE}}'=>$pageMeta['title']), '{{KEYWORDS}}'=>$pageMeta['keywords']),'{{DESCRIPTION}}'=>$pageMeta['description']),);
конечно мета теги можно и в самих шаблонах прописать, но
1. так ты в одном месте можешь ими управлять (хотя всё вообще в бд можно красиво уложить)
2. смотри как всё круто - распечатаешь этот код и будешь ходить девкам в лицо тыкать - сразу даст.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker