PHPでOOP (894レス)
PHPでOOP http://medaka.5ch.net/test/read.cgi/php/1172205352/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
148: nobodyさん [sage] 2007/12/14(金) 02:09:52 ID:??? 例外はよく使う http://medaka.5ch.net/test/read.cgi/php/1172205352/148
149: nobodyさん [sage] 2007/12/19(水) 01:29:29 ID:??? >>147 読み込んでも八割がた無駄なので使わない http://medaka.5ch.net/test/read.cgi/php/1172205352/149
150: nobodyさん [age] 2007/12/23(日) 12:51:26 ID:??? かしゆか誕生日おめでとう! http://www.tkma.co.jp/tjc/j_pop/perfume/profile.html http://medaka.5ch.net/test/read.cgi/php/1172205352/150
151: nobodyさん [sage] 2007/12/24(月) 10:55:41 ID:??? >>149 つりですか? http://medaka.5ch.net/test/read.cgi/php/1172205352/151
152: nobodyさん [] 2007/12/29(土) 00:05:37 ID:4ZpocZiG MVCのCってどうやって書けばいいのかわからんぜ。 http://medaka.5ch.net/test/read.cgi/php/1172205352/152
153: nobodyさん [sage] 2007/12/29(土) 02:00:56 ID:??? その概念中でコントローラーが理解出来ないってやつ初めてみた とりあえずView上で必要な操作を徹底的にControllerに切り離すが良い。 そしてModelからデータを引き出して必要があれば書き込み更新してやりなさい。 http://medaka.5ch.net/test/read.cgi/php/1172205352/153
154: nobodyさん [sage] 2007/12/31(月) 19:44:35 ID:??? ユーザークラスで新規登録処理をして、そのときにユーザークラスの中で プロフィールクラスのオブジェクトを作ってプロフィールの登録もする これってしいて言えば何パターン? http://medaka.5ch.net/test/read.cgi/php/1172205352/154
155: nobodyさん [sage] 2007/12/31(月) 19:47:57 ID:??? ワンパターン http://medaka.5ch.net/test/read.cgi/php/1172205352/155
156: nobodyさん [sage] 2008/01/01(火) 00:16:32 ID:??? パターンというかコンポジションでそ http://medaka.5ch.net/test/read.cgi/php/1172205352/156
157: nobodyさん [age] 2008/01/29(火) 11:18:04 ID:??? 模範解答は無いけれど、以下の相互変換を行うクラス(ChStr)をみんなで 作ってみるという案はどうかな? そして、これが出来たら、ログファイルに保存などの機能をつけ、 wikiみたいに編集が出来る機能を追加していくという感じに。 <編集> ------------------------------------------------------------- = 2ch '''2ch'''とは、総合掲示板のことである。 link:[http://www.2ch.net] ------------------------------------------------------------- <出力> ------------------------------------------------------------- <b><font size="+1">2ch</font></b><br> <b>2ch</b>とは、総合掲示板のことである。<br> link:<a href="http://www.2ch.net">http://www.2ch.net</a><br> ------------------------------------------------------------- http://medaka.5ch.net/test/read.cgi/php/1172205352/157
158: 1 ◆SWtzLesEmM [age] 2008/01/29(火) 11:29:32 ID:??? >>157 OOPの勉強というよりも、どちらかというと正規表現の勉強になるでしょうか? wikiのパーサーつくるなら、既存のwikiスクリプトや、PEARのText_Wikiが参考になるかもしれませんね。 http://www.phppro.jp/news/172 PEAR::Text_Wiki 1.2.0RC1 リリース 2006年10月11日 http://labs.cybozu.co.jp/blog/tsuruoka/anubis/blog_show/18 Text_PukiWikiリリース http://medaka.5ch.net/test/read.cgi/php/1172205352/158
159: nobodyさん [age] 2008/01/29(火) 11:43:55 ID:??? >>158 C++のOOPの勉強として、文字列を簡単に扱うことが出来るクラスを 自作してみるという演習があったので、それをPHPでもやってみようかなと 思ったものです。 Cでは、文字列を結合したり、splitしたりするのが結構大変なので、 この演習が役に立ったなと思っていたのです。 PHPの場合は、関数を使えばそれで終わってしまうので、もう少し ひねりを入れたものを考えて見ました。 正規表現を練習するというよりも、正規表現とhtmlの相互変換をする クラスがあると、プログラムをする際、便利だなという事が実感 出来るのでは?という意味合いです。 (例)正規表現を格納し、html出力する過程。 $text に textarea タグの文字列を格納する。 $str = new ChStr($text); echo "<html><body>"; $str->Write_html(); echo "</body></html>"; ほら、このクラスがあるとレイアウトを変えたりが、やり易い上に 再利用性が高いでしょ?みたいな。 http://medaka.5ch.net/test/read.cgi/php/1172205352/159
160: 1 ◆SWtzLesEmM [age] 2008/01/29(火) 11:47:24 ID:??? OOPの参考になる解説がありました。 PHPのclass、オブジェクト指向プログラミングに関する質問です。 http://q.hatena.ne.jp/1187962431 ↑ 2番の回答者の解説が分かりやすいと思いました。 6番の回答者のサンプルコードも参考になりましたが、これは「インターフェース」の利用方法ではありませんね。>< インターフェイス http://www.phppro.jp/phpmanual/php/language.oop5.interfaces.html あるクラスが実装する必要があるメソッドの種類を、これらのメソッドの実体を定義することなく、指定するコードを作成できるようになります。 インターフェイスはキーワードinterfaceにより定義され、通常のクラスと同様に定義することができますが、メソッドの実装は全く定義されません。 http://medaka.5ch.net/test/read.cgi/php/1172205352/160
161: 1 ◆SWtzLesEmM [age] 2008/01/29(火) 12:00:16 ID:??? >>159 なるほど!(・∀・) 文字列を扱う処理は、いろんなところで出番がありそうですね! wikiの文法(表記方法)が使える掲示板とか作れそう^^ http://medaka.5ch.net/test/read.cgi/php/1172205352/161
162: nobodyさん [age] 2008/01/29(火) 12:04:23 ID:??? ChStr クラス の設計はこんな感じかな。 メンバ private $m_str; // 正規表現文字列を格納する。 コンストラクタ ChStr($str) // 正規表現の文字列を受け取る。 private メソッド ch_to_html() // 正規表現をhtmlに変換する。 public メソッド Write_html() // 格納している文字をhtmlで出力する。 Write_text() // 格納している文字を正規表現で出力する。 --------------------------------------------------- 本当は、ログファイルへの保存や読み取りなどを機能として 考え、そのあたりまで含めたクラスの設計をした方が いいんだろうけれど、まずは簡潔にする方向でいきます。 で、後々拡張の方向で。 http://medaka.5ch.net/test/read.cgi/php/1172205352/162
163: 1 ◆SWtzLesEmM [age] 2008/01/29(火) 12:04:44 ID:??? PHPのインターフェースは、Javaとかのインターフェースとはちょっと違っているみたいですねー。>< (…使ったことないので実感がありませんが^^) PHPでは実装済みのinterfaceを多重に実装できない http://blog.xole.net/article.php?id=589 http://blog.xole.net/article.php?id=597 http://medaka.5ch.net/test/read.cgi/php/1172205352/163
164: 1 ◆SWtzLesEmM [age] 2008/01/29(火) 12:25:09 ID:??? >>162 こんなかんじのプログラムと似ているかもしれませんねー。 60行で作るPHP用テンプレートエンジン http://anond.hatelabo.jp/20071030034313 >テンプレートの中身を置換する >function convert_string($s) ↑置き換えるパターンに応じて、別々のメソッドを用意したら便利でしょうか? = 文字サイズ変更、''' 強調、link: リンクとかの記法の置換を担当するprivateメソッド http://medaka.5ch.net/test/read.cgi/php/1172205352/164
165: 1 ◆SWtzLesEmM [age] 2008/01/29(火) 12:34:03 ID:??? OOPの参考になる解説がありました。 関数、オブジェクト、クロージャ http://d.hatena.ne.jp/brazil/20060131/1138692196 >オブジェクトは、データに処理がくっついたものです。 >array.map()のように、後に後に処理を追加していく書き方は、順にコードを追えるため読みやすく、また書きやすいです。 クロージャっていう仕組みは、PHPにはないですね?>< 大は小を兼ねる…クロージャの代わりにオブジェクトが使えればとりあえずOKかな?(・∀・) http://medaka.5ch.net/test/read.cgi/php/1172205352/165
166: nobodyさん [sage] 2008/01/29(火) 13:15:31 ID:??? >>161 >wikiの文法(表記方法)が使える掲示板とか作れそう^^ PEARのText_Wiki使えばよくね? http://medaka.5ch.net/test/read.cgi/php/1172205352/166
167: nobodyさん [age] 2008/01/29(火) 13:18:38 ID:??? >>164 > 置き換えるパターンに応じて、別々のメソッドを用意したら便利でしょうか? 本来ならば、そうなるでしょうね。それらはすべてprivateで作っておいて、 外部には、一つのインターフェースのみ(この例の場合はWrite_html()がそれに該当) 公開となるでしょう。 記号ごとに別々にメソッドを定義しておけば、記号とhtmlの関係が変わる時は、 どのメソッドを触ればよいかが分かるし、それを変更したことで、 他のメソッドには影響は無かったりします。 (これが構造化プログラムの場合は、目的のソースと目的ではないソースを 見極めるところから始まります。) ------------------------------------------------------------------------- この ChStr に汎用性を持たせる場合は、Write_html()というよりも、 Get_html()とし、html文字列を return する事になるでしょう。 そうすると、別なプログラムで、「出力結果をファイルに保存する」という 使い方も出来ます。しかし、今回は初回なので、Write_html()とし、 メソッド内部で echo 使うことにします。 http://medaka.5ch.net/test/read.cgi/php/1172205352/167
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 727 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s