サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
blog.livedoor.jp/rapple_lab
2014年04月01日00:00 カテゴリProgramming オブジェクト指向プログラミングデザインルール プロのプログラマとはただ仕様通りに動くプログラムを作ればいいという物ではない。 保守性や拡張性を考慮し、変更に強くバグの混在しにくいプログラムを効率よく作る必要がある。 その為に、プログラミングする上で心に留めておかなくてはならない事がある。 今回はその中でも、オブジェクト指向言語においてプログラミングする際に私が意識している事を書き留めたい。 デメテルの法則 オブジェクト間の依存度を最小限にする為に任意のオブジェクトが参照出来る範囲を下記の4つに制限する。(メソッドチェーンを許容しない) 但し、メソッドの戻り値が呼び出し元インスタンスと同じクラスの場合はメソッドチェーンを許容する。任意のオブジェクト自身メソッドの引数に渡されたオブジェクトメソッドの内部で新たにインスタンス化され
2014年05月14日01:06 カテゴリFuelPHPPHP FuelPHPのViewModelについて 今日は本当はFuelPHPでアプリケーション作成していこー!という記事を書く予定だったけど、 作ってる途中でFuelPHPのViewModelを調べてたら記事を書きたくなったので、今日はViewModelについて書こうと思う。 ViewModelを使った場合のモデリング 最初にViewModelって名前を見た時にはMVVMをサポートしているのかと思った。ViewModel使ってResponse返すとKnockout.jsのバインドでもしてくれるのかと。 でも実態は思ってた使い方と違ったのでちょっとまとめておこうと思う。 とりあえず図にしてみた。 要はView作る為の処理はViewModelに任せてしまってControllerからModelを呼び出すのは永続化とかのViewに関わらない
2014年05月12日01:49 カテゴリFuelPHPPHP FuelPHPのTemplate_Controllerが気にいらないのでTemplate機能を自作してみた Controllerの肥大化は嫌いです とりあえずFuelPHP使って何かアプリケーションを作ろうとしたのだけど、 Viewを作る時にページ全体をそれぞれのViewファイルに定義するのは非効率&保守性悪い&バグの元。 なので、普通はページのベースとなる部分を共通のTemplateとか定義して、Controllerで処理した後のViewをTemplateに定義したコンテンツ部分に当てはめるのが一般的だと思う。 FuelPHPにもその辺の事は考慮されていて、Viewの中にViewを入れ子にしたり、標準のTemplateを作っておいてそこに色々当てはめていけるController_Templateクラス何かが用意されている。
2014年05月11日01:57 カテゴリFuelPHPPHP FuelPHPのフロントコントローラをソースコードリーディングして見えてきたこと Request編 昨日は結局404時の処理の解説だけで力尽きてしまったので、今日は昨日の続きでRequestクラスの処理を解説したい。 Requestクラスの役割 forgeメソッド Requestクラスのインスタンスを生成している。 この説明だけだと、ただ単にnewすればいいだけじゃと思われるだろうけど、それだけでは無いのはソースを見れば一目瞭然 public static function forge($uri = null, $options = true, $method = null) { is_bool($options) and $options = array('route' => $options); is_string($op
2014年05月10日02:02 カテゴリFuelPHPPHP FuelPHPのフロントコントローラをソースコードリーディングして見えてきたこと 404エラー編 フロントコントローラの処理を一通り追いかけてみたので処理の流れを備忘録がてらまとめてみる。 見てる限りは拡張性高そうな感じなのでまとめておくと何かやりたい事が出来た時に役立ちそうな気はする。 基本的な処理の流れ public/index.php 説明するまでも無いかもだけど、FuelPHPで作成したWebサイトは基本的に/public/の後ろに何を指定してもまず"public/index.php"が呼び出される。 PATH設定したり処理時間・メモリ計算の為に開始時間・メモリを記録してたりするけど、メインとなるのはその後のこの部分 try { $response = Request::forge()->execute()->resp
このページを最初にブックマークしてみませんか?
『blog.livedoor.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く