phpの初歩的な質問が2つあります。

外部phpファイルをincludeし、HTMLタグの出力を行いたいのですが、
直接アクセスされた時に表示を防ぐ、スマートな方法はありますか?
先頭でif( empty(変数) ){ exit; }というのは考えました。

また、テンプレートを使って作れるようなページを、
わざわざphpの1ファイルずつにHTML展開しているソースがあるのですが、
あまりに冗長なので、何か将来的な個別変更を想定している意図があるように見えたのですが、
PHPの界隈の人たちには当たり前の事なのでしょうか?