インデックスページがすべてのリクエストのルートである状況。そして、URLに基づいて異なるページが提供されます。
今のところ、CSSファイルには提供されるページと同じ名前を使用しています。
しかし、ページのグループに同じCSSを使用したい場合、またはページに特別なCSSを使用したくない場合は、これは失敗します。一般的なCSSで十分です。
また、配列は解決策を提案しますが、サイトページが増えると管理できないようです
LUT が最速の方法ですが、アプリを真剣に再構築する必要があると思います。
とにかく、インデックスページには、ロードするページを示す変数 $pageName があります。このようなことができます。
$myPages = array(
"somePage" => array("style_base.css", "custom_style1.css"),
"otherPage" => array("style_base.css", "awesome_style.css")
// more pages here
);
foreach( $myPages[$pageName] as $pageStyleSheet ) {
echo '<link href="' . $pageStyleSheet . '" rel="stylesheet" type="text/css">' . PHP_EOL;
}
これは非常にハックであり、私があなたのアプリを維持する必要がある場合は、おそらくあなたを殺したいと思うでしょう。しかし、あなたが説明したアーキテクチャに基づく最速の方法です。
別のアイデアですが、ページ名に基づいてすべてのページのスタイルシートを保持し、再利用するシートに @include を使用する場合。したがって、somePage.cssの場合は、
@include('otherPage.css')
そうすれば、ページ名を引き続き反映しながら、スタイルを再利用できます。
@Champ-Webサイト全体でCSSファイルを使用できます-クラスなどを使用します。これらのファイルは、画像と比較して非常に小さいです。私たちはASCIIと数十キロバイト(最大で)を話している-そしてそれはキャッシュすることができる!
編集
PHPの代わりにその余分なサーバー負荷を使用して、より良いもののためのCSSのものを決定します