プログラマ気分

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

スポンサーサイト

2014.08.06 Wednesday

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

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

【PHP】Gumroad API Client 作ってみた

2012.02.22 Wednesday

Gumroad API が公開されていたので、PHP で API クライアントを作ってみました。だいぶ適当、且つコメント無し

https://github.com/wakuworks/php-gumroad
PHP5.3 以上、MIT ライセンス
好きに改変してください。

使い方はこんな感じ

※SplClassLoader などでクラスをロードしてください。

PHP11:45comments(0)trackbacks(0)by ニノミヤ カズノリ

【FuelPHP】parser.php の extensions 設定について

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 でしか活かされません。このメソッドを使わず、自分でインスタンスを生成した場合は、全て自分で設定しなければなりません。

以下、設定例です。

PHP20:00comments(0)trackbacks(0)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 ニノミヤ カズノリ

【Android】com.android.internal.R のリソースにアクセスする

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 のリソースを動的に読み込み、表示してみます。

▼結果
APK のリソース読み込みテスト

表示がおかしく見えますが、これはレイアウトのリソースのみ読み込んでいる為です。

Android00:07comments(1)trackbacks(0)by ニノミヤ カズノリ

calendar
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< July 2017 >>
sponsored links
selected entries
categories
archives
recent comment
recent trackback
links
profile
search this site.

others
mobile
qrcode