のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,847人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレPHPでOOP

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - cake + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    751 : nobodyさん - 2009/07/02(木) 09:12:44 ID:???.net (+8,-19,+0)
    >>748
    秋田w
    752 : nobodyさん - 2009/08/27(木) 07:51:29 ID:???.net (+69,+29,-30)
    >>748
    最初に設定していた目標が概ね達成出来たからじゃね?w
    っていうか、このスレに求めているものを書いていけば
    盛り上がりを戻す可能性もあると思うよ。
    質問するとか、何かソースを提供するとか。
    753 : nobodyさん - 2009/10/25(日) 21:56:08 ID:???.net (+51,+28,+0)
    一応保守しておきます。
    754 : nobodyさん - 2009/10/30(金) 22:56:19 ID:???.net (+47,+22,-14)
    OOPのしっかりしてるFWどれ
    755 : nobodyさん - 2009/11/13(金) 21:51:59 ID:???.net (+57,+29,-36)
    FWは、その開発目的によるので、結論は出ない。
    いや、あおりとかじゃなくて。
    756 : nobodyさん - 2009/11/19(木) 15:33:07 ID:???.net (+30,-2,-7)
    コードの参考になるのはどれかと
    757 : 1 ◆SWtzL - 2009/12/17(木) 22:30:30 ID:???.net (+3,-30,-109)
    PHPのフレームワークでMVCのタイプを使ってみました。
    同じ機能を作るのに、コードを書く量が少なくて済むと楽ですね!

    ただ、MVCだとスクリプトのファイル数が多くなると、ゴチャゴチャして見づらいと思いました。
    MVC以外のフレームワークでオススメのものはありますか?

    http://www.slideshare.net/NetPenguin/mvc-2659370
    ・PAC
    ・RecursiveMVC(HMVC)
    ・MMVC
    ・Doc/View
    という仕組みが紹介されていました。
    758 : nobodyさん - 2009/12/17(木) 22:33:57 ID:???.net (+44,+26,+0)
    特に無い
    759 : 1 ◆SWtzL - 2009/12/17(木) 22:48:51 ID:???.net (+17,-30,-310)
    >>754
    http://d.hatena.ne.jp/sotarok/20091126/modern_php_programming_at_pfi
    ↑このスライド資料の72ページ目に、PHPフレームワークの評価が紹介されていました。

    ・CakePHP
     世界でも日本でも大流行り。当然日本語での情報量も多い。
     Modelが使いやすい。それ以外は嫌いだけど。
     Cake3が別フレームワークにfork

    ・ZendFramework
     世界的にシェアNo.1?
     書く量の減らないドMフレームワーク
      というかいわゆるライブラリ群

    ・symfony
     これも利用者多い
     大規模向け。がっちりしてる。

    ・Ethna
     グリーはこれで動いている!(古いバージョンだけど)

    ・rhaco2
     大本命の超変態フレームワーク
     すごい

    Ruby(RoR)っぽいFW → CakePHP / Lithium
    Java(Struts)っぽいFW → symfony
    Python(Django)っぽいFW → rhaco
    というかんじでしょうか?
    760 : 1 ◆SWtzL - 2009/12/17(木) 22:56:44 ID:???.net (+67,+29,-120)
    >>756
    http://d.hatena.ne.jp/kagigotonet/20091215/1260851032
    >PHPはWeb特化言語という特性上他の言語では見られない強力な仕組みがあります。
    >その特徴は他の言語では参照で取り回すところを文字列で取り回すところである、と言えるでしょう。
    >可変関数
    >PHPのフレームワークは、これを基本としています。ライブラリ、モジュールを動的にロードするのが非常に容易
    >可変変数
    >このように可変変数や可変引数を組み合わせるだけでも、少ないコード量でかなり複雑なことが可能になります。

    各フレームワークのディスパッチ(処理の割当て)の仕組みを見ると、参考になりますね。
    761 : 1 ◆SWtzL - 2009/12/17(木) 23:07:31 ID:???.net (+66,+29,-13)
    >>750
    「名前空間」を活用すると、たくさんモジュールを作っても分類が楽になりますね!
    http://d.hatena.ne.jp/Fivestar/20091215
    http://prezi.com/0-vyhjdkslih/
    762 : nobodyさん - 2009/12/17(木) 23:10:38 ID:???.net (+57,+29,-6)
    人の書いた文章を全文コピペするのはどうかと思うよ
    763 : nobodyさん - 2009/12/17(木) 23:11:20 ID:???.net (+54,+29,-5)
    あ、上のは主に>>759に対してね
    764 : 1 ◆SWtzL - 2009/12/17(木) 23:43:57 ID:???.net (+13,-29,-128)
    >>734
    >Viewにループしてもらったほうがスッキリ
    そうですね。
    データをループ表示させるのは、ビューの役割。

    ビューの部分には
    ・テンプレート(HTMLファイル)
    ・テンプレートエンジン(HTMLファイルに文字列を当てはめるパーサー)
    の二つが含まれている形にすれば、
    表示に関するロジック(繰返し表示の処理など)はビューの中に置けばOK
    =表示に関する機能を修正する場合、ビューの中を探せばOK
    765 : 1 ◆SWtzL - 2009/12/18(金) 00:45:09 ID:???.net (-4,-30,+0)
    >>727
    MVCのモデルはどんなふうに作るか?という話で、
    ・トランザクションスクリプト
    ・ドメインモデル
    という二つのスタイルがあるそうです。

    http://pc11.2ch.net/test/read.cgi/php/1241341332/
    http://proshile.blog.drecom.jp/archive/616
    ・トランザクションスクリプト
     →古きよきC言語時代の関数が主体の書き方
    ・ドメインオブジェクト
     →オブジェクト毎に内包する値と役割の責務を明確にしたOOPライクな書き方

    MVCのモデルの部分は2層に分けて、
    (1)ビジネスロジックコンポーネント
    (2)デーアクセスロジックコンポーネント(O/Rマッパーを含む)
    と分類する考え方があるそうです。

    http://satoshi.blogs.com/life/2009/10/rails_mvc.html
    http://d.hatena.ne.jp/p4life/20091014/1255532618
    >Skinny Controller, Fat Model
    ・コントローラーはシンプルにする
    ・モデルに処理を集約する → 上記(1)ビジネスロジック=データの加工を担当
    ・モデルはデータの整合性を保証する → 上記(2)データアクセスロジック=データの読み書きを担当

    http://www.virtual-tech.net/blog/2008/10/reflex-restful.html
    /nox/remoteimages/39/3b/ff13dc4c68c390d73d0743bb5aff.png↑この図だと、モデルの部分が2層に分かれていて、
    サービス層=上記(1)
    ドメイン層=上記(2)
    という形になるかと思います。
    766 : 1 ◆SWtzL - 2009/12/18(金) 00:55:44 ID:???.net (+54,+29,-164)
    >>728
    C側に書いてあるコードを、なるべくM側の方に移動した方がスッキリするかも?
    CとMの間のデータ受け渡しについて、こんな記事がありました。

    http://q.hatena.ne.jp/1242894491
    >個々のSetterをオーバーライド出来るところが
    >symfonyの便利な部分じゃないでしょうか。
    >これが出来ないと個々のコントローラでデータを加工するハメになります・・。
    >「MVCとして洗練されている」というのは
    >「MVCに忠実に機能している」というのと同義かと思います。

    一口にOOPと言っても、各フレームワークでちょっとずつ使い方に違いがありますね。
    767 : 1 ◆SWtzL - 2009/12/18(金) 01:20:21 ID:???.net (+72,+29,-75)
    >>89
    フレームワークを使ってみて、OOPの使い方の理解が深まりました。
    皆さん、たくさんのアドバイスをいただき、どうもありがとうございました。
    分からないことがあっても、検索したり質問して1個ずつ埋めていけば、確実に進歩できると思います。

    どんなプロフェッショナルな人でも、最初は素人だった…
    これからPHPの勉強を始める方がいましたら、焦らずに頑張ってくださいね!(*^o^*)/
    768 : nobodyさん - 2010/01/16(土) 21:42:43 ID:???.net (+14,-8,-15)
    どのフレームワーク?
    769 : nobodyさん - 2010/03/05(金) 11:55:14 ID:???.net (+55,+27,-1)
    http://www.phppro.jp/school/oop/vol1/1
    サイト見つけたので紹介しておきます。
    770 : nobodyさん - 2010/04/20(火) 14:58:53 ID:???.net (+47,+19,-38)
    オブジェクト指向ってrequire文とinclude文みたいな考えと同じかな?
    必要なときにどこからでも呼び出せるプログラムみたいなものだよね。
    771 : nobodyさん - 2010/04/20(火) 18:56:50 ID:???.net (+43,+25,-1)
    うん
    772 : nobodyさん - 2010/04/21(水) 02:32:40 ID:???.net (+72,+29,-100)
    OOPの説明で一番わかりやすかったのがプレーヤーの例

    プレーヤーを継承した CDプレーヤー,MP3プレーヤー がある
    それぞれに 再生,停止,早送り,巻き戻し,次トラック,前トラック という機能(メソッド)がある

    具体的な処理はそれぞれが行うので,使う人はプレーヤーの処理している内容を
    理解している必要はなく,再生したいときに再生ボタンを押すという事だけ
    分かっていればいい。(カプセル化)

    つまり考え方であって,そういう意味では間違ってないのかもしれない。
    773 : nobodyさん - 2010/04/21(水) 23:48:02 ID:???.net (+76,+29,-34)
    それぞれにあるのではなく、プレイヤーという抽象クラスにあるのでは?
    774 : nobodyさん - 2010/04/22(木) 01:28:13 ID:???.net (+66,+29,+0)
    >>773
    ダックタイピングなら、それぞれにあってもいいよね
    775 : nobodyさん - 2010/04/22(木) 20:41:56 ID:???.net (+37,+0,-11)
    OOPの説明でダックタイピングの例出すの?
    776 : 772 - 2010/04/22(木) 23:04:57 ID:???.net (+68,+29,-32)
    >>773
    そうなんだけど,具体的な実装がそれぞれ違うという意味で
    ああいう書き方にした。
    777 : nobodyさん - 2010/04/23(金) 00:43:27 ID:???.net (+68,+30,-170)
    >>775
    PHPは型にしばられない(しばられなさすぎて困る)スクリプト言語だからね。

    逆に、静的言語のように型を意識しすぎると、スクリプト言語のメリットが少なくなると思う。

    「じゃぁ、お前、クラス階層つかわねーのか?」と言われればノー
    コンポーネント(レイヤ)の中では、型を意識し、拡張する場合は継承も使用する。
    コンポーネント間の接続は型ではなくメッセージ(メソッド)に束縛させるように意識している。

    でも最近は、interface作って、抽象クラス作ってというのがおっくうになってきたので、可能ならメソッドポインタによるコールバックで済ませちゃうこともしばしば。
    778 : nobodyさん - 2010/04/30(金) 11:21:02 ID:???.net (+57,+29,-24)
    Yiiブログチュートリアル 日本語訳
    http://www.craftgear.net/docs/yii_blog_tutorial/index.html
    本家の日本語訳が途中でストップしてるけど、こちらは全部訳してある。

    本家
    http://www.yiiframework.com/doc/blog/ja
    779 : nobodyさん - 2010/05/22(土) 17:38:18 ID:???.net (+48,+25,+0)
    保守しておきます。
    780 : nobodyさん - 2010/05/24(月) 00:43:02 ID:???.net (+55,+27,-28)

    javaや.NETはたまたPythonあたりの純血PGが書けばOOPっぽいソースになると思うよ。
    PerlとかPHPから始めました、ってのはだめだな。
    782 : nobodyさん - 2010/06/09(水) 21:02:23 ID:???.net (+52,+29,-29)
    遅延静的束縛とか
    名前空間とか
    783 : nobodyさん - 2010/06/09(水) 22:05:43 ID:???.net (-2,-25,-2)
    名前空間は5.3だろ
    784 : nobodyさん - 2010/06/09(水) 22:50:19 ID:???.net (+52,+29,-28)
    遅延静的束縛もですが
    785 : nobodyさん - 2010/06/11(金) 20:18:27 ID:???.net (+5,-22,-69)
    機能追加がほとんどか。
    じゃあ、PHP5のコードをPHP6に移植しても問題なく動くってことでいい?
    PHP4→PHP5のときは大変みたいだったけど。
    同じ思いをしたくない。
    786 : nobodyさん - 2010/06/12(土) 05:01:32 ID:???.net (+40,+17,-15)
    互換性見れば分かるだろ
    787 : nobodyさん - 2010/06/13(日) 07:15:58 ID:???.net (+57,+29,-32)
    逆に互換性なんかいいから関数の無茶苦茶な命名規則とか直して欲しい
    788 : nobodyさん - 2010/06/20(日) 11:50:01 ID:???.net (+52,+23,-22)
    関数はもうほうっておいて、
    公式にオブジェクト指向ライブラリを提供すればよい
    789 : nobodyさん - 2010/06/20(日) 15:53:03 ID:???.net (+5,-29,-3)
    >>788
    SPLって公式じゃないの?
    791 : nobodyさん - 2010/06/22(火) 02:52:17 ID:???.net (+8,-9,-1)
    OOではないな
    792 : nobodyさん - 2010/06/22(火) 02:53:02 ID:???.net (+52,+29,-4)
    分からないなら普通に勉強しろよ・・・
    793 : nobodyさん - 2010/06/26(土) 22:03:26 ID:lGwy0O8s.net (+19,+29,-11)
    ツールの勉強する前に基本を勉強しろ
    794 : nobodyさん - 2010/06/28(月) 10:27:12 ID:PXXo1bnr.net (+24,+29,-6)
    oopってさ
    PHP最大の武器であるHTMLとの親和性の高さを殺してるよね
    795 : nobodyさん - 2010/06/28(月) 20:02:03 ID:???.net (+37,+19,-2)
    なんで?
    796 : nobodyさん - 2010/06/28(月) 22:25:44 ID:???.net (+7,-20,-19)
    いまの流行はテンプレートだから
    PHPのHTML埋め込みなんてもう古い
    797 : nobodyさん - 2010/06/29(火) 01:12:38 ID:???.net (+57,+29,-2)
    そんな流行もあったねぇ。今は違うよ。
    798 : nobodyさん - 2010/06/29(火) 07:49:52 ID:???.net (+27,+9,+0)
    kwsk
    799 : nobodyさん - 2010/06/30(水) 18:24:45 ID:???.net (-2,-30,-163)
    テンプレートってどんな利点があるの?
    そもそもPHP自体テンプレートみたな言語じゃん。

    index.php
     <?php
     $title = "hoge";
     $hello = "hello world";
     include "template.php";
     ?>

    template.php
     <html>
     <head><title><?php echo $title ?></title><head>
     <body>
     <h1><?php echo $hello ?></h1>
     </body>
     </html>

    こういうのとは違うの?
    800 : nobodyさん - 2010/07/01(木) 00:39:53 ID:???.net (+62,+29,-186)
    ほとんどの言語は、HTMLの中で
    コードを動かすという発想で作られていない。
    コードーの中でHTMLを出力するという発想。

    そういう言語ではテンプレートが重要。
    PHPでテンプレートの意味が薄いのは確か

    ただテンプレートの意味がまったくないかというと、そうではなく
    分業作業。つまりプログラマとデザイナに分かれて開発するときは便利。
    デザイナはphpコードはまったく知らない。だからなるべくシンプルな
    記号レベルの書き方であってほしい。しかもDreamweaverのような
    HTMLエディタで見たときに不具合無く表示されるものの方がいい。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - cake + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について