一定期間更新がないため広告を表示しています
2014.08.06 Wednesday
一定期間更新がないため広告を表示しています
-||-|-|by スポンサードリンク
2012.01.29 Sunday
parser.php では、どの拡張子がどのテンプレートエンジンを使うかを設定できます。例えば、packages/parser/config/parser.php ではこの様に設定されています。
Smarty を愛用している事もあって、テンプレートを .smarty とするのは違和感があります。そこで、.tpl を View_Smarty に結びつく様にしてみます。
これで設定は完了です。次にテンプレートを読み込んでみます。
読み込む上で、下記二点に注意してください。
これらを踏まえて書いたソースはこちら
拡張子を省略しても、もちろん動作はします。
その場合は、各クラスの extension プロパティが適用されます。
View_Smarty の extension はデフォルトが "smarty" ですから、下記は welcome/index.smarty を読み込む事になります。
また、parser.php での拡張子の設定は、Parser¥View#forge でしか活かされません。このメソッドを使わず、自分でインスタンスを生成した場合は、全て自分で設定しなければなりません。
以下、設定例です。
PHP|20:00|comments(0)|trackbacks(0)|by ニノミヤ カズノリ
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
PHP|01:48|comments(0)|trackbacks(0)|by ニノミヤ カズノリ
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 となっているので、想定した作りなんでしょうね。
PHP|00:27|comments(0)|trackbacks(0)|by ニノミヤ カズノリ
2012.01.22 Sunday
Android のリソースを活用する際、通常 public の物以外はアクセス出来ません。しかし、時として private なリソースを扱いたい事もあるかも知れません。
よくある方法は、SDK から直接リソースを持ってくる方法です。
下記にリソースがありますので、プロジェクトにコピーして使います。
[SDK_DIR]/platforms/android-n/data/res
もう一つの方法は、APK 内からプログラムを用いて取得する方法です。
この場合も、private 関係なくリソースにアクセス出来ます。
【参考URL】
» mpigulski: Accessing com.android.internal.R resources from APK
この方法の利点としては、端末毎に UI が違っていても、それに合わせてリソースを取得できる点かと思います。(Drawable など)
実際にテストとして、QuickSearchBox のリソースを動的に読み込み、表示してみます。
▼結果
表示がおかしく見えますが、これはレイアウトのリソースのみ読み込んでいる為です。
Android|00:07|comments(1)|trackbacks(0)|by ニノミヤ カズノリ
2012.01.21 Saturday
まず始めに、FuelPHP の Validation について知らない方は、この記事を読む前に下の記事を一読することをオススメします。
» Tatsuya Blog » [FuelPHP]Validationの使い方
Validation はとても簡単ですが、ドキュメントにも書かれてなく、常々疑問に思っていたことがありました。
それは、
「フォームの内容を配列で受け取った場合、バリデートはどうやるの?」です。
「フォームの内容を配列で受け取る」と言うのは、下の構造で送信された場合を指します。(※三つの入力ボックスを置いています。)
これらの値を FuelPHP の Validation を通して取得したいと考えた時、真っ先に CodeIgniter での設定方法を思い浮かべました。
しかし、入力ボックスに入力した内容はどれ一つ取得できません。
$validation->validated() の中身を覗いてみます。
結果
理由はよく分かりませんが、設定の仕方が違うみたいです。
何か方法が無いか調べていたところ、一つのサイトを発見しました。
» FuelPHP Input arrays validation | Manuel João Silva
内容を見て分かった事は下記の二点
つまり、最初の入力ボックスの値をバリデートしたいのであれば、下記のとおり
全ての入力ボックスの値をバリデートしたいのであれば、下記のとおり
態々、一つ一つ追加するのは面倒ですが、うまくバリデートは出来ました。
PHP|21:37|comments(0)|trackbacks(0)|by ニノミヤ カズノリ
page top▲ | 1/1PAGES |