2012-01-11 12 views
4

私は現在、私のウェブサイトのテーマのために1つのクッキーセットを持っており、私のPHPの開始はクッキーを取得し、私は得たクッキーに従ってすべてを設定する本当に長いスイッチケースを持っています。クッキーが多すぎますか?

私はちょうど10種類のクッキーのように設定し、クッキーをロードしたら悪いですか?それとも私は現在それが悪いことではないか?

は現在、それを持っている:http://pastebin.com/dJP6Fz5R

私はちょうど私のコードの上につもりだと私は私のページがロードされるたびに、それはすべてのものを設定し、スイッチケースを通過することを実現します。だから私はすべての人のためにクッキーを作成し、そのようにデータを読み込むことができました。しかし、ユーザーのクッキー値はスイッチのケースと同じくらい時間がかかりますか?

もう一方はより速く/より効率的になるでしょうか?あるいは、どちらもほぼ同じですか?

いずれの情報も素晴らしいと思います。ありがとうございます。

+7

はい、あまりにも多くのクッキーを食べると、胃の痛みを与えます。 – zzzzBov

+1

効率は問題ではありません。しかし、長いスイッチの代わりに配列マップを使ってコードを単純化することができます。 – mario

+0

私はこの解決策が良いと思います。おそらく、テーマ設定を独自のPHPファイルにエクスポートし、より包括的な概要のためにそれらを含める必要があります。 – Corubba

答えて

1

失われることはありませんスタイルシートを条件付きで含めるだけでよいでしょう。例えば。

if(empty($_COOKIE['theme'])){ 
    switch($color_recieved){ 
     case 'gray(default)': 
      setcookie('theme', 'gray', time()+60*60*24, '/', '.example.com'); 
     break; 
     // ...etc 
    } 
} 

$theme = '<link src="/css/themes/'.$_COOKIE['theme'].'.css" type="text/css" rel="Stylesheet" />'; 

テーマ固有のスタイルとスタイルシートを作成し、あなたのhtmlヘッダに$themeをエコー。

+0

テーマの変更は、すでにクッキーに登録されたユーザーには決して行きません。ユーザーに完全なデータを保存するのはちょっとしたアイデアです。 – Corubba

+0

回答がアカウントに更新されました – wyqydsyq

3

あまりにも多くのクッキーが

:)任意のWebアプリが肥満することができます。しかし、あなたがこのような場合には心配しないべきで、クッキーのMEGない限り、あなたはそれ以外の場合は持っていた可能性が全く効率が

関連する問題