PHPでOOP (894レス)
上下前次1-新
1(18): 1 ◆SWtzLesEmM [age] 2007/02/23(金)13:35 ID:??? AAS
PHPを使ってプログラミングするとき、
プロシージャ指向(手続き型、構造化プログラミング)でもできますが、
オブジェクト指向を使った場合の恩恵を享受するために、
PHPでオブジェクト指向プログラミングの勉強をしてみましょう。
<目的>
PHP5でオブジェクト指向プログラミングを行なうための知識を習得する。
(PHP4のOOPもOK、このスレが1000に行く前にPHP6が出たらPHP6のOOPもOK)
<方向性>
・このスレは、プログラミング初心者、PHP初心者の勉強の場として利用することを前提にします。
・PHPのOOPの話題に限定します。
省7
768: [age] 2010/01/16(土)21:42 ID:??? AAS
どのフレームワーク?
769: [age] 2010/03/05(金)11:55 ID:??? AAS
外部リンク:www.phppro.jp
サイト見つけたので紹介しておきます。
770: [age] 2010/04/20(火)14:58 ID:??? AAS
オブジェクト指向ってrequire文とinclude文みたいな考えと同じかな?
必要なときにどこからでも呼び出せるプログラムみたいなものだよね。
771: 2010/04/20(火)18:56 ID:??? AAS
うん
772(1): 2010/04/21(水)02:32 ID:??? AAS
OOPの説明で一番わかりやすかったのがプレーヤーの例
プレーヤーを継承した CDプレーヤー,MP3プレーヤー がある
それぞれに 再生,停止,早送り,巻き戻し,次トラック,前トラック という機能(メソッド)がある
具体的な処理はそれぞれが行うので,使う人はプレーヤーの処理している内容を
理解している必要はなく,再生したいときに再生ボタンを押すという事だけ
分かっていればいい。(カプセル化)
つまり考え方であって,そういう意味では間違ってないのかもしれない。
773(2): 2010/04/21(水)23:48 ID:??? AAS
それぞれにあるのではなく、プレイヤーという抽象クラスにあるのでは?
774: 2010/04/22(木)01:28 ID:??? AAS
>>773
ダックタイピングなら、それぞれにあってもいいよね
775(1): 2010/04/22(木)20:41 ID:??? AAS
OOPの説明でダックタイピングの例出すの?
776: 772 2010/04/22(木)23:04 ID:??? AAS
>>773
そうなんだけど,具体的な実装がそれぞれ違うという意味で
ああいう書き方にした。
777: 2010/04/23(金)00:43 ID:??? AAS
>>775
PHPは型にしばられない(しばられなさすぎて困る)スクリプト言語だからね。
逆に、静的言語のように型を意識しすぎると、スクリプト言語のメリットが少なくなると思う。
「じゃぁ、お前、クラス階層つかわねーのか?」と言われればノー
コンポーネント(レイヤ)の中では、型を意識し、拡張する場合は継承も使用する。
コンポーネント間の接続は型ではなくメッセージ(メソッド)に束縛させるように意識している。
でも最近は、interface作って、抽象クラス作ってというのがおっくうになってきたので、可能ならメソッドポインタによるコールバックで済ませちゃうこともしばしば。
778: 2010/04/30(金)11:21 ID:??? AAS
Yiiブログチュートリアル 日本語訳
外部リンク[html]:www.craftgear.net
本家の日本語訳が途中でストップしてるけど、こちらは全部訳してある。
本家
外部リンク:www.yiiframework.com
779: [age] 2010/05/22(土)17:38 ID:??? AAS
保守しておきます。
780: 2010/05/24(月)00:43 ID:??? AAS
javaや.NETはたまたPythonあたりの純血PGが書けばOOPっぽいソースになると思うよ。
PerlとかPHPから始めました、ってのはだめだな。
781: 2010/06/09(水)18:32 ID:uqJikGsn(1) AAS
PHP6のオブジェクト指向ってなにか大きな変化ある?
782: 2010/06/09(水)21:02 ID:??? AAS
遅延静的束縛とか
名前空間とか
783: 2010/06/09(水)22:05 ID:??? AAS
名前空間は5.3だろ
784: 2010/06/09(水)22:50 ID:??? AAS
遅延静的束縛もですが
785: 2010/06/11(金)20:18 ID:??? AAS
機能追加がほとんどか。
じゃあ、PHP5のコードをPHP6に移植しても問題なく動くってことでいい?
PHP4→PHP5のときは大変みたいだったけど。
同じ思いをしたくない。
786: 2010/06/12(土)05:01 ID:??? AAS
互換性見れば分かるだろ
787: 2010/06/13(日)07:15 ID:??? AAS
逆に互換性なんかいいから関数の無茶苦茶な命名規則とか直して欲しい
788(1): 2010/06/20(日)11:50 ID:??? AAS
関数はもうほうっておいて、
公式にオブジェクト指向ライブラリを提供すればよい
789: 2010/06/20(日)15:53 ID:??? AAS
>>788
SPLって公式じゃないの?
790: 2010/06/21(月)16:09 ID:L/6UXzEf(1) AAS
質問するのが怖いんだけど、自分はフォームのパーツを呼び出すのに
オブジェクト指向(クラス)を使ってるつもりなんだけど正しいのか自信がない
クラスformPartsの中で各プルダウンやラジオボタンの要素(nameとvalue)を
外部ファイルから読み込んどいて
$fp = new formParts();
$pref = $fp->callPullDown('prefecture',$val);
$job = $fp->callPullDown('job',$val);
$sex = $fp->callRadioButton('sex',$val);
こんな感じでメソッドでパーツの種類を指定しつつ(ラジオボタンかプルダウンか)
そのパーツの要素(都道府県とか職業とか)と既定値($val)を投げて呼び出してる。
省3
791: 2010/06/22(火)02:52 ID:??? AAS
OOではないな
792: 2010/06/22(火)02:53 ID:??? AAS
分からないなら普通に勉強しろよ・・・
793: 2010/06/26(土)22:03 ID:lGwy0O8s(1) AAS
ツールの勉強する前に基本を勉強しろ
794: 2010/06/28(月)10:27 ID:PXXo1bnr(1) AAS
oopってさ
PHP最大の武器であるHTMLとの親和性の高さを殺してるよね
795: 2010/06/28(月)20:02 ID:??? AAS
なんで?
796: 2010/06/28(月)22:25 ID:??? AAS
いまの流行はテンプレートだから
PHPのHTML埋め込みなんてもう古い
797: 2010/06/29(火)01:12 ID:??? AAS
そんな流行もあったねぇ。今は違うよ。
798: 2010/06/29(火)07:49 ID:??? AAS
kwsk
799: 2010/06/30(水)18:24 ID:??? AAS
テンプレートってどんな利点があるの?
そもそもPHP自体テンプレートみたな言語じゃん。
index.php
<?php
$title = "hoge";
$hello = "hello world";
include "template.php";
?>
template.php
<html>
省6
800: 2010/07/01(木)00:39 ID:??? AAS
ほとんどの言語は、HTMLの中で
コードを動かすという発想で作られていない。
コードーの中でHTMLを出力するという発想。
そういう言語ではテンプレートが重要。
PHPでテンプレートの意味が薄いのは確か
ただテンプレートの意味がまったくないかというと、そうではなく
分業作業。つまりプログラマとデザイナに分かれて開発するときは便利。
デザイナはphpコードはまったく知らない。だからなるべくシンプルな
記号レベルの書き方であってほしい。しかもDreamweaverのような
HTMLエディタで見たときに不具合無く表示されるものの方がいい。
801: 2010/07/01(木)14:26 ID:ksuFUfiJ(1) AAS
デザイナーでもHTMLとPHPの繋がりぐらいは分かる
いや、分かるようにPHPを書かなければならいと思う
それがPHP
802: 2010/07/01(木)19:54 ID:??? AAS
デザイナーって馬鹿だな
まで読んだ
803: 2010/07/07(水)17:20 ID:??? AAS
ここで議論してる奴らは世に影響力のないカスばかりだから参考にしなくて良い
804: 2010/08/20(金)12:31 ID:??? AAS
廃れてるねー
805: 2010/08/20(金)14:43 ID:??? AAS
852 忍者Perl ◆M5ZWRnXOj6 [] 2010/08/20(金) 13:30:09 ID: Be:
マルチしてんじゃないですよクソゴミ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
806: 2011/10/15(土)11:25 ID:??? AAS
PHPでOOPやると重いと感じませんか?
807: 2011/10/17(月)12:28 ID:??? AAS
いいんです!
コーディングが楽だから、OOPで良いんです!!
808: 2011/12/16(金)08:42 ID:??? AAS
逆だろ
OOPだからボトルネックが把握しやすくてメンテナンスや新実装がしやすくなる
809: 2011/12/18(日)18:35 ID:XDa3NN+N(1) AAS
しかし、実行速度遅くなるね
810(1): 2011/12/18(日)21:04 ID:??? AAS
遅くなるって体感でわかるほど遅くなるのか?
だったら書き方おかしいよ
811: 2011/12/19(月)12:14 ID:8JBaGfsG(1) AAS
>>810
体感できないとは幸せだね。
812: 2011/12/23(金)12:11 ID:??? AAS
case by case.
813(2): 2012/01/12(木)17:20 ID:??? AAS
>>736
コントローラを肥大させてはならないという概念ではわかりにくい。
もっと具体的に境界線を引くべきだと思う。以下俺の意見なんだけど、
MVCってユニットテストために
ユニットテストを難しくする汚染要素を隔離するためにあるのだと思う。
具体的に言うとこんな感じ。
View(GUI, xml, html, json)
Controller(Session, Request, Form, 画面遷移などWeb独自のデータ)
Model(RDB, KVS)
MとCが分離されることでMはWebスコープから分離され、CはSQLから分離される。
省3
814: 2012/01/12(木)19:14 ID:??? AAS
>>813
ゴバクしただけあって、センス悪いな。
815: 2012/01/13(金)12:44 ID:??? AAS
>>813
> MVCってユニットテストために
> ユニットテストを難しくする汚染要素を隔離するためにあるのだと思う。
正しいが、これは現場的な視点の1つの考え方。
MVCは、スケーラブルなサイト構築のためのパラダイムという方が、しっくりくると思うが...
816: 2012/01/13(金)14:14 ID:??? AAS
新米PGに教える方法としては良いかもしれん
817: 2012/03/25(日)15:09 ID:AY6baIQV(1) AAS
PHPのOOPフレームワークを教えて下さい。
イメージとしてはJavaのStrutsのようなものです。
818(1): 2012/03/26(月)23:05 ID:??? AAS
JavaStrutsはさておき、おすすめはYIIだな。PHPの中では美しい。
819(1): 2012/03/28(水)01:58 ID:??? AAS
>>818
YII以外では無いのでしょうか?
YIIはOOPフレームワークとしては不完全です。
820(1): 2012/03/28(水)07:44 ID:??? AAS
>>819
どの辺が?
821(1): [saga] 2012/03/28(水)10:27 ID:??? AAS
>>820
オブジェクト指向言語であればオブジェクトを使用するところで、
配列を使用する点。
822(1): 2012/03/28(水)19:46 ID:??? AAS
>>821
なんでOOPフレームワークを使いたいの?
823(2): 2012/03/29(木)00:32 ID:??? AAS
>>822
OOPに慣れてるからです。
オブジェクトとして定義するところで
phpの場合、配列になるのでいらいらします。
たとえばCakePHP。ModelがModelになっていない。
やはり後付けでOOP機能が加わった言語では無理があるのですね。
824(1): 2012/03/29(木)00:43 ID:??? AAS
>>823
ModelがModelになってないというのは具体的にどういうこと?
825(1): 2012/03/29(木)08:52 ID:??? AAS
>>824
どのオブジェクト指向言語を経験しましたか?
それにあわせて話をします。
826: 2012/03/29(木)09:19 ID:??? AAS
>>823
phpで本格的なオブジェクト指向ははじめから無理だよ。
827: 2012/03/29(木)12:36 ID:??? AAS
PHPのOOP自体、後付けだし...
828(1): 2012/03/29(木)21:58 ID:??? AAS
>>825
Java
829(1): 2012/03/30(金)00:15 ID:??? AAS
>>828
ぜひStrutsの話を聞きたいですね。
たとえばCakePHPやsymphonyとどう違いますか?
830: sage 2012/03/31(土)00:44 ID:5Y7rPOtM(1) AAS
PHPのOOP関連機能が中途半端なのは当たり前。
実行速度が遅いPHPではそもそも向いていない。
831(1): 2012/03/31(土)17:53 ID:??? AAS
>>829
話をすると言って聞くばかりなのはなんでだ?
832(1): 2012/03/31(土)21:49 ID:??? AAS
>>831
Javaのフレームワークのことを教えてください
833(1): 2012/04/02(月)08:52 ID:??? AAS
>>832
ModelがModelになってないというのは具体的にどういうこと?
834(1): 2012/04/02(月)10:00 ID:??? AAS
>>833
Javaのフレームワークの比較で語りましから、あなたが今までにどのJavaフレームワークを使ってきたのか教えてください
835(1): 2012/04/03(火)02:06 ID:??? AAS
いやです
836: 2012/04/03(火)02:25 ID:??? AAS
>>835
無知の自慢するべきではない。
あなたは一生、PHPでOOPの真似やってた方がよい。
837: 1 2012/04/03(火)05:28 ID:??? AAS
語りまし?
いやです
838: sage 2012/04/03(火)09:03 ID:s3V9thNo(1) AAS
phpでOOPはダメぽ
839: 2012/04/03(火)12:55 ID:??? AAS
いやです
840: 2012/04/03(火)13:09 ID:??? AAS
完全にoopオリエンテッドな言語でしかoopしないって主張が、かなりダメぽ
841: 2012/04/03(火)13:40 ID:??? AAS
phpは継ぎ接ぎだからoopに向いてない
速度の面でも不利
842: 2012/04/03(火)14:48 ID:??? AAS
ダメな理由は遅いから。
843(1): 2012/04/03(火)16:36 ID:??? AAS
>>834
答えられないなら最初から言うな見栄っ張りw
844: [saga] 2012/04/03(火)17:04 ID:??? AAS
>>843
JavaのOOPについて語ってください。
話はそれからです。
845: 2012/04/04(水)00:03 ID:??? AAS
質問者がJavaのどのフレームワークを使ったことがあるか書くべき
回答者がそのフレームワークとCakePHPを比較すべき
846: 2012/04/04(水)02:04 ID:??? AAS
そんな比較はどうでもいい。
phpのOOP機能は単なるおもちゃ。
847: 2012/04/04(水)19:20 ID:??? AAS
外部リンク[php]:kameleon.s241.xrea.com
すいません
ここのフレームワークのソースをダウンロードしたいんですが、ダウンロードできません。
どこかで入手できないでしょうか
848: 2012/04/04(水)21:46 ID:??? AAS
ログインできませんでした。
10分ほどしてから再度お試しください。
849: 2012/04/21(土)07:48 ID:??? AAS
PHPでOOPやるとかアフォだろ
PHP自体カス以下だし
850: 2012/04/25(水)22:43 ID:??? AAS
ほらほら、釣り釣り。
参加者募集中
851: 2012/04/25(水)23:12 ID:??? AAS
関数のオーバーロード
852: 2012/04/25(水)23:13 ID:??? AAS
関数?
853: 2012/04/26(木)00:11 ID:??? AAS
phpの標準関数はどのクラスに属するのですか?
854: 2012/04/26(木)03:03 ID:??? AAS
PHPはC++と同じで、クラスに属さない
関数があるんだよ。
855: 2012/04/29(日)05:23 ID:??? AAS
クラスに属さない関数が多すぎ
そして、関数名が長くて、使いたいときに思い出しにくく覚えにくい。命名法が統一されてない。
856: uy 2012/06/25(月)19:13 ID:??? AAS
PHPでOOPやるとかwwww
笑わせるなよwwww
857(1): 2012/06/26(火)12:21 ID:??? AAS
黙れ、情弱!
便所に行ったら手ぐらい洗え
つ画像リンク[jpg]:sociorocketnews.files.wordpress.com
画像リンク[jpg]:sociorocketnews.files.wordpress.com
画像リンク[jpg]:sociorocketnews.files.wordpress.com
858: uy 2012/06/26(火)12:34 ID:??? AAS
俺はゴミカスだがエリートゴミカスだ
お前らのような下級ゴミカスとは格が違う
859: 2012/06/26(火)12:39 ID:??? AAS
『オレは本当はスゴいんだ』病 www
860: 2012/06/26(火)14:05 ID:??? AAS
>>857
逆に女子はトイレ行ったら手を洗うの禁止な。
861: 2012/06/28(木)00:47 ID:??? AAS
phpでOOPとは単なるアホ
862: 2012/06/28(木)05:06 ID:??? AAS
じゃあOOPでphpするよ。
863: 2012/06/28(木)12:22 ID:??? AAS
?
でも、よく言った!
864: 2012/06/29(金)03:21 ID:??? AAS
Java WicketとかPHP Piece Frameworkに流行ってほしいな。
平たく言えば何でもセッションに突っ込んでるだけなんだけどね。
865: 2012/07/14(土)00:10 ID:??? AAS
ここまでトレイトの話題無しかw
866(1): 2012/07/16(月)19:14 ID:??? AAS
実際トレイトって、あれば便利な気はするけどどこで使うのか思いつかん。
だれか使いこなせてるって人いますか?
867: 2012/07/17(火)07:36 ID:??? AAS
PHPはむしろトラッシュ
868: 2012/07/17(火)15:16 ID:??? AAS
まだ5.4使える環境に出会ったことが無いわ
869: 2012/07/18(水)09:22 ID:??? AAS
なんでもセッションでいいよな
PHPってそういうもんだろ
870: 2012/07/18(水)12:20 ID:??? AAS
セッションハイジャックの脆弱性を可能な限り排除できるなら、
セッション利用でOK。
871: 2012/07/22(日)02:33 ID:??? AAS
>>1
PHPでOOPかよw
872: 2012/07/22(日)10:45 ID:??? AAS
PHPでOOPなど愚の骨頂
PHPなど愚の骨頂
873: 2012/07/27(金)20:37 ID:??? AAS
3Pとか4Pがあるように00Pもあるのです
874: 2012/07/28(土)00:10 ID:??? AAS
OOPチーズ
875: 2012/07/30(月)23:46 ID:??? AAS
>>1
PHPでOOPはできねえよ
876: 2012/07/31(火)11:18 ID:??? AAS
PHPもOOPも時代遅れ
今はLOOP、すなわち論理オブジェクト指向プログラミングの時代
877: 2012/07/31(火)12:11 ID:??? AAS
無限ループ
878: 2012/08/05(日)00:31 ID:??? AAS
PHPerがJavaのIDEなんか使ってんじゃないよ。
秀丸でちょちょいとやるのがオツってもんだ
879: 2012/09/27(木)03:31 ID:yKCGiKEV(1) AAS
>>866
>実際トレイトって、あれば便利な気はするけどどこで使うのか思いつかん。
>だれか使いこなせてるって人いますか?
traitは scala から持ってきた仕組み。
(もちろん scala も他の言語から影響を受けている)
trait とは:
- Mixin - Wikipedia 外部リンク:ja.wikipedia.org
- traitは実装を含めることができるinterface
- コードのコピペをfunctionalityにしただけ
利用シーンとしては、継承したくないけど、
省5
880: 2012/09/27(木)07:12 ID:??? AAS
カス言語PHPには無理
881: 2012/10/06(土)00:51 ID:??? AAS
phpのオブジェクト指向機能はおもちゃ。
882: 2013/03/25(月)12:45 ID:??? AAS
おもちはおもちや
883: 2013/05/28(火)08:36 ID:??? AAS
外部リンク:www.google.co.jp
約 10,600,000 件 (0.13 秒)
PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET
外部リンク:www.objective-php.net
884: 2013/06/21(金)04:07 ID:v9NBCNRF(1) AAS
php
885: 2014/03/02(日)09:39 ID:??? AAS
>>1
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
2chスレ:tech
886: 2014/04/05(土)00:55 ID:??? AAS
メソッドを実行しなきゃどうってことはない
887: 2015/02/14(土)01:11 ID:??? AAS
Formのクラス作ったら500行になっちゃった
これって糞プログラムの部類なのかな・・・
シンプルに書きたいのに機能付け加えていくとどうしても肥大化してしまう
888: 2015/02/15(日)02:10 ID:??? AAS
美少女オブジェクトに排便しろというメッセージを飛ばすのか
胸が熱くなるな
889: 2015/06/17(水)18:33 ID:??? AAS
ガベージコレクションは自動で実行されるものなので我々が命令するものではない
890: 2016/09/08(木)09:55 ID:??? AAS
PHPでOOPなんてPOOP以外の何物でもない
891: 2017/12/30(土)14:11 ID:YhlYw6jg(1) AAS
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
TVD73U3V71
892: 2019/05/09(木)02:07 ID:HHcYDMUs(1) AAS
phpについて役立つ情報とか
2chスレ:tech
4Z0
893: 2023/08/26(土)03:18 ID:??? AAS
見ろ!人ごみに流されて変わってゆく私を
894: 2023/09/26(火)22:41 ID:??? AAS
もう少しで楽しい時間がやってくるかな?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.535s*