他の言語がこれをどのように処理するかを尋ねられましたが、PHP以外は見られなかったので、Railsをチェックすることをお勧めします。Railsの規則はエレガントで、@codeincarnateのバージョンをPHPに反映しています。
MVCフレームワークでは、現在のビューは、現在のメソッドの対応するビューをカプセル化するコントローラー固有のレイアウトファイル内にレンダリングされます。「yield」メソッドを使用して、ビューコンテンツを挿入する必要があるセクションを識別します。一般的なレイアウトファイルは次のようになります。
<html>
<head>
<% #stylesheet and js includes %>
<body>
<div id="header">Header content, menus, etc…</div>
<%= yield %>
<div id="footer">Footer content</div>
</body>
</html>
これにより、アプリケーションは、コントローラーに基づいて異なるルックアンドフィールまたは異なるナビゲーションを持つことができます。実際には、コントローラーごとに異なるレイアウトファイルを使用していませんが、代わりに「アプリケーション」という名前のデフォルトのレイアウトに依存しています。
ただし、「情報」、「ブログ」、「管理者」のコントローラーが別々になっている会社のWebサイトがあるとします。次に、コントローラーに対応するそれぞれのレイアウトファイルでさまざまなレイアウトビューを処理することにより、それぞれのナビゲーションをわかりやすく目立たない方法で変更できます。
次のように指定することで、コントローラーメソッドでいつでもカスタムレイアウトを設定できます。
render :layout => 'custom_layout'
Railsには優れたヘルパーメソッドも組み込まれているため、開発環境(dev、staging、prodなど)に応じてCSSとJavascriptのパスが正しいことを確認するためにPHPの$global変数に依存する必要はありません。最も一般的なものは次のとおりです。
#looks in public/stylesheets and assumes it's a css file
stylesheet_link_tag "filename_without_extension"
#looks in public/javascripts and assumes it's a js file
javascript_include_tag "jquery"
もちろん、これらのセクションのそれぞれは、はるかに詳細に説明することができ、これは単に表面を磨くだけです。詳細については、以下を確認してください。
http://guides.rubyonrails.org/layouts_and_rendering.html