PHPを7.0にアップデート

思い立ったので思い切ってPHPを7.0にアップデートしてみました。

WordPressもDokuwikiも問題なく動いているようです。

それ以外の古いライブラリでは、ちょこちょこ修正が必要でした。(split()の廃止とか…)

GCalendar HolidaysのGoogle Calendar API V3対応

(追記)
Wikiの方も更新しました → GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]
(追記終わり)

GCalendar Holidaysで使っていたGoogle Calendar API V2が遂に廃止になってしまいました。(かなり前からDeprecatedになっていて、廃止日も告知されていたのですが、気がついたらもう過ぎていました。)

APIのV3はGoogleのAPI KEYが必須になるため、公開されるJavaScriptからのアクセスは難しいです。(API KEY側にIPアドレス制限が設けられるようですが、それはそれで面倒…)

そこで、とりあえずGoogle AppEngine経由で、Google Calendar API V3から取ったにほんの祝日情報をJSONPで返すようにしました。一部の機能(Googleカレンダー公式版の祝日以外の取得、ブラウザ側のキャッシュ)は未実装ですが、とりあえずGoogle Codeにはあげました。自分のサイトの方も、ぼちぼち更新したいとは思います。

Google AppEngine for PHPは便利ですね。使い慣れないPythonで調べながら作るのもそれはそれで楽しいですが、必要に迫られた時は勝手知ったるPHPでできるのが便利です。
Google Cloud SDKなんてのもできたんですね。AppEngine使うだけなら、今までと変わりませんが…

PHP-Manual.cssを更新しました

なんとなく、PHP-Manual.cssを更新してみました。主に見た目の変更で、その中でも、グレー基調だったのを緑主体に変えたことが中心です。(安らぎを求めるなんて、疲れてるんでしょうか。)グラデーションもやめて、フラットデザインっぽくなって…ますか?

動作サンプルは、こちらのPHP マニュアルです。ちなみに、このマニュアルは毎週最新化されています。

そういえば、本家のPHPサイトが、かなり大きくデザイン変わりましたね。良くなったと思います。

PHP製お手軽マスタ管理ツールをGithubで公開しました

Excelのように気軽に編集できて、Excelよりも縛りのある汎用的なマスタ管理用ツールが欲しかったので作りました。Mastersです。今回はGithubで公開しました。

RailsのScaffoldのように編集するたびに画面遷移するのが嫌なので、表上でダブルクリックで編集できるようにしました。検索も好きな項目を好きなだけ指定して絞り込めるようにしました。

TODOとしては、

  • 日付の入力補助用にDatepickerを付ける
  • 外部キーはIDではなくそれを表す名前を表示する(編集モードにすれば今でも確認できますが)

といったところでしょうか。

技術的な話をすると、内部的にはP3 Frameworkを使っていて、jscdnやBootstrapCDN経由でjQuery, Twitter Bootstrap, Bootswatch, Font Awesomeを使っています。

ところで、今回はSourceTreeを使い始めた記念でGithubで公開しました。最近は勉強がてらGitを使うようにしてるのですが、1人で開発することが多いせいか、いまだにSubversionの方が便利な気がしてます…。

サーバをAmazon EC2に移行しました

何となくグズグズして先延ばしにしていたのですが、一念発起してサーバをAmazon EC2に移行しました。下記のように、大幅なグレードアップです。スッキリしました。

  • ハードウェア:ドスパラのミニPC → Amazon EC2
  • OS:Windows XP → Amazon Linux
  • Webサーバ:Apache 2.2 → Apache 2.4 + mod_pagespeed + mod_security
  • PHP:PHP5.2 + eAccelerator → PHP5.4 + APC
  • DB:MySQL 5.0 → MySQL 5.5
  • DokuWiki:最新化、テーマは新テーマ”dokuwiki”

ドスパラのミニPCはカレコレ6年近くもほぼ連続稼動していたわけで、よくもまあ壊れなかったものだと思います。(内蔵ファンは動かなくなったので外付けファンを付けて冷やしてましたが。)

その他の感想としては、

  • Amazon LinuxはデフォルトのyumでApache2.4とかPHP5.4とか入れられるのが良い。ダウンロードが速いし。
  • mod_pagespeedは面白いけど、deflateとexpiresは自分できちんと設定したほうが良い。(対象が狭いので。)
  • mod_pagespeedのGoogle Analytics自動挿入は便利。
  • mod_securityのデフォルトのルールはDokuWikiと相性悪い。(デフォルトで使うものではないのだろうけど。)
  • PHP5.2から5.4への移行でエラーが出まくるとかと思ったけど、意外に大丈夫だった。
  • DokuWikiの新テーマは見やすくて使いやすくて良い。

 

JAXのバグを修正しました

PHPで手軽に配列・JSON・XMLを相互変換するライブラリJAX.phpにバグがあるというメールを頂いたので修正しました。修正後のバージョンは0.1.1です。

バグの内容は、XMLに変換するデータに「&」等のXMLで許可されない文字を含んでいる場合にエラーになるというものです。

こういうご連絡をもらえるというのはありがたいですね。 🙂

PHPのスニペット集的ライブラリと、予約語取得スクリプトを公開しました

久しぶりの新作公開です。

痒い所に手が届く、PHPの文字列系関数を中心としたスニペット集的ライブラリのTe.phpと、PHPの予約語をまとめて取得するスクリプトを公開しました。

2012年も終わりですね。去年(2011年)はスマホ元年でしたが、来年(2013年)はタブレット元年です。Webの作り方も変わってくるでしょうね。何はともあれ、良いお年を!