Pages

2013年9月26日木曜日

ZendFramework2 DateTimeSelectを使ってみた2

DateTimeSelect が使えない問題が解決しました。

問題はレンダリング時にありました。

ファイルは
\Zend\Form\View\Helper\FormDateTimeSelect.php

こいつの最後の方にある
  • getHoursOptions
  • getMinutesOptions
  • getSecondsOptions
これです。

$date           = new DateTime('1970-01-01 00:00:00');
$key   = $keyFormatter->format($date);

途中略してますが、こんな感じで IntlDateFormatter::format のパラメータに DateTime オブジェクトを指定しているんです。

この format メソッドに DateTime オブジェクトを指定できるのは
変更履歴を見ると解るんですが、5.3.4から対応している。

そして、利用しているサーバーの intl のバージョンを確認。

# yum list install php-intl

すると結果は

php-intl.x86_64  5.3.3-23.el6_4  @updates

ってな感じで5.3.3でした。。
なので、エラーが出て時、分、秒が出てない状況だっというわけです。。

RHEL7 では5.4か5.5が標準パッケージで入りそうなので、それを利用できれば解決しそうですが、実際に利用されるまでにはあと1年以上はかかる気がするので、 intl 5.3.3 で動く方法を探すしかないですね。。

0 件のコメント:

コメントを投稿

Followers