PHPでOOP
■ このスレッドは過去ログ倉庫に格納されています
00011 ◆SWtzLesEmM
2007/02/23(金) 13:35:52ID:???プロシージャ指向(手続き型、構造化プログラミング)でもできますが、
オブジェクト指向を使った場合の恩恵を享受するために、
PHPでオブジェクト指向プログラミングの勉強をしてみましょう。
<目的>
PHP5でオブジェクト指向プログラミングを行なうための知識を習得する。
(PHP4のOOPもOK、このスレが1000に行く前にPHP6が出たらPHP6のOOPもOK)
<方向性>
・このスレは、プログラミング初心者、PHP初心者の勉強の場として利用することを前提にします。
・PHPのOOPの話題に限定します。
(Ruby、Python、Javaなど他言語のOOPについては、その言語のスレッドでお願いします。)
・PHPのOOP学習に役立つ本、WEBサイトの紹介をお願いします。
<その他>
・略記は、「OO」=「オブジェクト指向」、「OOP」=「オブジェクト指向プログラミング」でお願いします。
・質問をする人はなるべくトリップを付けましょう。
・荒らし、煽り、叩き、気違いは無視・無干渉でお願いします。
このスレで、今日から貴方もOOP!!!\(^o^)/
0786nobodyさん
2010/06/12(土) 05:01:32ID:???0787nobodyさん
2010/06/13(日) 07:15:58ID:???0788nobodyさん
2010/06/20(日) 11:50:01ID:???公式にオブジェクト指向ライブラリを提供すればよい
0790nobodyさん
2010/06/21(月) 16:09:23ID:L/6UXzEfオブジェクト指向(クラス)を使ってるつもりなんだけど正しいのか自信がない
クラスformPartsの中で各プルダウンやラジオボタンの要素(nameとvalue)を
外部ファイルから読み込んどいて
$fp = new formParts();
$pref = $fp->callPullDown('prefecture',$val);
$job = $fp->callPullDown('job',$val);
$sex = $fp->callRadioButton('sex',$val);
こんな感じでメソッドでパーツの種類を指定しつつ(ラジオボタンかプルダウンか)
そのパーツの要素(都道府県とか職業とか)と既定値($val)を投げて呼び出してる。
プルダウン要素とかは各メソッド内部で引数によって外部ファイルから読みこんでる。
クラスってこんな使い方でいいの? 継承とかはさっぱりわからない、どういう状況で使うんだか。
あと1さん凄いね、ガッツがあるなぁ。。
0791nobodyさん
2010/06/22(火) 02:52:17ID:???0792nobodyさん
2010/06/22(火) 02:53:02ID:???0793nobodyさん
2010/06/26(土) 22:03:26ID:lGwy0O8s0794nobodyさん
2010/06/28(月) 10:27:12ID:PXXo1bnrPHP最大の武器であるHTMLとの親和性の高さを殺してるよね
0795nobodyさん
2010/06/28(月) 20:02:03ID:???0796nobodyさん
2010/06/28(月) 22:25:44ID:???PHPのHTML埋め込みなんてもう古い
0797nobodyさん
2010/06/29(火) 01:12:38ID:???0798nobodyさん
2010/06/29(火) 07:49:52ID:???0799nobodyさん
2010/06/30(水) 18:24:45ID:???そもそも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>
こういうのとは違うの?
0800nobodyさん
2010/07/01(木) 00:39:53ID:???コードを動かすという発想で作られていない。
コードーの中でHTMLを出力するという発想。
そういう言語ではテンプレートが重要。
PHPでテンプレートの意味が薄いのは確か
ただテンプレートの意味がまったくないかというと、そうではなく
分業作業。つまりプログラマとデザイナに分かれて開発するときは便利。
デザイナはphpコードはまったく知らない。だからなるべくシンプルな
記号レベルの書き方であってほしい。しかもDreamweaverのような
HTMLエディタで見たときに不具合無く表示されるものの方がいい。
0801nobodyさん
2010/07/01(木) 14:26:10ID:ksuFUfiJいや、分かるようにPHPを書かなければならいと思う
それがPHP
0802nobodyさん
2010/07/01(木) 19:54:20ID:???まで読んだ
0803nobodyさん
2010/07/07(水) 17:20:53ID:???0804nobodyさん
2010/08/20(金) 12:31:24ID:???0805nobodyさん
2010/08/20(金) 14:43:19ID:???マルチしてんじゃないですよクソゴミww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)ww
PHPやってるやつノウタリンばっかりwwwwwwww
0806nobodyさん
2011/10/15(土) 11:25:55.76ID:???0807nobodyさん
2011/10/17(月) 12:28:57.35ID:???コーディングが楽だから、OOPで良いんです!!
0808nobodyさん
2011/12/16(金) 08:42:12.54ID:???OOPだからボトルネックが把握しやすくてメンテナンスや新実装がしやすくなる
0809nobodyさん
2011/12/18(日) 18:35:23.31ID:XDa3NN+N0810nobodyさん
2011/12/18(日) 21:04:34.89ID:???だったら書き方おかしいよ
0811nobodyさん
2011/12/19(月) 12:14:00.72ID:8JBaGfsG体感できないとは幸せだね。
0812nobodyさん
2011/12/23(金) 12:11:53.50ID:???0813nobodyさん
2012/01/12(木) 17:20:16.63ID:???コントローラを肥大させてはならないという概念ではわかりにくい。
もっと具体的に境界線を引くべきだと思う。以下俺の意見なんだけど、
MVCってユニットテストために
ユニットテストを難しくする汚染要素を隔離するためにあるのだと思う。
具体的に言うとこんな感じ。
View(GUI, xml, html, json)
Controller(Session, Request, Form, 画面遷移などWeb独自のデータ)
Model(RDB, KVS)
MとCが分離されることでMはWebスコープから分離され、CはSQLから分離される。
でもこの理屈だとVとCの関係がおかしくなっちゃうね。
CがVにデータを渡すときはリクエストスコープを経由しないで
直に関数の引数で整数や文字列、オブジェクトを渡すべきって話になるから。
0815nobodyさん
2012/01/13(金) 12:44:55.80ID:???> MVCってユニットテストために
> ユニットテストを難しくする汚染要素を隔離するためにあるのだと思う。
正しいが、これは現場的な視点の1つの考え方。
MVCは、スケーラブルなサイト構築のためのパラダイムという方が、しっくりくると思うが...
0816nobodyさん
2012/01/13(金) 14:14:37.80ID:???0817nobodyさん
2012/03/25(日) 15:09:36.84ID:AY6baIQVイメージとしてはJavaのStrutsのようなものです。
0818nobodyさん
2012/03/26(月) 23:05:27.26ID:???0823nobodyさん
2012/03/29(木) 00:32:40.17ID:???OOPに慣れてるからです。
オブジェクトとして定義するところで
phpの場合、配列になるのでいらいらします。
たとえばCakePHP。ModelがModelになっていない。
やはり後付けでOOP機能が加わった言語では無理があるのですね。
0827nobodyさん
2012/03/29(木) 12:36:50.80ID:???0830sage
2012/03/31(土) 00:44:25.15ID:5Y7rPOtM実行速度が遅いPHPではそもそも向いていない。
0834nobodyさん
2012/04/02(月) 10:00:58.63ID:???Javaのフレームワークの比較で語りましから、あなたが今までにどのJavaフレームワークを使ってきたのか教えてください
0835nobodyさん
2012/04/03(火) 02:06:22.73ID:???08371
2012/04/03(火) 05:28:27.27ID:???いやです
0838sage
2012/04/03(火) 09:03:36.19ID:s3V9thNo0839nobodyさん
2012/04/03(火) 12:55:40.44ID:???0840nobodyさん
2012/04/03(火) 13:09:50.72ID:???0841nobodyさん
2012/04/03(火) 13:40:01.23ID:???速度の面でも不利
0842nobodyさん
2012/04/03(火) 14:48:23.63ID:???0845nobodyさん
2012/04/04(水) 00:03:58.45ID:???回答者がそのフレームワークとCakePHPを比較すべき
0846nobodyさん
2012/04/04(水) 02:04:42.62ID:???phpのOOP機能は単なるおもちゃ。
0847nobodyさん
2012/04/04(水) 19:20:23.84ID:???すいません
ここのフレームワークのソースをダウンロードしたいんですが、ダウンロードできません。
どこかで入手できないでしょうか
0848nobodyさん
2012/04/04(水) 21:46:53.59ID:???10分ほどしてから再度お試しください。
0849nobodyさん
2012/04/21(土) 07:48:42.18ID:???PHP自体カス以下だし
0850nobodyさん
2012/04/25(水) 22:43:11.22ID:???参加者募集中
0851nobodyさん
2012/04/25(水) 23:12:37.13ID:???0852nobodyさん
2012/04/25(水) 23:13:48.71ID:???0853nobodyさん
2012/04/26(木) 00:11:07.09ID:???0854nobodyさん
2012/04/26(木) 03:03:15.10ID:???関数があるんだよ。
0855nobodyさん
2012/04/29(日) 05:23:36.37ID:???そして、関数名が長くて、使いたいときに思い出しにくく覚えにくい。命名法が統一されてない。
0856uy
2012/06/25(月) 19:13:52.21ID:???笑わせるなよwwww
0857nobodyさん
2012/06/26(火) 12:21:43.29ID:???便所に行ったら手ぐらい洗え
つttp://sociorocketnews.files.wordpress.com/2012/06/after-toilet-wash-your-hands-japan01.jpg
ttp://sociorocketnews.files.wordpress.com/2012/06/after-toilet-wash-your-hands-japan02.jpg
ttp://sociorocketnews.files.wordpress.com/2012/06/after-toilet-wash-your-hands-japan05.jpg
0858uy
2012/06/26(火) 12:34:02.34ID:???お前らのような下級ゴミカスとは格が違う
0859nobodyさん
2012/06/26(火) 12:39:35.58ID:???0861nobodyさん
2012/06/28(木) 00:47:58.97ID:???0862nobodyさん
2012/06/28(木) 05:06:29.82ID:???0863nobodyさん
2012/06/28(木) 12:22:49.87ID:???でも、よく言った!
0864nobodyさん
2012/06/29(金) 03:21:18.32ID:???平たく言えば何でもセッションに突っ込んでるだけなんだけどね。
0865nobodyさん
2012/07/14(土) 00:10:18.29ID:???0866nobodyさん
2012/07/16(月) 19:14:45.27ID:???だれか使いこなせてるって人いますか?
0867nobodyさん
2012/07/17(火) 07:36:18.33ID:???0868nobodyさん
2012/07/17(火) 15:16:40.35ID:???0869nobodyさん
2012/07/18(水) 09:22:42.54ID:???PHPってそういうもんだろ
0870nobodyさん
2012/07/18(水) 12:20:26.18ID:???セッション利用でOK。
0872nobodyさん
2012/07/22(日) 10:45:56.54ID:???PHPなど愚の骨頂
0873nobodyさん
2012/07/27(金) 20:37:24.49ID:???0874nobodyさん
2012/07/28(土) 00:10:09.70ID:???0876nobodyさん
2012/07/31(火) 11:18:22.44ID:???今はLOOP、すなわち論理オブジェクト指向プログラミングの時代
0877nobodyさん
2012/07/31(火) 12:11:56.61ID:???0878nobodyさん
2012/08/05(日) 00:31:48.84ID:???秀丸でちょちょいとやるのがオツってもんだ
0879nobodyさん
2012/09/27(木) 03:31:54.43ID:yKCGiKEV>実際トレイトって、あれば便利な気はするけどどこで使うのか思いつかん。
>だれか使いこなせてるって人いますか?
traitは scala から持ってきた仕組み。
(もちろん scala も他の言語から影響を受けている)
trait とは:
- Mixin - Wikipedia http://ja.wikipedia.org/wiki/Mixin
- traitは実装を含めることができるinterface
- コードのコピペをfunctionalityにしただけ
利用シーンとしては、継承したくないけど、
ある実装を、このクラスだけでは使用したいという場合に
traitを作って、それを使います。(だから、コードのコピペと表現した↑)
AS3を書いてたときはmixinはイベント機能を追加する目的で
よく使ってた
以下PHPでの実例をどうぞ↓
0880nobodyさん
2012/09/27(木) 07:12:35.38ID:???0881nobodyさん
2012/10/06(土) 00:51:33.59ID:???0882nobodyさん
2013/03/25(月) 12:45:02.49ID:???0883nobodyさん
2013/05/28(火) 08:36:15.70ID:???約 10,600,000 件 (0.13 秒)
PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET
http://www.objective-php.net/&amp;#8206;
0884nobodyさん
2013/06/21(金) 04:07:35.21ID:v9NBCNRF0885nobodyさん
2014/03/02(日) 09:39:24.54ID:???オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://toro.2ch.net/test/read.cgi/tech/1393660194/88
■ このスレッドは過去ログ倉庫に格納されています