php 5.3とSmarty 3

| コメント(0) | トラックバック(0)

php 5.3には色々な変更点があるが、Smartyも3系で大きな変更が行われており、
既存システムやサイトを動かそうとすると、はまりどころが多いようです。

現時点で、はまった点を忘れないように書いておきます。

・phpのエラーレポートレベルが変更されている
E_DEPRECATED が追加されていて、将来使えなくなるコードがエラーとして表示される。(標準状態)
ソースを変更しないといけないことには、変わりがないが、取り急ぎ稼働させたい場合は、
レポートレベルを変更して、エラーが出ないようにすることは可能。

error_reporting  =  E_ALL & ~E_NOTICE

error_reporting  =  E_ALL & ~E_NOTICE & ~E_DEPRECATED

・Smarty 3.0.7からpopup系のプラグインが削除されている
吹き出しみたいな感じで使えたpopupプラグインが削除されている。
継続して使いたい場合は、テンプレートに自分で記載するか、自前プラグインを作る必要有り。
(まあ、新しいサイトの場合は、使わないと思うので、大した問題ではないと思う)

・Smartyの"html_options"等のソースが変
html_options等を利用しているテンプレートで、2回目以降の表示の際に、
Call to undefined function smarty_function_escape_special_chars() in /usr/lib64/Smarty/plugins/function.html_options.php
などのエラーが表示されて、異常終了するケースが発生した。
該当のfunctionは、function.html_options.phpの33行目あたりで、require_onceでロードされているが、
キャッシュされた2回目以降の実行でうまくロード出来ない模様。

この問題は根が深そうな感じだが、取り急ぎ動作させるには、require_once → requireにすれば、
動作可能になる。

根本的な原因調査は、継続中。(Smarty本体の可能性が高いと感じている)

phpのincludeとinclude_once及びrequireとrequire_onceは、使いどころをよく考える必要有り。

トラックバック(0)

トラックバックURL: https://www.jdcn.co.jp/cgi-bin/mt/mt-tb.cgi/72

コメントする

2012年3月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.38
 
 

このブログ記事について

このページは、ゆうちゃんが2011年4月19日 11:33に書いたブログ記事です。

ひとつ前のブログ記事は「CentOS 5.6とmod_nss」です。

次のブログ記事は「perlとforkとDBI」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。