http://openpear.org/package/Acme_IdolMaster
どうにかした。
http://openpear.org/package/Acme_MorningMusume
を参考にやってみようと思ったら、privateをextendsしてるせいで同じプロパティが階層別にできてて、そのせいでBASEに__getを書いても値が取得できなくて超困ったので勝手にprotectedにした。
こういうときの作法がどっかにあるのかもしれないけど全然知らないので超俺俺実装。
ということでとりあえず動くようになりました。
もし文法とか駄目だったら誰かが直してくれるでしょう。きっと。
使用はこんな感じ。
ちょっとだけイテレータやメソッドチェーンも使えるようにしてみた。
Acme_IdolMaster.php
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
32
33
34
35
36
37
|
//インスタンス作成
require_once('Acme/IdolMaster.php');
$imas=new Acme_IdolMaster();
//全メンバーをループ
foreach($imas as $key=>$val){
$member_name[]=$val->family_name_ja;
}
//りっちゃんを取得
$ricchan=$imas->get('AkizukiRitsuko');
$ricchan=$imas->AkizukiRitsuko;
$ricchan=$imas->AkizukiRitsuko();
//りっちゃんのパラメータを取得
$name[]=$imas->AkizukiRitsuko->get('family_name_ja');
$name[]=$imas->AkizukiRitsuko->family_name_ja;
$name[]=$ricchan->family_name_ja();
//りっちゃんのパラメータを変更
$imas->AkizukiRitsuko->family_name_ja('名前1');
$ricchan->family_name_ja='名前2';
$ricchan->set('family_name_ja','名前3');
//りっちゃんを指定
$imas->select('AkizukiRitsuko');
$name[]=$imas->get('family_name_ja');
$name[]=$imas->family_name_ja;
$name[]=$imas->family_name_ja();
$imas->set('family_name_ja','名前4');
$imas->family_name_ja='名前5';
$imas->family_name_ja('名前6');
//指定解除
$imas->select();
|
色々な書き方をしていますが全部同じです。
使用するときは使用法を揃えておいた方がいいと思いますが。
まあ使用するときなんて存在するのかという疑問がありますが気にしない。
んでまあ、作ったのはいいんだが管理者ではないのでリリース権限がないみたい。
使いたい場合はリポジトリから拾ってきてください。
次はAcme_Loveplusでも作ってみようか。
…ていうか、この手のシリーズ中身は同じなんだから纏められたりしないもんかね。
PR
トラックバック
トラックバックURL: