PHPでOOP (894レス)
上下前次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
38: 1 ◆SWtzLesEmM 2007/02/27(火)15:25 ID:??? AAS
db.phpの続きです。
//MySQL接続関数
function db_connect() {
// MySQL 接続
$link = mysql_connect(DBSERVER, DBUSER, DBPASSWORD);
if (!$link) {
die('mysql_connect ERROR: ' . mysql_error());
}
// MySQL DB 選択
$db_selected = mysql_select_db(DBNAME, $link);
省7
39: 1 ◆SWtzLesEmM 2007/02/27(火)15:26 ID:??? AAS
db.phpの続き(その2)です。
//MySQLプリペアードステートメント関数(SQLインジェクション対策)
//(参考)外部リンク[php]:www.php.net
function mysql_prepare($query, $phs = array()) {
$phs = array_map(create_function('$ph', 'return "\'".mysql_real_escape_string($ph)."\'";'), $phs);
$curpos = 0;
$curph = count($phs)-1;
for ($i = strlen($query) - 1; $i > 0; $i--) {
if ($query[$i] !== '?') {
continue;
省12
40: 1 ◆SWtzLesEmM 2007/02/27(火)15:30 ID:??? AAS
input.phpの内容は以下の通りです。
<?php
/**
* メッセージ入力画面
*/
require_once("db.php");
db_connect();
//
$name = $_POST['name'];
$title = $_POST['title'];
省3
41(2): 1 ◆SWtzLesEmM 2007/02/27(火)15:30 ID:??? AAS
db.phpの続きです。
//入力値バリデート
if (0 < strlen($name) && 0 < strlen($title) && 0 < strlen($message)) {
//DB保存処理
$create_date = date("Y/m/d H:i:s");
$sql = "INSERT message SET
name = ? ,
title = ? ,
message = ? ,
create_date = ? ";
省13
42: 1 ◆SWtzLesEmM 2007/02/27(火)15:34 ID:??? AAS
>>41
間違えました。
>db.phpの続きです。
ではなくて、
「input.phpの続きです。」
でした。(・∀・)
あと、
>$url = "外部リンク:".$_SERVER['HTTP_HOST']."/test2/list.php";//メッセージ一覧
ではなくて、
$url = "外部リンク:".$_SERVER['HTTP_HOST']."/list.php";//メッセージ一覧
省4
43: 1 ◆SWtzLesEmM 2007/02/27(火)15:40 ID:??? AAS
>>41の訂正です。
input.phpの続きです。
//入力値バリデート
if (0 < strlen($name) && 0 < strlen($title) && 0 < strlen($message)) {
//DB保存処理
$create_date = date("Y/m/d H:i:s");
$sql = "INSERT message SET
name = ? ,
title = ? ,
message = ? ,
省15
44: 1 ◆SWtzLesEmM 2007/02/27(火)15:42 ID:??? AAS
input.phpの続き(その2)です。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>メッセージ入力</title>
</head>
<body>
<h1>メッセージ入力</h1>
<div id="menu">
<ul>
省21
45: 1 ◆SWtzLesEmM 2007/02/27(火)15:44 ID:??? AAS
list.phpの内容は以下の通りです。
<?php
/**
* メッセージ一覧画面
*/
require_once("db.php");
db_connect();
//
$page = intval($_GET['page']);
$max = 10;//1ページ当たりの最大表示件数
省12
46: 1 ◆SWtzLesEmM 2007/02/27(火)15:45 ID:??? AAS
list.phpの続きです。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>メッセージ一覧</title>
</head>
<body>
<h1>メッセージ一覧</h1>
<div id="menu">
<ul>
省14
47: 1 ◆SWtzLesEmM 2007/02/27(火)15:46 ID:??? AAS
list.phpの続き(その2)です。
<table border="1" cellpadding="5">
<tr bgcolor="#FFFF99">
<td>タイトル</td>
<td>投稿者名</td>
<td>投稿日</td>
</tr>
<?php
//メッセージ一覧
while ($rows = mysql_fetch_array($result)) {
省10
48: 1 ◆SWtzLesEmM 2007/02/27(火)15:47 ID:??? AAS
message.phpの内容は以下の通りです。
<?php
/**
* メッセージ詳細画面
*/
require_once("db.php");
db_connect();
//
$message_id = intval($_GET['message_id']);
//メッセージ取得
省8
49: 1 ◆SWtzLesEmM 2007/02/27(火)15:49 ID:??? AAS
message.phpの続きです。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>メッセージ詳細</title>
</head>
<body>
<h1>メッセージ詳細</h1>
<div id="menu">
<ul>
省9
50: 1 ◆SWtzLesEmM 2007/02/27(火)15:50 ID:??? AAS
message.phpの続き(その2)です。
<tr>
<td bgcolor="#FFFF99">投稿日</td>
<td><?php echo htmlspecialchars($row['create_date']); ?></td>
</tr>
<tr>
<td bgcolor="#FFFF99">タイトル</td>
<td><?php echo htmlspecialchars($row['title']); ?></td>
</tr>
<tr>
省6
51: 1 ◆SWtzLesEmM 2007/02/27(火)15:59 ID:??? AAS
それでは、次行ってみよう!
>>22 (2)次にOOPで同じ掲示板を作ってみる
>>34
PHPコードとHTML表示を一緒にしてありますが、OOPではテンプレートシステムを使って、PHPコードとHTML表示部分を分離して、MVCにしてみたいです。
どういうクラスを作ればいいのか良く分かりません><
(1)コントローラー(+アクション)→input、list、message
(2)モデル→データベース接続処理も1つのクラスにするのでしょうか?
(4)ビュー→テンプレートシステムへの出力
というかんじで3個のクラスが必要でしょうか?
それぞれのクラスに必要なプロパティとメソッドを何にするか?
省1
52: 2007/02/27(火)22:54 ID:??? AAS
がんばってるなあ。
おれもがんばろう。
53(2): 2007/02/28(水)03:12 ID:??? AAS
わかりにくいからWebサイトにまとめてくれ。PHP使いなんだし
54: 1 ◆SWtzLesEmM [age] 2007/02/28(水)20:49 ID:??? AAS
>>53
まとめサイトを設置しました。
外部リンク[php]:kameleon.s241.xrea.com
55(2): 2007/02/28(水)22:48 ID:??? AAS
最終的にMVCな構成を目標に
少しずつリファクタリングしていけばよいと思う
とりあえずDBアクセスを一箇所にまとめるモデルを作ってみるといいんじゃない
・全件取得
・1件取得
・1件追加
できるMessageクラスとかを作ってそこにDBアクセス(SQL)をまとめれ
56: 2007/03/03(土)13:53 ID:Ej/v+KpC(1) AAS
期待上げ
57: 2007/03/04(日)04:17 ID:xhaosu8B(1) AAS
期待
58: 2007/03/11(日)11:30 ID:??? AAS
OOP勉強したいなら、実力不足のやつが書いたガラクタ掲示板スクリプトを
読むより、有名なオープンソースのスクリプトを読めばいいじゃん。
そもそも>>1の意味不明な独善なんかに付き合わなくてもOOPに関する情報
はいくらでも手にはいるし。
59(2): 2007/03/11(日)23:56 ID:??? AAS
ど素人に肥大したコードを読ませて理解できると思ってる思考回路がカコイイ!
60(2): 2007/03/12(月)08:27 ID:cm9vlrfS(1) AAS
>>59
ど素人はみんな、自分みたいな学習意欲も向上心もない人間だと思ってる
思考回路がカコイイ!
61(1): 2007/03/12(月)09:16 ID:??? AAS
>>60 思考回路がカコイイ!
62: 2007/03/12(月)09:57 ID:??? AAS
>>59-61
全員カコワルイ!! 俺はカコイイ!!
63: 2007/03/12(月)13:37 ID:??? AAS
>>1-62
全員カコイイ!!
俺はカコワルイ!!
64: 2007/03/12(月)14:07 ID:??? AAS
で、結局荒れ放題になり>>1の独善は無事終了したのだった。
ちゃんちゃん。
65(1): 1 ◆SWtzLesEmM [age] 2007/05/12(土)03:12 ID:??? AAS
>>55
DBにアクセスするためのクラスを作ろうと思って、とりあえずdb.phpをクラスの形に変えてみようと試みました。
だけど、コンストラクタでエラーが出てストップ!
Fatal error: Cannot access empty property in /…/test.php on line 18
なんでエラーになるのか?よく分からなくて、PHP5のコンストラクタについて調査していたら、サンプルになりそうなDBクラスの解説記事がありました。
外部リンク:www.bnote.net
↑これをソックリ真似すれば、DBクラスは何とかなるかな?
ところで、このbnoteというサイトのPHP解説記事には、掲示板を作ってみるサンプルがあり、参考になりそうです。
外部リンク:www.bnote.net
>PHPでフォーラムを作ろう!
66: [age] 2007/05/12(土)16:09 ID:??? AAS
中傷されている>>1だが、
普通に>>1のおかげでだいぶいい情報が手に入った。
曖昧だったクラスがなんとか分かりそうだよ。
ありがとー
PHPでわからない人は情報が足りないのかもな。
似てるJAVAで本格的なものを見てみると分かるのかも。
昔、歴史で年表同士のつながりが薄くて分かりづらかったように、
もっと詳しく高校の歴史くらいのをみれば分かりやすい。
67: 2007/05/12(土)23:32 ID:s118dfiw(1) AAS
なんていうか「こういうときにはこういう設計をします」っていう
具体的な情報がほしいよな
俺は車なんかプログラミングしないっての
68(1): 2007/05/14(月)00:46 ID:4QCW9ZwU(1) AAS
最近ちょっとだけ解ってきた。
なぜOOPなのかと言えば
再利用とメンテナンス、拡張がやりやすい(やりやすく作ることが出来る)ということがすごくて、
そのためにカプセル化とポリモーフィズムがあって
ポリモーフィズムを実現(保証)するために継承や、インターフェイスや抽象クラスがあるって感じなのかな?
PHPによるデザインパターンは読んでみても良いと思う。
あと、ゼンドフレームワーク勉強用にZFで動くブログソフトみたいのあるから、それの仕組みと、ZFのソース(全部はきついけど関係あるところだけ)
を見てみると、結構勉強になると思う。
外部リンク[html]:www.itmedia.co.jp
外部リンク[html]:www.itmedia.co.jp
省4
69(1): 2007/05/15(火)15:55 ID:??? AAS
しかし PHP関連の本でOOPをわかりやすく書いてあるのが
「ない!」 お勧め教えて
70(1): 2007/05/15(火)16:01 ID:??? AAS
本なんか読むよりPEARやフレームワークのソース読んで
勉強しながら自分なりに書いていけ、金かからないしだしそれが一番の近道
気が付いたらOOPなんて空気のように有って当たり前になるもんだから
71: 2007/05/15(火)16:06 ID:??? AAS
わかりにくいの例として
スコープ演算子(static ::)は2冊読んでもチンプンカンプン
そこでぐぐる先生に聞くと
外部リンク[htm]:homepage3.nifty.com
PHPではないが、ナルホドナルホドと理解できる
オブジェクト指向の概要も
外部リンク[html]:phpspot.net
を読むとナルホドナルホドだが、本は意味不明になる
糞った本しか読んでいないかもしれないが一応書いておく
「PHP5プログラミング エキスパート編」 //最強の意味不明
省1
72: 2007/05/15(火)16:08 ID:??? AAS
書きながら次第にむかつき度が増加して誤字だらけになった(怒
>>70
それ疲れる
73(1): 2007/05/15(火)17:01 ID:??? AAS
>>69
独習PHPのクラスらへんの説明は中々分かりやすいよ。
作者があまりいいとはいえんが、ファーストステップにはいい感じ。
74(1): 2007/05/22(火)15:14 ID:??? AAS
同じ事を色々な言葉で表現するから迷うずら
PHPの本読むよりJAVAの本読んだほうが理解できる罠。
75: 2007/05/28(月)14:46 ID:??? AAS
自分が作るだけなら手続き型でいいけど
人の作ったライブラリ使いたいから
最低限、何が書いてあって何をしているのか読めるようになりたい
76: 2007/05/29(火)05:34 ID:??? AAS
答えが出てるじゃないか。その使いたいライブラリのコードを読め
77: 2007/06/05(火)12:23 ID:/w569Zaf(1) AAS
OOPS
78: [age] 2007/06/05(火)19:15 ID:??? AAS
XOOPS
79(2): 2007/06/11(月)22:06 ID:2dWIuVC4(1) AAS
>>65に誰もつっこまないのかよ!!
DBアクセスの為のクラス書くのかw
おそらくPHPインストール時に君のHDDの中にすでに入ってる訳だが…
しかもあらゆるDBに同じ書式でアクセス出来るやつが…
80: 2007/06/11(月)23:45 ID:??? AAS
>>79
なんてやつ?
81: 2007/06/12(火)00:15 ID:??? AAS
PEARのソースは読まない方が身のため
82(1): 2007/06/12(火)06:55 ID:e4tfCBN5(1) AAS
79は勘違いしてるが、彼がいいたいのはPearのDBクラスのことだろう
83: 2007/06/12(火)09:31 ID:??? AAS
82が勘違いだろ。
単にPDOだろ
84: 1 ◆SWtzLesEmM [age] 2007/06/12(火)10:24 ID:??? AAS
>>73
情報提供どうもありがとうございます。
独習PHPは、図書館でかりて読んでみました。
オブジェクト構文の説明は分かりやすいと思いました。
>>79
DBにアクセスするクラスも勉強のため練習で作ってみようと思いました。
その次に、O/Rマッパーの使い方を練習してみることになるでしょうか?
>>82
PHP5に標準で用意されているPDOのことですね。
外部リンク:jp2.php.net
省3
85: 2007/06/12(火)10:56 ID:??? AAS
mysqliとどっちがいい?
86(1): 2007/06/12(火)17:53 ID:??? AAS
ふとおもったんだが、>>1はできるんじゃないのか。
87(1): 2007/06/17(日)01:20 ID:??? AAS
被害者増やさないように書いておく。
「PHPデザインパターン入門」は買うな。
最近買った中で最低レベルの悪書。
どっかの英語ページを機械翻訳したようなトンチンカンな用語説明にまじって
何故かApacheとPHPのインストール方法だけが丁寧な日本語で書かれている。
あとはデザインパターン図が羅列してあるだけ。解説ほぼ無し。
3流大学生のコピペ論文を彷彿とさせる。
こんなの真剣に呼んでも絶対わかるようにはならない。
OOP用語の説明は何故かちゃんとしてないのに
php.iniにページさかれてるけど
省2
88: 2007/06/17(日)01:28 ID:??? AAS
なんか良く読むと、この本は解説の日本語が
オブジェクト指向で書かれてる気がした。
多分最初にパターン名を記載した時点で、作者の頭の中では
記載されてるページを呼び出してるんだろうと思えてきた。
解説するための日本語はプロシージャ指向で書いてくれと
小一時間問い詰めたい。
この本理解するには色んな本を買って、全部理解した後じゃないと
読めない。意味ねえじゃん。
89(2): 2007/06/17(日)01:54 ID:??? AAS
軽いフレームワークいじって使うのが一番いいオブジェクト指向の勉強だよ
90: 2007/06/17(日)14:22 ID:??? AAS
ウェブアプリにオブジェクト指向なんていらないよ。どうせ文字列を加工してデータベースのテーブルのカラムに並べるだけなんだから。
91: 2007/06/17(日)18:51 ID:??? AAS
じゃどういうときに必須なんよ
92: 2007/06/24(日)17:09 ID:??? AAS
オブジェクト指向と言う言葉にまどわされず、
クラスの勉強をすればいいんだよ。
単に、呼び出してるだけだから。
93(1): 2007/06/24(日)19:32 ID:??? AAS
PEARをサンプルみながら見よう見まねでインスタンス作って
なんだかんだで実際動いてるんだけど何してるかイマイチ理解出来てないんだよね
functionの中でインスタンス作るとその外側ではやっぱアクセスできないのかな
PEARDBのインスタンスがあっちゃこっちゃに散らばっちゃって困る
94: 2007/06/25(月)12:32 ID:??? AAS
>>93
プロパティに入れれ
95: 1 ◆SWtzLesEmM [age] 2007/07/06(金)14:33 ID:??? AAS
>>68
>拡張がやりやすい(やりやすく作ることが出来る)
そうみたいですね。
外部リンク:www.amazon.co.jp
「オブジェクト指向でなぜつくるのか」
という本にも、クラスを使うメリットが同じように説明されていました。(・∀・)
>>74
Javaの本だと
外部リンク:www.amazon.co.jp
「やさしいJava」をすすめられました。
省7
96(1): 2007/07/08(日)18:20 ID:XFKJF1H9(1) AAS
最近このスレが怖くて見れん俺ガイル
なんでそんな成長早いんだよ・・・おかしいだろ・・・orz
97: テレビできたよー 2007/07/10(火)15:53 ID:ZIdzImz8(1/2) AAS
AA省
98: テレビできたよー 2007/07/10(火)15:54 ID:ZIdzImz8(2/2) AAS
AA省
99: 2007/07/11(水)10:41 ID:??? AAS
例外投げるようにすれば?
100(1): 1 ◆SWtzLesEmM [age] 2007/07/11(水)12:59 ID:??? AAS
例外処理
外部リンク:www.phppro.jp
2. PHPで例外処理
外部リンク:www.phppro.jp
PHP5の基本 > 例外処理
外部リンク:www.shigeweb.jp
phpspot - 例外処理
外部リンク[html]:phpspot.net
PHP4ではエラー処理といえば、
if ( ($err = func()) != "" ) {
省14
101: 1 ◆SWtzLesEmM [age] 2007/07/11(水)13:07 ID:??? AAS
>>96
PHPプロのメルマガ読んで、知ったかぶりなだけですw
お互いがんばりましょう☆(・∀・)
102: 2007/07/11(水)14:16 ID:??? AAS
いやさ,まず公式マニュアルを読む癖を付けようぜ
103: 2007/07/11(水)14:44 ID:??? AAS
MVCじゃないとOOPなんて意味ないですかr
104: 2007/07/11(水)17:30 ID:??? AAS
( д) ...。。
105: 2007/07/12(木)02:57 ID:??? AAS
MVCもデザインパターンの一種じゃなかったっけ?
106(1): 2007/07/12(木)08:06 ID:??? AAS
>>100
なんかphpspotのその文はおかしいな。
エラー処理は例外を使おうがそうじゃなかろうが変わらない。
呼ばれた側はどういうエラーがあったか返す責任があるし、
呼んだ側は返ってきたエラーをチェックする責任がある。
エラーが起きた時の挙動を自分で決めれるならその場で処理すれば良いし、
そこではまだ決められないならさらに上位へreturnなりthrowすれば良い。
107: 2007/07/14(土)15:28 ID:w3CTKtks(1/3) AAS
OOPってのはアプリケーションをモノに見立てて、それを構成している部品をクラスとして定義する、ってとこまではなんとなく理解した。
例外処理?なにそれうまいの?
108: 2007/07/14(土)18:34 ID:??? AAS
ダンボールの味がするお
109: 2007/07/14(土)19:32 ID:??? AAS
おまいらオブジェクト指向に騙されてるよ。ただのデータ型に過ぎない。
110(2): 2007/07/14(土)19:46 ID:w3CTKtks(2/3) AAS
今、習作としてプロフィールスクリプト(っていうのも大袈裟なぐらいショボイやつ)を書いてるんだけど、どうにも悩む。悩む。
とりあえず、
-質問と答え(Entry)
--セッタ(SetQuestion,SetAnswer)
--ゲッタ(GetQuestion,GetAnswer)
-それらのEntryを編集したり、操作したりする(ManageEntry)
--POSTされたデータにEntryの値を変更する(EditEntry)
-プロフィール自体(Profiel)
--質問と答えを出力(ViewProfiel)
こんなクラスたちを作ったんだけどなんかおかしい気がしてならない。
省4
111(1): 2007/07/14(土)21:29 ID:??? AAS
どんな物を作ってるのかよく分からないけど
ぱっと見で確実に言える事は、個別のクラスが多すぎ。
半分くらい継承とメソッドの追加で済みそう。
今のままだと拡張もやり難そう。
プロフィールが"profiel"なのはつっこんだ方が良いのかな。
CakeとかSynfonyみたいな、ライブラリじゃないフレームワークを
使い込んでソース読んだら、どう設計したらよいか一気に分かるよ。
112: 2007/07/14(土)22:22 ID:w3CTKtks(3/3) AAS
継承とメソッドの追加ってどうやるんですか><;
正直どうやったらいいのか全くわからん。
プロフィール?え?あ?あはあは。
上下前次1-新書関写板覧索設栞歴
あと 782 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.046s