【85日目】動きが重い日記のアーカイブを軽くしたい!-7
Posted: Last Update:
昨日成功したかに思えた日記のアーカイブ表示…。なぜか日付をうまく取得することができず、7日目に突入しました。今日こそ完成させたいです!
昨日までの成果と今日の作業
昨日は、PHPを最後まで作り切ったつもりでいたのですが、10月のアーカイブを開くと、なぜか「前月」が10月になるという現象が起きていました。今日はこの問題を解決したいと思います!
問題はPHPの日付取得
問題は「$date = new datetime($archive);」という一文にあることは分かっています。「$archive」には「202011」など、年と月の数字が入っているのですが、ここから日付を取得できていないようなんですよね。さて、どうしたものか…。
いろいろ考えた結果、「202011」となっていて日付が入っていないのがいけないのではないかと日付を仮に入れたら動きました!「new datetime($archive."01")」に変更しています。
ついでに、今日の日付と最も古い日付の取得方法が間違っていたことにも気付き、「$today = new datetime();」と「$oldest = new datetime("20200801");」に変更。これで動きました!
$oldest = new datetime("20200801");
$today = new datetime();
$date = new datetime($archive."01");
$date->sub(new DateInterval('P0Y1M0D'));
if($date>=$oldest){
$lastmonth = $date;
$lastmonth2 = $lastmonth->format('Ym');
}
$date = new datetime($archive."01");
$date->add(new DateInterval('P0Y1M0D'));
if($date<=$today){
$nextmonth = $date;
$nextmonth2 = $nextmonth->format('Ym');
}
$today = new datetime();
$date = new datetime($archive."01");
$date->sub(new DateInterval('P0Y1M0D'));
if($date>=$oldest){
$lastmonth = $date;
$lastmonth2 = $lastmonth->format('Ym');
}
$date = new datetime($archive."01");
$date->add(new DateInterval('P0Y1M0D'));
if($date<=$today){
$nextmonth = $date;
$nextmonth2 = $nextmonth->format('Ym');
}
10月のアーカイブに11月のアーカイブへのリンクが入っています!
今日はここまで
考えている時間が長かったようです、今日はここで時間切れ!明日は、以下の作業を行って完成にしたいと思います!
- アーカイブの一番下にも次月と前月のリンクを入れる
- 日記が存在しない月のリンクにエラーを表示する
- 本番環境に移植
おまけのロードマップ
サイト作成がどのくらい進んでいるかロードマップで進捗を確認すると、ここまで進んでいます。
- 準備 - サイトの全体像を決める
- 使用するプログラミング言語を決めて環境を整える
- サイトの基本構造を作って公開する
- 収益化に最適なサイトにアップグレードする
- GoogleアドセンスとAmazonアソシエイトの申し込みをする ←完了!
- ローカルで簡単に入力ができるようにフォームを作る
- フォローアップ - より収益化に向いたサイト構造に変更する