LoginSignup
0
0

More than 5 years have passed since last update.

phpのincludeとinclude_onceが並んでいると気になる

Posted at

過去に作成したwebサイトの保守作業を行った。
includeとinclude_onceが並んでいるところが気になった。
以下の通り、自作の共通部品はincludeしており、Googleアナリティクスのアクセス解析用の部品はinclude_onceしている。
統一した方がきれいなのかな?と考え直してみた。が、どちらが正しいのか自信がなく、そっとしておくことにした。

index.php
<?php
    include 'common/header.php';
    include_once 'common/analyticstracking.php'; 
?>
    <br>
    <div class="row">
        <div class="medium-7 columns">
            <img class="thumbnail" src="img/top_img.jpg">
        </div>
        <div class="medium-5 large-5 columns">
            <h3 class="title">見出し</h3>
            <p>本文

phpリファレンスより抜粋

include:指定されたファイルを読み込み、評価します。
include_once:指定したファイルを読み込み評価します。ファイルからのコードが既に読み込まれている場合は、再度読み込まれない(略)スクリプトの実行時に同じファイ ルが複数回読み込まれ、評価される可能性がある場合に、関数の再定義や変数値の再代入といった問題を回避するために一回だけ読み込ませるために使用します

共通部品の方については、将来に改修が発生し複数回の読み込みが必要となる可能性がある。その場合にinclude_onceと書いてあったら、改修箇所がひとつ増えてしまう。
とはいえ、headerという名前の通り画面上部でしか使わないと予想できる部品だ。

GoogleAnalyticsの方については、間違って2回記述してしまったとすればバグと判断できるので、こちらはinclude_onceでよさそう。

合ってるでしょうか?

0
0
2

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