0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

頻出関数をまとめよう

Posted at

ワイの覚書シリーズ

複数のページを作成する際、タイトルやヘッダー情報、ファビコンリンクなどを一括で変更できるよう、リンクをまとめた関数を呼び出す用のphpを作った。

▽呼び出されるphp

function site_assets(){  //サイトの情報類
    $assets = array(
        'site_title' => 'tomeivideo',
        'site_favicon' => './image/favicon.png'
    );
    return $assets;
}

▽呼び出す側のphp

require_once('./assets.php');

$site_meta = site_assets();
foreach ($site_meta as $key => $value) {
    $$key = $value;
}

呼び出される側で連想配列に格納したキー名・要素が、呼び出す側でそのまま変数・内容として利用できる。

呼び出される側にアクセスされると?

呼び出される側のphpでは関数が呼び出されていないため、ご想像の通り真っ白なページが表示される。
なんとなくダサいため、任意のエラーページを表示するようにした。

$url = end(explode("/", $_SERVER['REQUEST_URI']));
$running = end(explode("/", __FILE__));
switch(True){
    case "${url}.php" == $running:
        $match = true;
        break;
    case $url == $running:
        $match = true;
        break;
    default:
        $match = false;
        break;
}
if($match){
    readfile('./404.html');
    die();
}

呼び出される側のphpファイルの名前と現在のURLを取得し、拡張子あり・なしのそれぞれのパターンで一致しているかを検証する。一致していれば真・一致していなければ偽を$match変数に格納し、下のif文により真であれば任意のhtmlを表示するようにした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?