PHPでOOP (894レス)
上下前次1-新
267: 2008/02/06(水)17:31 ID:??? AAS
>>266
別にわかんなくったって、やってけるから大丈夫。
無理に背伸びする必要は無い。
268: に ◆lKs5QMUHoA 2008/02/06(水)20:19 ID:??? AAS
フレームワークの解説に関するサイトを見つけました。
ここで概要をつかんだ後、実際に触れてみるといいかもしれない。
ASP.NET vs. Struts
フレームワーク徹底比較[前編]
外部リンク[html]:www.atmarkit.co.jp
この文章書いてる人、ネットワーク関連の書籍でよく見かけるよね。
269(1): 2008/02/07(木)10:03 ID:??? AAS
>>261
> OOPに対する基本的概念への理解があまりにも無さ過ぎると思うんだ。
> >>255にしても、Executeメソッドに呼ばれる仕組み作ってんのに、
> なんで新しいメソッド実装して直接呼びたがるんだろう?
> あれほどインタフェイスだけで実装するんだと(ry
ちいたんのフレームワークは、Modelにinsertやdelを持ってるからそれを
参考に設計してみたんだけど。
外部リンク[php]:php.cheetan.net
俺はこれから勉強していくところなので理解がないのは認めるが、
このあたりはどういう見解なのかを教えて欲しい。
省3
270(1): 2008/02/07(木)10:24 ID:??? AAS
>>269
フレームワーク実装に正解も不正解も無いと思うけどね・・
例えば
・クラスを使った構造化的メソッド呼び出し
$model->insert();
$model->del();
よりも
・ポリモーフィズム
$insert->execute();
$del->execute();
省6
271(1): 2008/02/07(木)10:55 ID:??? AAS
>>270
レスサンクス。となると、
class CInsert extend CView、class CDel extend CView、・・・
みたいな設計にするということ?
ちょっと大雑把になってるけど、CInsertはこんな感じに実装するとか。
(テーブルのフィールドは、a,b,cという場合。)
class CInsert extend CView{
var $field_a;
var $field_b;
var $field_c;
省18
272(1): 2008/02/07(木)11:32 ID:??? AAS
じゃ、用件仕様はこんな感じで良いのか?
[認証]
→・ID、パスワードにて認証
・認証成功で[メニュー]へ移動
[メニュー]
→・(新規)[個人情報入力]、[検索指定]画面へ移動するボタンがある
[個人情報入力]
→・名前、性別 を登録
[検索指定]
→・氏名のキーワードを含む検索、性別指定が出来る。
省4
273(1): 2008/02/07(木)12:35 ID:??? AAS
>>271今こんな感じ。
[DataModel.php]
<?php
/**
* データModel抽象クラスです。
*/
class DataModel extends Model
{
# @access private
var $_items;
省14
274(1): 2008/02/07(木)12:36 ID:??? AAS
[InsertModel.php]
<?php
/**
* データ追加Model抽象クラスです。
*/
class InsertModel extends DataModel
{
# @access sealed
function & _onExecute(&$param)
{
省8
275(1): 2008/02/07(木)12:37 ID:??? AAS
[SampleInsertModel.php]
<?php
/**
* データ追加 サンプルクラスです。
*/
class SampleInsertModel extends InsertModel
{
# @access protected
function & _onInsert(&$param)
{
省19
276: 2008/02/07(木)13:59 ID:??? AAS
細かい指摘になるけれど、継承関係の勉強中なので質問で書き込みします。
[InsertModel.php]
class InsertModel extends DataModel
function & _onExecute(&$param) のところは、
return $this->_OnInsert(&$param); となっているけれど、
return $this->_onInsert(&$param); が正しいという解釈で良いのですよね?
277: 2008/02/07(木)14:16 ID:??? AAS
>>273-275
ソースのサンプルサンクス。
イメージしてたよりも継承が多いですね。
全体ソースコードの可読性よりも、クラス単位での
再利用性を考えた場合は、このような構成になる
のでしょうね。早く慣れないといけません。
278: 2008/02/07(木)15:36 ID:??? AAS
まだ中身が出来ていない状況なので、修正の必要はあるだろうけど、
こんな感じでドキュメントもまとめていくと、分かりやすくなるだろうね。
■SampleInsertModelクラス[SampleInsertModel.php]
Model - DataModel - InsertModel - SampleInsertModel
◎概要
DBへのデータの記録、読み取りを行うクラス。
◎メンバ一覧
[publicコンストラクタ]
SampleInsertModel()
[publicメソッド]
省8
279(2): 2008/02/07(木)23:22 ID:??? AAS
>>263 ひとまず出来ました・・疲れました・説明は後でアップしようと思います・・
外部リンク[zip]:proxy.f3.ymdb.yahoofs.jp
280: に ◆lKs5QMUHoA 2008/02/07(木)23:27 ID:??? AAS
>>279
乙です。じっくりソースを読んでみます。
281(2): に ◆lKs5QMUHoA 2008/02/08(金)08:04 ID:??? AAS
せっかくプログラムを作っていただいたのだから、みんなでその説明文章をまとめるといいかもね。
例えば、こんな感じでhtmlで書いておいて、ファイル名をクリックすると、その詳細の説明のページに飛ぶとか。
[abstract]
[controls]
空
[models]
DataModel.php、DeleteModel.php、InsertModel.php、SelectModel.php、UpdateModel.php
[views]
HtmlQuickFormSmartyView.php、RenderView.php
[controls]
省20
282: 2008/02/08(金)08:10 ID:??? AAS
>>281
>>279ですがphpDocumentorで今作っているのでちょっと待っててね。
283: 2008/02/08(金)08:52 ID:??? AAS
phpDocumentorにソース読み込ませて吐かせただけです。
外部リンク[zip]:proxy.f3.ymdb.yahoofs.jp
フォルダ内のindex.htmlです、荒いですがご容赦を。
とりあえずトライアルなんでまだリファクタ出来そうだけど・・
[コントローラの処理]
_form_onLoad
_buttonHoge_onClick
[モデルの処理]
_onSelect
_onInsert
省9
284: 2008/02/08(金)09:26 ID:??? AAS
ファイルが見れん・・・
285(1): 2008/02/08(金)11:03 ID:??? AAS
OOP FW ソース
外部リンク[zip]:proxy.f3.ymdb.yahoofs.jp
OOP FW ドキュメント
外部リンク[zip]:proxy.f3.ymdb.yahoofs.jp
すいません再アップしました、ドキュメントにControlが反映されてませんでした。
286: 2008/02/08(金)11:20 ID:??? AAS
サンクス
上下前次1-新書関写板覧索設栞歴
あと 608 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s