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
2(4): 2007/02/23(金)13:38 ID:??? AAS
初心者にもわかるようにメリットぐらいかいてよ・・。
3(1): 2007/02/23(金)13:41 ID:??? AAS
インスタンスとインヘリタンスがまぎわらしい(なぜか変換・・・
4(1): 1 ◆SWtzLesEmM [age] 2007/02/23(金)13:42 ID:??? AAS
オブジェクトと関数の本質的な違いと使い分け
外部リンク:d.hatena.ne.jp
var とか this って何だ?
外部リンク:d.hatena.ne.jp
アクセサメソッド
外部リンク:d.hatena.ne.jp
継承、 オブジェクトコンポジション
外部リンク:d.hatena.ne.jp
外部リンク:d.hatena.ne.jp
5(2): 1 ◆SWtzLesEmM [age] 2007/02/23(金)13:51 ID:??? AAS
>>2
外部リンク:d.hatena.ne.jp
この説明見てなるほどな〜〜〜!と思いました^^
>(1) オブジェクトと関数の本質的な違いと使い分け
>コーディング上の本質的な違いは「変数を保持できるか否か」に尽きます!
>関数を定義するときには、(グローバル変数を除き)引数として関数の外部から渡し、return で返すことしかできませんが、クラスは内部で変数を定義でき、クラスの実体のオブジェクトはどこからでも内部変数を引き出すことができます。
>定義関数の return であれもこれも返したいのにうまく返せず、煩雑な配列に格納して返す…といったことが減ると思います。
>あれもこれも引数として渡したいとき、または、あれもこれもreturnしたいときは、関数よりクラスの方が遥かに簡単です。
「クラス」という仕組は便利そうですね。クラスを考えた奴、偉い!
6: 1 ◆SWtzLesEmM [age] 2007/02/23(金)13:54 ID:??? AAS
>>3
なんかプログラミングって、カタカナ用語がたくさん登場しますよね><
クラスって聞いたら学校の「教室」を連想しちゃう><
7(1): 2007/02/23(金)15:12 ID:??? AAS
Webでオブジェクト指向
2chスレ:php
こっちじゃ何故駄目なんだ?
8: 2007/02/23(金)16:25 ID:??? AAS
>>1
>>5
自作自演乙w
9(1): 2007/02/23(金)16:52 ID:??? AAS
トリップ出してるのに自作自演もくそもあるのかw
10: 1 ◆SWtzLesEmM 2007/02/23(金)19:44 ID:??? AAS
>>7
>Webでオブジェクト指向
>2chスレ:php
>こっちじゃ何故駄目なんだ?
そっちも参考に眺めています。
あと、プログラマー板にもあるオブジェクト指向関係のスレもちょっと眺めています。
PHPに的を絞った情報が欲しいので、専用のスレを立ててみました。
もちろん、JavaやRuby、Pythonとかも使えればいいけど、そこまで手を広げる時間がないので、とりあえず今の段階ではPHPで勉強。
PHPを使っていて、オブジェクト指向プログラミングのやり方を勉強したい人がいたら一緒に勉強していきましょう。
よろしく(・∀・)
11(1): 2007/02/23(金)21:14 ID:??? AAS
>>9
ちげーよ
自分のサイトの宣伝して
「この説明見てなるほどな〜〜〜!と思いました^^」
と書いてるところがだよ
12: 2007/02/23(金)21:34 ID:??? AAS
>>11
OOPのメリット聞かれたから自分で見つけた参考サイト出して自分の所感言っただけだろ。
聞くだけで何もしない厨より、アクティブな>>1に好感が持てたが。
って擁護すると自演って言うのかな?
13: 2007/02/23(金)22:38 ID:??? AAS
まあ、PHPでOOPなんてのは、今までて来たtoku-hiroさん以外にも
書いている人は多そうだから(俺は知らないけど)
他のも出せば、>>1の疑いは晴れるんじゃないかな。
14: 1 ◆SWtzLesEmM [age] 2007/02/23(金)23:18 ID:??? AAS
Googleで「PHP オブジェクト指向」を検索
外部リンク:www.google.co.jp
よさげなサイトをピックアップしてみよう!
15: 1 ◆SWtzLesEmM [age] 2007/02/23(金)23:23 ID:??? AAS
PHPのオンラインマニュアルがよくまとまってますねw(当たり前?)
外部リンク[php]:jp2.php.net
第19章 クラスとオブジェクト (PHP 5)
16: 1 ◆SWtzLesEmM [age] 2007/02/23(金)23:49 ID:??? AAS
外部リンク[html]:www.mogurin.net
PHP4のOOPについて、簡単な説明がありました。
PHP5のOOPは、PHP4のOOPに変更が加えられているので、ちょっと違う部分があります。
17: 1 ◆SWtzLesEmM [age] 2007/02/24(土)00:03 ID:??? AAS
PHP4のオブジェクト指向、デザインパターンについての説明がありました。
外部リンク[html]:www.aglabo.com
PHP5のオブジェクト指向について説明がありました。
外部リンク:www.doyouphp.jp
オブ脳 in PHP
外部リンク:www.aglabo.com
「委譲」などの説明がありました。
今の段階では、ちょっとよく理解できませんでしたがこんな話もあるんですね。
18(1): 2007/02/24(土)00:47 ID:??? AAS
初心者のおれも学習するから講義すすめてくれ
19: 2007/02/24(土)01:05 ID:??? AAS
>>18
わかった。
オブジェクトの
オブとはすなわち飯富。飯富厩舎所属だということ。
オブジェクトの
ジェクトトはすなわちジェクト。FF10のジェクトだということ。
20: 2007/02/24(土)13:35 ID:??? AAS
オブジェクトを利用すると何がいいのか一言でまとめて
21: 2007/02/24(土)13:43 ID:??? AAS
プロとしての自信が持てるようになります
22(2): 1 ◆SWtzLesEmM 2007/02/24(土)16:26 ID:??? AAS
とりあえず簡単なWEBアプリケーションを作りながらOOPの勉強をしてみたいです。
OOPで掲示板を作ってみたいです。
(1)最初はOOPを使わないで掲示板を作ってみる
(2)次にOOPで同じ掲示板を作ってみる
という流れにすると、対比によってOOPが理解しやすくなるでしょうか?
=始めに完成形ありきと。
23(1): 1 ◆SWtzLesEmM 2007/02/24(土)16:34 ID:??? AAS
掲示板の機能としては、
(1)名前とタイトルと本文を入力&投稿できる。
(2)投稿の一覧(タイトル+投稿日時)が表示できる。
(3)投稿の詳細内容(1つ1つの投稿を個別に閲覧)が表示できる。
という最低限の機能で作ってみて、
後から徐々に機能を追加して拡張してみましょう。
24: 1 ◆SWtzLesEmM 2007/02/24(土)16:45 ID:??? AAS
データベースは普段MySQLを使ってます。
文字化け対策が面倒くさいので、文字コードはUTF-8(UTF-8N)にしときます。
テーブル名は、message
カラムは、
message_id (int not null auto_increment) ←主キーにする
name (text)
title (text)
message (text)
create_date (datetime または年月日時分秒の14桁でvarchar(14))
の5個にしてみましょう。
省4
25(1): 1 ◆SWtzLesEmM 2007/02/24(土)16:53 ID:??? AAS
MySQL5.0で、phpMyAdminを使って、oop_testというデータベースを1個新設しました。
その中にテーブルを1個作りました。
CREATE TABLE `message` (
`message_id` int(11) NOT NULL,
`name` text,
`title` text,
`message` text,
`create_date` datetime default NULL,
PRIMARY KEY (`message_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
省2
26(1): 1 ◆SWtzLesEmM 2007/02/24(土)17:00 ID:??? AAS
画面は、>>23の(1)〜(3)の3画面を用意すればOKかな?
画面(ハリボテ)を先に作ってみて、それにプログラムを付けて動くようにしてみます。
(1)入力ページ input.php
(2)一覧ページ list.php
(3)詳細ページ message.php
外部リンク:itpro.nikkeibp.co.jp
「HTML画面をそのまま仕様書に」,5カ月で1000画面を構築した就職サイトPuffの高速開発手法
27: 2007/02/24(土)18:52 ID:??? AAS
wktk
28: 1 ◆SWtzLesEmM 2007/02/24(土)20:07 ID:??? AAS
>>25
主キーをオートインクリメント(連番の)の設定にしておくのを忘れてました。orz
CREATE TABLE `message` (
`message_id` int(11) NOT NULL auto_increment,
`name` text,
`title` text,
`message` text,
`create_date` datetime default NULL,
PRIMARY KEY (`message_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
29: 2007/02/25(日)02:57 ID:??? AAS
サンプルページ公開して
30: 2 2007/02/25(日)16:11 ID:??? AAS
定番のhelloを表示w
class hello {
var $aisatu = "こんにちは";
}
$re = new hello();
$aisatu = $re->aisatu;
echo $aisatu;
読み図ら買ったら適当に改行して
31: 2 2007/02/25(日)16:19 ID:??? AAS
#オブジェクト学校のhelloクラスを作る
class hello {
#このクラスに生徒である$aisatu君がいる
#彼に「こんにちは」という言葉を覚えさせる
var $aisatu = "こんにちは";
#放課後なので括弧で閉じる
}
#クラスの風景を覗くための魔法
$re = new hello();
#生徒$aisatu君に「こんにちは」を言わせるための魔法を矢で飛ばす。
省4
32: 2007/02/26(月)16:35 ID:??? AAS
コードの解説なんてしなくても見ればわかる。
「なぜOOP」か、だとか、
こういう場合にOOPが役立つ、というのを具体的なコードで示してくれ
33: 2007/02/26(月)18:41 ID:??? AAS
namespace は結局 PHP5 では実装されなかったんだね・・・・
悲しい。悲しすぎる。
34(1): 2007/02/26(月)23:07 ID:??? AAS
MVCのMをOOPでCは手続きVはテンプレート
35: 1 ◆SWtzLesEmM [age] 2007/02/27(火)15:21 ID:??? AAS
>>22 (1)最初はOOPを使わないで掲示板を作ってみる
OOPを使わないで作った簡単な掲示板をアップしてみます。
>>26
ファイルは、他に掲示板のトップページと、DB接続関係のデータを入れたファイルを用意しました。
WEBサーバのルート直下にデプロイした場合を想定しています。
/index.html 掲示板のトップページ
/db.php データベースの接続関係のデータのファイル
/input.php メッセージ入力ページ
/list.php メッセージ一覧ページ
/message.php メッセージ詳細ページ
36: 1 ◆SWtzLesEmM 2007/02/27(火)15:22 ID:??? AAS
index.htmlの内容は以下の通りです。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>掲示板メニュー</title>
</head>
<body>
<h1>掲示板メニュー</h1>
<div id="menu">
<ul>
省6
37: 1 ◆SWtzLesEmM 2007/02/27(火)15:24 ID:??? AAS
db.phpの内容は以下の通りです。
<?php
/**
* データベース
*/
//本番環境ドメイン名
define("DOMAIN", "xrea.com");//ドメイン名に含まれる文字列を指定
//MySQL設定(本番環境とテスト環境で切替え)
if (ereg(DOMAIN, $_SERVER['SERVER_NAME'])) {
//本番環境
省12
上下前次1-新書関写板覧索設栞歴
あと 857 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s