静的サイトを作るときに、ヘッダーとかグローバルナビゲーションとかを共通化して、読み込むとコードも見やすいし、修正とかのメンテナンスも楽ですよね。
そんなときに、便利な関数です。
[php]
<?php
function is_current( $uri = "" ) {
$uri = trim( $uri, "/" );
$request_uri = $_SERVER[‘REQUEST_URI’];
if( $uri && strpos($request_uri."/", "/".$uri."/", 0) !== FALSE ) {
return true;
}
$request_uri = trim(str_replace( "/index.php", "", $request_uri ), ‘/’);
if( !$uri && !$request_uri ) {
return true;
}
return false;
}
function echo_current( $uri = "" ) {
if(is_current( $uri )) {
echo ‘current’;
};
}
?>
[/php]
こんな感じで使います。引数が空の場合は、トップページのときにcurrentを吐きます。
[php]
<li class="nav1 <?php echo_current();?>"><a href="/">ホーム</a></li>
<li class="nav2 <?php echo_current("news");?>"><a href="/news">ニュース</a></li>
[/php]
静的サイトを作るときにrequire_once $_SERVER[‘DOCUMENT_ROOT’].”/inc/functions.inc”;
とかしてやると色々捗ります。