PHPでOOP (894レス)
上下前次1-新
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
上下前次1-新書関写板覧索設栞歴
あと 854 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s