RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

ブログ Web制作

[PHP]まとめ読みをPSRで改良する(1)

投稿日:

this trash wanted to go in a can, but the can was too full, so it's waiting for the next one

今回の改良対象

ミニ四駆まとめサイト

なぜやるのか?

  • PHPのバージョンアップによる速度の向上
  • 一番はこれでしょう。
    今のはPHP5.2で動いています。
    1割から5割の速度向上が見込まれます。
    1秒でも早く表示することによりユーザーの時間を無駄にさせないためです。
    まとめサイトは居続けてもらうのが目的ではないので速さが大事。

  • やってみないと理解できない
  • PHPのオブジェクト指向を理解しようとする初心者の立場で「どこがわからないのか?」「わかりにくいのか?」を分析します。
    「プログラム = 敷居が高い」のは、そういった解説も少ないからじゃないかなと思います。

  • 人は忘れやすい
  • 書いておかないと「どこがどうだったか」なんて忘れます。
    書いておくと後で解説を書くときに書きやすいし、丁寧に書ける。

  • PHPのバージョンが低いとセキュリティホールがある
  • まとめ読みの質の向上
  • EBS3(戦略ゲーム)を作りたい、やっぱり配布したい
  • せっかくHTML5とCSS3が出てきたのに作らないのはないでしょ!というわけです。
    個人制作のゲームがほぼ死滅しているのでチャンスだと思ってます。

  • 現在のコードが酷い

いろいろあります。/(^o^)\

現在の惨状

現在のコード(一部)

# 期間ランキング記事
$i=1;
$sql=mysql_query("SELECT * FROM article ORDER BY count DESC");
while ($ART=mysql_fetch_assoc($sql)){
	if(!$ART[count]){break;}
	#集計
	$HASH=explode($SET[INTER],$ART[id]);
	$blogid=$HASH[0];
	$time=$HASH[1];
	$WEEK_BLOG[$blogid]+=$ART[count];
	$COUNT_BLOG[$blogid]+=$ART[count_all];
	#表示
	if(preg_match('/PR:/',$ART[title])){continue;}//PR排除
	if($html_art_week&&$i<50){$html_art_week.="<tr><th></th></tr>\n";}
	if($i<50){$html_art_week.="<tr><td><strong>${i}位&nbsp;<span style='color:#FF8C00;'>$ART[count]</span>counts</strong><br><a href='$SET[path_link]?q=$ART[id]' target='_blank'>".escape($ART[title])."</a></td></tr>\n";}
	$i++;
}

「うーんこれは一体・・・」みたいなコードです。
可読性低い、速度考えてない、なんでも言えるような状態。

これではEBS3を作っても誰も改造できないコードになってしまいます!

次の記事

更新したら書き換えます。

-ブログ, Web制作

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

PHPでPC・スマホ・タブレット・携帯を判別するおすすめの方法

今まさにスマートフォン時代になってきています。 PHPでPCやスマートフォン、タブレット、携帯を判別してみましょう。 ※この内容は2013年当時の方法です。 普通の判別法 $_SERVER[ …

no image

TechCrunch(英語版)のススメ

「英語」と聞いただけで敬遠する方もいらっしゃるかもしれません。 しかし、「やらないと慣れない」のは事実。 慣れるには「好きなものだけ」読めばいい! すごく簡単ですよね? 1週間に1記事だけでも、全く別 …

no image

PHPのコーディング規則、PSRを学ぶ(2)

PHPのコーディング規則、PSRを学ぶ(1)の続きです。 今回は基本中の基本、文字コードと改行コードを設定します。 自宅サーバーで試します。(自宅サーバーの作り方はこちら) そのための基本設定も行いま …

(VPSでつくる) CentOS7のインストール

連載第二回目です。 VPSサーバーのOSをCentOS7にします。 CentOS7は一般的に使われるLinuxベースのサーバーで、CentOS8よりサポート期間が長いので採用しました。 今回は、Cen …

[Meisyo] Viewは不要!SQL処理高速化方法

今回の問題は、対戦成績をデータ分析用に選手対選手で個別に保存していたことから始まります。 選手個人の総合成績をView処理で出力しまいした。 ただ・・・インデックス等がないのでめっちゃ計算時間が掛かる …