Это действительно зависит от того, что вам нужно.
Например, если большая часть страницы полностью меняется, я бы предложил создать разные шаблоны и включить их в зависимости от их «разрешений»
$permission = $_SESSION['type_user'];
include '/path/to/file/with/permission/'.$permission.'/tpl.html';
и на странице есть что-то похожее на
<?php
//inside include.php you have the line similar to
//$permission = isset($_SESSION['type_user']) && $_SESSION['type_user']!=''?$_SESSION['type_user']:'common';
require_once '/mast/config/include.php';
include '/path/to/file/with/permission/common/header.html';
include '/path/to/file/with/permission/'.$permission.'/tpl_1.html';
include '/path/to/file/with/permission/common/tpl_2.html';
include '/path/to/file/with/permission/'.$permission.'/tpl_3.html';
include '/path/to/file/with/permission/common/footer.html';
?>
, если скрипт полон мелких деталей, таких как «показать этот текст» или «показать эту кнопку», вы можете создать функциюкоторый проверит для вас права доступа
<?php
function can_user($action, $what){
switch($action){
case 'write':
return $your_current_if_on_what;
break;
case 'read':
default:
return $your_current_if_on_what;
break;
}
}
?>
and the template will look like:
[my html]
<?=can_user('read','button')?'My Button':''?>
[my html]
Как правило, если фрагмент кода используется более 2 раз, его необходимо поместить в функцию / файл отдельно, поэтому, если у вас естьмного «IFS» нужно для создания функции