プログラマ気分

メモや自分が思ったことを書く

スポンサーサイト

2014.08.06 Wednesday

一定期間更新がないため広告を表示しています

-|-|-|by スポンサードリンク

【FuelPHP】parser.php で Smarty のデリミタが変更出来ない件について

2012.01.24 Tuesday

【追記】1.2 で以下の問題は修正されています。

これには明確な理由があります。例を挙げて説明します。

設定ですが、packages/parser/config 内の parser.php は何もいじりません。この parser.php を app/config 内にコピーし、ここに希望のデリミタを設定します。

本来はこれでデリミタの設定は完了のはずですが、残念ながら反映されません。実際にどの様に設定されているか確認してみます。

app/config/parser.php の設定は追加と言う形で、後ろにくっついてしまっています。

どの様に設定が扱われているか、packages/parser/classes/view/smarty.php を覗いてみます。
すると、デリミタの設定部分が下の様になっています。

これを見る限り、設定したデリミタの 0 と 1 の要素を読み込んでいる事が分かります。つまり、app/config/parser.php で設定した 2 と 3 は無視される訳です。

もし、どうしても Smarty のデリミタを変更したい場合は、大元の設定ファイルを変更する、または parser オブジェクトを直接変更する事になるかと思います。

【参考 URL】
» FuelPHP › Forums | General | Parser

PHP01:48comments(0)trackbacks(0)by ニノミヤ カズノリ

【FuelPHP】Fieldset_Field#add_rule を掘り下げる

2012.01.23 Monday

Validation でのフィルタは、小さいですがドキュメントにも記載されています。
» Validation - Classes - FuelPHP Documentation

どの様に実行されているかは、Validation#_run_rule 内を見ると分かります。

call_user_func_array を用いてルールを実行している為、trim と言った標準関数も呼び出せるという訳です。

ちなみに入力値の先頭から五文字目を抜き出したいと言った場合、この様に記述します。

後は validated() で取得出来ます。

次いで、callback で指定したい場合です。
(add_field での指定は分かっていないので、add_rule のみ説明します。)

callback の詳しい説明は下記を参照してください。
» PHP: 本ドキュメントにおける疑似的な型および変数 - Manual

例えば、下記の様なインスタンスメソッドと静的メソッドがあったとします。
(やっている事は内部で mb_substr を使っているだけです。)

これを add_rule するなら下記の様になります。

callback での指定方法はドキュメントには載っていない(と思う)ですが、add_rule のソースを見ると、引数が $callback となっているので、想定した作りなんでしょうね。

PHP00:27comments(0)trackbacks(0)by ニノミヤ カズノリ

【FuelPHP】フォームの内容を配列で受け取った場合、バリデートはどうやるの?

2012.01.21 Saturday

まず始めに、FuelPHP の Validation について知らない方は、この記事を読む前に下の記事を一読することをオススメします。
» Tatsuya Blog » [FuelPHP]Validationの使い方

Validation はとても簡単ですが、ドキュメントにも書かれてなく、常々疑問に思っていたことがありました。

それは、
「フォームの内容を配列で受け取った場合、バリデートはどうやるの?」です。

「フォームの内容を配列で受け取る」と言うのは、下の構造で送信された場合を指します。(※三つの入力ボックスを置いています。)

これらの値を FuelPHP の Validation を通して取得したいと考えた時、真っ先に CodeIgniter での設定方法を思い浮かべました。

しかし、入力ボックスに入力した内容はどれ一つ取得できません。

$validation->validated() の中身を覗いてみます。

結果

理由はよく分かりませんが、設定の仕方が違うみたいです。

何か方法が無いか調べていたところ、一つのサイトを発見しました。
» FuelPHP Input arrays validation | Manuel João Silva

内容を見て分かった事は下記の二点

つまり、最初の入力ボックスの値をバリデートしたいのであれば、下記のとおり

全ての入力ボックスの値をバリデートしたいのであれば、下記のとおり

態々、一つ一つ追加するのは面倒ですが、うまくバリデートは出来ました。

PHP21:37comments(0)trackbacks(0)by ニノミヤ カズノリ

【PHP】TwitterOAuth でアイコンや背景画像を変更してみる

2011.09.11 Sunday

Twitter との連携で何かとお世話になっている twitteroauth ですが、account/update_profile_image や、account/update_profile_background_image には対応しておらず、自分で実装する必要があります。

【実装例】
http://d.hatena.ne.jp/bardothodol/20100526

ただ、この修正だとパスの指定しか出来ない為、動的変更においては些か不便です。また、cURL の仕様によって @ マークを付けなくてはならないのも邪魔に感じます。そこで、自分なりに更に手を加えてみました。

バイナリでも指定が可能なので、かなり楽かなと思います。

全ソースコード載せたので、大分長いですね…。

参考サイト:
poochin's tech blog: OAuth/Twitter API で画像をアップロードする方法

PHP18:15comments(0)trackbacks(0)by ニノミヤ カズノリ

【PHP】オブジェクトを何にでもキャストする

2011.07.17 Sunday

PHP でダウンキャストが可能なのかを調べている時、下記のページを発見。
php5 - How to Cast Objects in PHP - Stack Overflow

少し手直ししてみました。

結論から言うと、serialize, unserialize を使えば何にでもキャスト出来ます。
(※あまりにも強力過ぎるので、使用はオススメしませんが。。)

PHP16:49comments(0)trackbacks(0)by ニノミヤ カズノリ

calendar
     12
3456789
10111213141516
17181920212223
24252627282930
<< September 2017 >>
sponsored links
selected entries
categories
archives
recent comment
recent trackback
links
profile
search this site.

others
mobile
qrcode