いてつくブログ

2ちゃんねるのスレッドをコピペしてまとめてみるブログ

PHP

ネット関係【待望】PerlユーザのためのPHP入門

1 :俺様:03/02/27 15:17 ID:tJsRCtRD
見事Perl→PHPへの脱皮に成功した俺様が
両者の違いを中心に講義してやる。
今までPerlマンセーだったやつはこれを機にPHPに変更しよう也。
質問もガンガン書いてくれ。
このPerlの文はPHPだとどう書くの?とか。

2 :nobodyさん:03/02/27 15:19 ID:???
このスレ結構ありがたいかも。
>>1
ありが??

9 :俺様:03/02/27 15:59 ID:tJsRCtRD
PHPのインストールについては
詳しく解説しているところを見たほうが早いか。
始めたばかりの頃俺が参考にした所だ。

http://www.php-j.com/tutorial/install/win.php

では各自ローカルでPHPを動かせるようにしておきましょう。
その瞬間からPerlとはおさらばだ!


18 :nobodyさん:03/02/28 04:10 ID:???
(PerlCode)
$name="john";
$say=sub{return "My name is $_[0].";};
print &{$say}($name);

はPHPで書くとどうなりますか?


20 :nobodyさん:03/02/28 08:36 ID:???
>>18
<?php
$name = "jhon";
function say($name) {return("My name is $name");}
echo say($name);
?>

28 :俺様:03/02/28 11:08 ID:0fBPA0cl
これかいてる間に重要なこと思い出した。

#Perl code
$a=26;
print "$aゲット";

#26ゲット
-------------
#PHP code
$a=26;
print "$aゲット";

#(何も表示されない)
----------------------

両者にはこのような違いが起きてしまう。
下はどうすればよいのか各自考えてみましょう。

出かけるので解答は夜で。


32 :nobodyさん:03/02/28 11:19 ID:???
結構見やすいPerl/PHPの構文比較のページ見つけました。

Perl/Php Translation
http://www.cs.wcupa.edu/~rkline/perl2php/

既出だったらゴメン。

42 :nobodyさん:03/03/01 11:16 ID:5K/2+grl
先生質問です。
>>9の通りしましたがapacheが起動できません。
どうやらhttpd.confのLoadModule php4_module C:/php/sapi/php4apache.dllが原因のようです
php4apache.dllをphp4apache2.dllとしても同じでした。

WinME Apache2.0.39です

44 :俺様:03/03/01 12:12 ID:UE12tRyA
>>42
Apacheは2よりも1.3.27の方がいいと思う。
後はなんだろな??
Meなんて怪しいOS使ったことないからな。
とりあえずApacheのバージョンを変えて試してみてクレイ。

47 :nobodyさん:03/03/01 16:36 ID:???
>>44
OS = Windowsとか思っている痛い講師がいるクソスレはココですか。

48 :俺様:03/03/01 17:05 ID:UE12tRyA
>>47
世の中は理詰めだけでは解決しない。
理論ヲタになるより、わかりやすさを求める方が現実的だ。
わかるかい?
しかも、PHPと直接は関係ない。
君は文学者がテイラー展開を出来なかったら馬鹿にするだろうか?

では、今日はいよいよ変数のスコープについての説明だ。
あくまでも対象者は基本的に『Perlしか』やったことがない人のみ。
C言語など他の言語をやっている人には馬鹿見たく思われる説明になるからだ。


49 :nobodyさん:03/03/01 17:07 ID:???
>>48
>君は文学者がテイラー展開を出来なかったら馬鹿にするだろうか?

少なくとも数学者を目指す文学者がマクローリン展開を知らなければバカにするが。

50 :俺様:03/03/01 17:30 ID:UE12tRyA
>>49
俺様はべつにオペレーティングシステムのエキスパートを目指してはいないッポ。

#Perlscript

sub foo{
$a = 100;
print "$a,";
$a++;
}

&foo();
print $a;

#100,101

まあ、当たり前の結果が表示されます。
これをPHPに書き換えてみましょう。


53 :nobodyさん:03/03/01 17:47 ID:???
>>50
>俺様はべつにオペレーティングシステムのエキスパートを目指してはいないッポ。

いや、エンジニアでなくても車=ベンツとか思ってる奴はアホなわけで。

教養ではなく常識なのよ。常識。


54 :nobodyさん:03/03/01 18:26 ID:???
>>53
邪魔。キエ□

66 :生徒B:03/03/01 20:39 ID:???
perlの use strict; のような未定義変数をチェックする方法はPHPに無いのでしょうか。

97 :nobodyさん:03/03/03 04:20 ID:???
普通に見てる人もいるんで、煽ってるやつらマジでどっかいって。

98 :nobodyさん:03/03/03 08:39 ID:???
>>97
普通にウザがってる人もいるんで自分のサイトでやるように説得してください。

113 :nobodyさん:03/03/04 02:34 ID:???
あんまり資源無駄に使ってるとアク禁食らっちゃうよー

114 :nobodyさん:03/03/04 05:05 ID:???
このスレすごく良いです。頑張ってください。

139 :137:03/03/05 13:44 ID:???
>>139
ありがとう。
PHPに乗り換えようかと思います。

145 :nobodyさん:03/03/05 22:51 ID:???
$a : $b ? $c = 1;

PHPはこれ書ける?

150 :nobodyさん:03/03/06 00:48 ID:???
ふふふ。ひっかかったか。

Perlは三項演算子を左辺値として使える。
って全然利用価値はないけど、知ってるか試しただけ。

157 :俺様:03/03/06 01:34 ID:ZBXb+hSM
わからない点が出てきた(汗

$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・

ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。

161 :nobodyさん:03/03/06 01:43 ID:???
>>157
あほか?
$a?$b:($c=1);と解釈するからだろ。つーかそれが健全。

179 :nobodyさん:03/03/06 17:01 ID:???
PHPも、優先度は、=の方が上だから、そのままの結果。ではないのか?

180 :俺様:03/03/06 17:04 ID:SMJB497B
>>179
>優先度は、=の方が上
ソースキボンヌ。
俺が調べた結果だと=の方が下だった。

185 :nobodyさん:03/03/06 23:54 ID:aj5F0raF
教えて下さい。
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、

@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];

でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?

192 :$n日後:03/03/07 18:53 ID:???
現在時刻から$n日後を求めたいいいだけどprelだと以下
($sec,$min,$hour,$mday,$mon,$year,$wday)=localtime(time + $n*24*3600);
PHPだとどうなるんだ?
あのツェラーの公式だっけか?

193 :nobodyさん:03/03/07 18:56 ID:???
>>192
>$n日後

なら純粋にtime()に86400 * nを足せばいいのでは?


194 :nobodyさん:03/03/07 19:23 ID:???
$i = 90;

$year = date("Y", time());
$day = date("n", time());
$month = date("j", time());
$hour = date("G", time());
$minute = date("i", time());
$second = date("s", time());

$timestamp = mktime($hour, $minute, $second, $month, $day + $i, $year);

print date("Y/n/j G:i:s", $timestamp);

まぁ別に変数を使う必要も無いわけだが。

217 :nobodyさん:03/03/10 23:02 ID:c9OmtJD2
PHPはいいからDelphiおしえれ

218 :俺様氏ね:03/03/10 23:02 ID:???
>>217
何が聞きたい?

224 :nobodyさん:03/03/11 10:00 ID:???
このスレでは、いずれ php.ini の解説もしてくれますか?
俺が Perl → PHP で一番悩んでるのが php.ini (により定まる動作環境?) なんだよね。
こっちのサーバでは動くのにあっちのサーバでは動かない、とかとか。

225 :nobodyさん:03/03/11 10:22 ID:???
>>224
それって各鯖の鯖管に問い合わせるべきじゃないのか?
知っててもそれじゃ手が出せないだろ。

231 :俺様:03/03/11 11:17 ID:+7fowk1S
まずここはサーバで違いがあるところが多い。

; Safe Mode
safe_mode = Off(デフォルト時)

セーフモードとは何か?についてはマニュアルに結構書いてある。
http://www.php.net/manual/ja/features.safe-mode.php
http://www.php.net/manual/ja/features.safe-mode.functions.php

見ればわかるとおり、Onにすると使えなくなる関数とかがいくつか出てくるが
共用鯖ではOnにしている所がかなり多いので
On上での動作確認をした方がいいだろう。



232 :俺様氏ね:03/03/11 11:19 ID:???
>>231
お前、全部説明する気か?大変すぎだぞ。それ。

234 :俺様:03/03/11 11:28 ID:+7fowk1S
>>232
まあ、重要な部分だけあといくつか。
あとはその日本語訳をよんでクレイってことで。

これも確かめたほうがいいな。
register_globals = Off

Onにすると変数がグローバル変数となってしまう(だったっけ?)
俺はOnにしたことないからよく知らんが。
4.1.0以降でデフォルトがOnからOffに変わったので注意すべき。
Onのサイトのみで動いていたものをOffのサイトで動かすには
結構スクリプトの書き換えが必要。


269 :nobodyさん:03/03/20 19:39 ID:???
$fh = @fopen($file,"w");
の@はperlの何に相当するんですか?単にfopenじゃイクナイの?

270 :nobodyさん:03/03/20 20:28 ID:???
>>269
@をつけると、エラー出力を抑止する。
つけなくてもいいけど、その場合はfopenに失敗したときにエラーがブラウザに返される。

281 :nobodyさん:03/03/27 08:34 ID:illH7cXT
> PHP.INI に記述された設定は、スクリプト内で変更できるのですか?
ini_set -- 設定オプションの値を設定する
string ini_set ( string varname, string newvalue)
だけど、全ての設定が変更可能ではなく、pathの設定とかは確か無理だったかな。

include_pathの設定は、カレント・ディレクトリに
<?php require_once '/full/path/of/PEAR.php'; ?>
とか、リンクを PEAR.phpと言う名前で置くことで対応。


293 :nobodyさん:03/03/28 06:56 ID:NA3CJ6rA
>>281
教えていただき、ありがとう。

システム側で設定したPHP動作設定値を変えられないとなると、
ISPで利用する場合、大きな壁になりそうですね。

例えばアップロードファイルのサイズは2Mまでだから、それを超え
るものをアップさせる仕様に対応できない。
PHPでWebアプリ組んでも、いつかはユーザ要件に対応できずに全部
Perl等に書き直す時が来るかも、ということでしょうか?


320 :nobodyさん:03/04/11 00:44 ID:fBEofA1c
年寄りデザでつが,これから極めるのならPerlとPHPどっちでつか?
ただPerlと違い,初心者向けの本がPHPにないところが痛いでつが。

323 :nobodyさん:03/04/12 05:30 ID:sfZex8vW
>>320
私も年寄りですが、Perl、PHPを使ってメシ食ってます。

まったくの初心者が始めるならPHPですね。
HTTPプロトコルをあまり意識する必要がないから、
ブラウザに文字を表示させるのは簡単です。
そのコードも単純明快に理解できます。

一方Perlは、ブラウザに文字を表示させるためには
表示する処理の前に、何行かのおまじないを書かな
ければいけません。
そのおまじないを理解しようとすると、初心者では到底
理解できないので「難しい」ということになるかもしれません。

PHPの本は初心者用がたくさん売られていますよ。
大丈夫です。

331 :nobodyさん:03/04/13 03:24 ID:Ba9KZRzY
PHPって配列厄介だなぁ。

333 :nobodyさん:03/04/14 01:24 ID:???
>>331
僕PHPはじめて1週間だけど配列はだいたい分かったので
配列ですが僕はすぐ理解できたので
331さんの厄介とこが分かれば教えてあげますよ

334 :nobodyさん:03/04/14 01:28 ID:???
オレは>>333の日本語が分かりづらい

362 :nobodyさん:03/05/25 01:54 ID:YbAXJXvg
formから$_POST["name"]で値を受け取ったのですが、
値中の「"」と「'」がエスケープされてしまって、「\」がついています。
これは自分で取り除くしかないのでしょうか?

363 :nobodyさん:03/05/25 02:04 ID:???
>>362
php.iniのmagic_なんちゃらを、off 詳細は誰かおながい

381 :nobodyさん:03/06/19 19:42 ID:???
HTMLとPHPコードを分離したいんだけど、
何か方法ありますか?perlでいうとこの
HTML::Template みたいなのとか。


399 :nobodyさん:03/07/26 02:18 ID:???
改行コードCRLFで保存したファイルを
配列で1行づつ配列で取り出して保存したいんですが、
何故かPHPだと改行コード(CRCR...LF)と増え続けます。
改行コードの仕様の問題なんっすかねぇ?

# Perl
open( IN , "hoge.dat" );
@lines = <IN>;
close( IN );
#何か処理
open( OUT , ">hoge.dat" );
print OUT @lines;
close( OUT );

// PHP
$lines = file( "hoge.dat" );
// 何か処理
$fp = fopen( "hoge.dat" , "w" );
foreach( $lines as $line ){
 fputs( $fp, $line );
}
fclose( $fp );

400 :nobodyさん:03/07/26 02:50 ID:???
>>399
CRが付くって事は環境はWindows?
perlでいうbinmode($fp)ていう関数ないかね?

http://flex.ee.uec.ac.jp/texi/perl/perl_76.html#IDX157

435 :nobodyさん:03/09/20 22:34 ID:VeIFc9WR
あるディレクトリの一覧をファイル名順でソートしたいと思います。
ただし、.や..や.htaccessといった、「.」で始まるファイルは対象外にしたいのです。

Perlで
---
opendir(DIR, $path);
@list = sort grep(!/^?./, readdir(DIR));
closedir(DIR);

と書くところを、phpではどのように表現すればよいのでしょうか?

437 :とおりすがり:03/09/21 03:57 ID:???
>>435
自信ないが
$dh = opendir($path);
while ($tmp = readdir($dh)) $filename[] = $tmp;
$filename = preg_grep("/^[^\.]/", $filename);
sort($filename);
closedir($dh);

445 :nobodyさん:03/09/25 23:55 ID:???
perlのflock関数だったらさんざん使ったことあるんですが、
perlの場合のflock関数と比較して、
phpのflock関数を使うときの注意点って、特になんか、ありますか?

(ウェブサーバは、Apacheという前提です)

454 :nobodyさん:03/10/07 23:44 ID:???
$str =~ s/◆/◇/g;
みたいなマルチバイト文字列の置換をPHPでやるにはどうしたらいいんでしょうか。
mb_ereg_replaceはまだ実験段階らしいのであまり乗り気ではなく。

463 :nobodyさん:03/11/03 00:41 ID:4CVQMxAy
perlでいうところの、

print qq|
 $hoge
<hr>
<a href="http://www.yahoo.com"></a>
|;

みたいの、phpでないでしょうか?

要は、変数展開もされて、”もエスケープする必要がないように書きたいのですが・・・

480 :nobodyさん:03/11/26 02:30 ID:???
俺様帰ってこないかな
別に用は無いんだけど

481 :俺様:03/12/05 23:06 ID:???
>>480
この板はしばしば見ているぞ。
最近はperl2phpのコンテンツを立ち上げてがんばっているところだ。

484 :nobodyさん:03/12/14 00:06 ID:???
ソケット通信をする際、相手方のIPアドレスがわかっている場合、
fsockopenの第一引数にIPアドレスを入れれば、
内部的に名前の解決をしなくて済むのでしょうか?

485 :nobodyさん:03/12/14 21:20 ID:???
>>484 ttp://jp.php.net/fsockopen
IP address がすでにわかってるのに名前の解決?
Ip address => name なら、そもそも必要ない。

fsockopen関数の内部で、PHPが名前え解決するかどうかとういう話であれば、
inet_aton が失敗すれば(第一引数のhostが IP address を表す文字列でない場合)、
名前の解決(gethostbyname)がされる様です。

504 :nobodyさん:04/01/23 00:24 ID:Zt/PsL2C
extract($_GET);

$_GET["id"];
$_GET["pass"];

505 :nobodyさん:04/01/23 00:46 ID:???
>>504
なぜ、extract()

530 :カポコン:04/04/21 13:43 ID:???
http://f13.aaacafe.ne.jp/~mugen/perlvsphp/top.html

よろしこ。

532 :nobodyさん:04/04/21 21:28 ID:???
>>530
Shift_JISでスクリプトを書いてはいけない理由、
どうしてもShift_JISで書きたい場合はどのPHPをインストールすべきとか
mb_string周りのPHP.iniの設定の仕方、設定のオーバーライドの方法を解説して欲しい。

あと、PerlにもHTML埋め込みを行う方法がいくつかあるよ。


http://hibari.2ch.net/test/read.cgi/php/1046326634/l50人気ブログランキングへ

ネット関係【PHP】下らねぇ質問はID出して書き込みやがれ 110

1 :nobodyさん:2011/08/30(火) 17:23:31.78 ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 109
http://hibari.2ch.net/test/read.cgi/php/1311803617/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ

2 :nobodyさん:2011/08/30(火) 17:25:12.16 ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 108
http://hibari.2ch.net/test/read.cgi/php/1309599473/
【PHP】下らねぇ質問はID出して書き込みやがれ 107
http://hibari.2ch.net/test/read.cgi/php/1307228162/
【PHP】下らねぇ質問はID出して書き込みやがれ 106
http://hibari.2ch.net/test/read.cgi/php/1304064660/
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
【PHP】下らねぇ質問はID出して書き込みやがれ 101
http://hibari.2ch.net/test/read.cgi/php/1289793607/
【PHP】下らねぇ質問はID出して書き込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/
【PHP】下らねぇ質問はID出して書き込みやがれ 99
http://hibari.2ch.net/test/read.cgi/php/1286938893/

21 :nobodyさん:2011/08/31(水) 03:37:48.63 ID:???
960万っていうけど
日本人で年収1000万超えてるの何%だと思ってんの?
男で8.3%、女で1.1%
ちなみに500万以下は
男で62.4%、女で91.1%
500万が負け組っていうなら日本人の半数以上は負け組
どうせニートなんだろうが世間知らずも大概にしろ

24 :nobodyさん:2011/08/31(水) 04:06:38.23 ID:???
>>21では年収で判断してるけどなw

59 :nobodyさん:2011/09/01(木) 11:30:29.73 ID:???
phpを使って、メールで送った文章と画像をDBに登録(画像はディレクトリに)するといった作業を行っています。
メールのデコードにはPEAR::Mail::mimeDecodeを使っているのですが、iPhoneで送ったメールだけ上手く処理されません。
具体的には、iPhonei.softbank.jpドメインから画像を添付してメールを送信すると、bodyが取得されません。
画像を添付せずに、本文だけだとbodyは取得されます。
また、PCからの一般メール、ドコモ、au、softbank.ne.jpからのメールは問題ありませんでした。
i.softbank.jpはメールの仕様が他のとは違うのでしょうか?
ググって、ttp://d.hatena.ne.jp/oinusama/20110829/p1 このページは参考にしましたが、そのページを見る限り問題なさそうですが・・・。
よろしくお願いします。

79 :nobodyさん:2011/09/01(木) 21:04:09.71 ID:JaLsRVpC
php5.2.16を使っています
session_start()すると以下のようなエラーが起きるようになりました
>PHP Warning: Unknown: Node no longer exists in Unknown on line 0
何が原因で、どうしたら解決するんでしょうか

とりあえずセッションを全部破棄してみようと
session_destroy();
session_start();
としたんですが、今度は以下のようにエラーがでました
PHP Warning: session_destroy() [<a href='function.session-destroy'>function.session-destroy</a>]:
 Trying to destroy uninitialized session in /var/www/html/index.php on line 19
PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: Node no longer exists in
 /var/www/html/index.php on line 20

すみませんがどなたかご意見ください
よろしくお願いします

80 :nobodyさん:2011/09/01(木) 21:54:38.67 ID:XICvz9rJ
ニコニコ動画のようにページ遷移せずにコメントできる掲示板をつくりたいのですが
PHP以外に何を学ぶべきですか? 検索ワードだけでも教えていただけると助かります。

129 :nobodyさん:2011/09/03(土) 21:25:53.28 ID:???
やってみたら
123
246
になったよ

132 :nobodyさん:2011/09/03(土) 21:41:05.82 ID:h61EC95x
>>129で気付いて
echo var_dump($hoge);
とやってみたら6になってました

1行目の123は6
2行目の12は2
3行目の1は1
どうやら最初の1行目だけ無駄な文字列が3文字ついてるようです

166 :nobodyさん:2011/09/04(日) 05:55:43.70 ID:???
出来ればeclipse使いたくない。
デバッグするのに仕方なく使ってる

170 :nobodyさん:2011/09/04(日) 08:26:07.42 ID:???
つくれない

193 :nobodyさん:2011/09/04(日) 14:12:17.29 ID:5sGNMMWA
テンプレートファイル template.html に
<html>
<head>
%head%
</head>
<body>
%body%
</body>
ってあって、その%head%、%body%に変数$headと$bodyを代入するスマートな方法はないですか?

実際にはもっと変数があるので、一個ずつ置換するよりいい方法があれば助かります。

196 :nobodyさん:2011/09/04(日) 14:46:02.55 ID:???
>>193
正規表現で全部置換すればいいじゃん
%*%を<?php echo $%; ?>に

205 :nobodyさん:2011/09/04(日) 17:11:10.98 ID:4p7QA/V2
セッションを使うとセッションIDがクッキーにセットされますが
php.ini等設定ファイルを変更せずにクッキーを使わないようにするにはどうすればいいですか?
変なこと言ってたらすみません

221 :nobodyさん:2011/09/05(月) 21:30:11.36 ID:v0EZ9jPi
phpで得た変数を画像の横幅の長さに代入して、グラフを作りたいのですが

$A = 40
<img src="○○.gif" width="$A " height="20" ; />

としてもうまくいかないです
どうすればいいでしょう?

240 :nobodyさん:2011/09/06(火) 07:58:38.96 ID:???
>>166
デバッガ=eclipseじゃないよ

241 :nobodyさん:2011/09/06(火) 08:15:57.76 ID:???
>>240
デバッガ⊇eclipse
デバッガ⊆eclipse
∴デバッガ=eclipse

247 :nobodyさん:2011/09/06(火) 19:41:59.16 ID:zwduU6OE
EUCコードで書かれたプログラムに
 UTF-8のプログラムを 文字化けせずにrequire で読み込ませることは出来ますでしょうか?

test.php : EUCコード
    ├ form_dir
         ├ form.php :UTF-8
<?
#test.php
 ・・・・・・
require "/....../form_dir/form.php";
 ・・・・・・
?>

コードを一致させればよいのですが、ともに複雑なプログラムでして...
form_dir/.htaccess を煽ってみましたが駄目でした

php_value default_charset EUC-JP
php_value mbstring.detect_order auto
php_flag mbstring.encoding_translation Off
php_flag mbstring.func_overload Off
php_value mbstring.http_input auto
php_value mbstring.http_output EUC-JP
php_value mbstring.internal_encoding UTF-8
php_value mbstring.language Japanese

252 :247:2011/09/06(火) 21:12:09.08 ID:???
語弊がありました。
form.php(UTF-8)はフォームでありまして、
test.php(EUC)上でデータ(文字列)を処理します。

実際は、test.php(EUC)、form.php(UTF-8)共にDBを使用してて処置が複雑です。
form_dir/.htaccessの記述で行ければよかったのですが、、、


277 :nobodyさん:2011/09/07(水) 16:43:04.23 ID:???
そんな適当さだからバグ満載してんだよクズ

361 :nobodyさん:2011/09/09(金) 01:37:36.76 ID:ANnoOIHP
本で、
ファイルを、phpのインストールしたwebサーバーに、アップロードしろという

XAMPPを、ダウンロードした

これに、どうやったら、アップロードできますか?

362 :nobodyさん:2011/09/09(金) 01:49:59.11 ID:???
jpgをうpするならxampp1.7.4ならC:\xampp\htdocs\に
あらかじめuploadsのフォルダを作っとく。

upload.htmlの記述
<form action="upload_image.php" method="POST" enctype="multipart/form-data">
<input type="file" name="filename" size="50">
<br>
<input type="submit" value="アップロード">
</form>


upload_image.phpの記述
<?php
//ファイルの取り出し
$file_name=$_FILES['filename']['name'];
//一時ファイル名の取り出し
$temp_name=$_FILES['filename']['tmp_name'];

// 保存先のディレクトリ
$dir = 'uploads/';
// 保存先のファイル名
$upload_name = $dir.$file_name;
// JPEG形式、GIF形式のファイルをアップロードする
// アップロード(移動)
$result = move_uploaded_file($temp_name, $upload_name);//これがないと失敗
echo ($result)?'アップロード成功':'アップロード失敗';
?>
<img src="<?php echo $upload_name; ?>">


こんな感じ。考えるな感じるんだ。

398 :361:2011/09/09(金) 23:24:41.44 ID:ANnoOIHP
htmlは、ブラウザで、
ボタンなどで、表示されます。

そのボタンを押して、phpファイルを動かそうとすると、
文字だけの、ソースコードの画面になってしまいます。

どうしたら、phpファイルを、出力できるでしょうか?

403 :nobodyさん:2011/09/09(金) 23:56:27.89 ID:z7az+EcJ
33 // データベースに接続する
34 $conn = mysql_connect($sv, $user, $pass) or die("接続エラー");
35 mysql_select_db($dbname) or die("接続エラー");
36
37 // データを取り出す
38 $sql = "SELECT id, nam FROM prod ORDER BY id";
39 $res = mysql_query($sql, $conn) or die("データ抽出エラー");
40
41 // 取り出したデータを表示する
42 echo "<select name=\"menu1\">";
43 while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
44 echo "<option value=\"".$row["id"]."\">".
45 // cnv_enc($row["nam"], $enc_disp, $enc_db)."</option>";
46 cnv_enc($row["nam"], "UTF-8", "UTF-8")."</option>";
47 }
48 echo "</select>";
49
50 // 接続を解除する
51 mysql_close($conn);
52
53 ?>
54 </body>
55 </html>
24行目のcnv_encのandは間違いですよね?
コメントアウトして自分なりに直してみましたが、それでも結果は変わりません。
アドバイスをお願いします。

404 :nobodyさん:2011/09/10(土) 00:39:44.72 ID:???
>>403

23 $det_enc = mb_detect_encoding($string, $from . ", " . $to);

って

23 $det_enc = mb_detect_encoding($string, $from, $to);

じゃないの?

406 :nobodyさん:2011/09/10(土) 01:16:09.21 ID:???
もうその本窓からステなよ

408 :403:2011/09/10(土) 01:37:07.17 ID:dFxJuFkm
>>404
ああ、確かに訳の分からない連結してますね。
そこを直しましたけど変わりないですね。

>>406
4,000円もしたんですよ?

まず、ここ
24 if ($det_enc and $det_enc != $to) {
が正しいかどうか答えてくださいませんか?
自分は生まれてこの方こんなコード見たことないです。
まさか、($det_enc and $det_enc)がTRUEで$toがFALSEだったら真、ということは・・・ないですね。

420 :nobodyさん:2011/09/10(土) 10:01:06.00 ID:???
>>408

データベースに接続する処理のあとにmysql_query("SET NAMES UTF8");
をいれてみて

425 :nobodyさん:2011/09/10(土) 10:51:56.43 ID:???
自動判別がおかしいのはmetaタグで指定してやればよさそうだけど
根本的に、文字コードを何で出力すればよいのか設計があやふやではないかい?
少なくとも、設計の時点で、
・データベース
・ソースコード
・HTML出力
を何の文字コードで管理すべきかは決めておかないと、どこで何の文字コードに変換すべきかわからなくならないか。

426 :nobodyさん:2011/09/10(土) 10:52:19.98 ID:???
32行より↑の
<html>??<body>間に↓入れてる?

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >


428 :403:2011/09/10(土) 10:56:47.67 ID:dFxJuFkm
>>425
そのmetaタグというのを具体的に教えていただけませんか?

PHP始めてまだ一週間程度の自分にそれを言われても困ります。
というか、この本スーパーサンプルがそれについて言及するべきだと思います。
日本語でデータベースを扱うのはこの本ではこれが最初です。
まだ右の左も分からない人間でもほぼそのまま実行できるサンプル、
っていうのが売りのはずの本なんですけどまったくのデタラメですね。

430 :403:2011/09/10(土) 11:08:15.13 ID:dFxJuFkm
>>426
自動判別で"UTF-8"が選択されるようになりました。
が、しかし、タイトルは文字化けしたままです。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" > ←(2)
<title>選択リストをデータベースから生成する</title>
</head>
<body>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" > ←(1)
<?php
// 接続設定(サーバ/データベース/ユーザ/パスワード)

挿入した箇所は、まず(1)に挿入して自動判別で"UTF-8"が選択されることを確認し、
次にタイトルも正常に表示されないだろうかと(2)に挿入してみてダメでした。

タイトルもUTF-8にする方法というのはありますか?

449 :nobodyさん:2011/09/10(土) 19:25:22.80 ID:8f05fZx5
(strpos($_SERVER['REQUEST_URI'], 'stage:')
のstageの後の:て何を表しているんでしょうか?

452 :nobodyさん:2011/09/10(土) 19:42:19.92 ID:???
>>449
:は文字列'stage:'の一部であって意味なんかないだろ


http://hibari.2ch.net/test/read.cgi/php/1314692611/l50人気ブログランキングへ

ネット関係コンテンツとデザインの分離

1 :名無しさん@お腹いっぱい。:2001/05/27(日) 17:59 ID:6pK8snWA
ASPでもPHPでもPerlでもJavaでも形こそ違えど結局は可変部を吐き出すための
<%??%>やらprint文の嵐になってしまう。

「HTMLはHTML、プログラムはプログラムと完全に分離する方法はないものか。」
を話し合うスレッドです。

10 :1:2001/05/28(月) 19:17 ID:ucUrq.A6
あ。PHPだとこんなのあるらしいですよ。

PHP4テンプレートクラスライブラリ
ttp://zato.nu/tmpl/

これもタグ置換型ですね。

31 :名無しさん@お腹いっぱい。:2001/06/29(金) 15:03 ID:???
「プロフェッショナルPHPプログラミング」にうまい使い方が載っていたのでFastTemplate使ってみた。
php4だと配布サイトに載っているパッチをあてないと上手く動かなかったけど。

テンプレートを入れ子にできるので部品化・使い回しできるのがイイ。

32 :1:2001/06/29(金) 15:51 ID:8ZDmK9dU
>>31
Smartyもいいですよ。
>>10であげたテンプレートクラスが霞んでしまうほどの出来です。
(作者さん失礼…)

http://www.phpinsider.com/php/code/Smarty/

37 :名無しさん@お腹いっぱい。:2001/07/02(月) 22:55 ID:1TJMjc3E
>>32
Smarty って仕様でかすぎない? ってあんまり見てないんだけど。
最初、自分で作ろうと思って、いろいろ他のを見たけど
よくよく考えたら、PHP でこれをすると、HTML 内に処理を書けるって
いう言語自体の優位性が無くなってしまうね。

62 :名無しさん@お腹いっぱい。:01/12/25 00:00 ID:NlMRZ7tX
linuxjapanに出てたけど、
このwalrusっていうの使ったことある人いる?
http://www.brain-tokyo.jp/~research/koutetu/walrus/index.html

なんかけっこうよさげなんだが、このデモがちょっとイタイ。
http://210.155.146.159/walrus/demo/

94 :名無しさん@お腹いっぱい。 :02/01/05 22:14 ID:???
うむ、完全なデザインとロジックの分離ができるのって、WOだけだな。
あとは流行りの寄せ集め。
ただし、WOはいくら良くてもマイナーだ。トホホ

134 :nobodyさん:02/03/03 06:02 ID:???
JSP のカスタムタグ作ればきれいに分離ができるじゃん。

136 :nobodyさん:02/03/03 21:25 ID:???
>>134
あそ、ここはオーサリングソフト使わなきゃ HTML 組めない人達の
板だったわけね。横槍大変失礼いたしました。

179 :nobodyさん:02/03/31 06:52 ID:???
Smartyの英語マニュアル全部読んだのですが、
既存のHTMLファイルを取り込む方法がいまいちわからないです。

184 : ◆AngelBlk :02/04/01 11:00 ID:???
Smartyだけど、青マンモス本にリファレンス載ってるみたい。
誰か買った人います?
どんな感じか教えてほしいのだけど。

会社の帰りにでも、探してみるかなぁ・・・。

185 :1:02/04/01 14:08 ID:ALawDKoI
>>179
取り込むというと…?
{include file='includefile'}
みたいなことは出来ますけど、たぶん違いますよね。

>>184
マンモス本ってなんですか?? オライリー?

186 :nobodyさん:02/04/01 16:33 ID:SClNMZpg
>>185
お返事ありがとうございます。

ただ、現在のページをheder,left,bottomに分けて、そこをテンプレートにして管理したいだけなんですけど
Smartyだとやり方がよくわからなくて…。

187 :1:02/04/01 17:11 ID:ALawDKoI
>>186

別のファイルが差し込めればいいんですよね。

---- header.html ----
<h1>へっだー</h1>
---------------------

というヘッダー部があるとして、本文のテンプレート(例えばbody.html)に

---- body.html ----
<html>
?? 省略 ??
<body>
{include file='header.html'}
?? 本文 ??
</body>
</html>
-------------------
とすることで、body.htmlにheader.htmlが差し込まれた形で処理されます。


188 :nobodyさん:02/04/01 18:34 ID:eCkZiEpB
青マンモス本でSmartyがどんなふうに取り上げられてるの?(近くで売ってないので)
Smartyのマニュアル和訳とかしてwebにあげようと思ってたんだけどなー(´д`;)7割はオワッタ


190 :nobodyさん:02/04/01 19:41 ID:jOov+muS
>>187
お返事ありがとうございます。

index.tplにheader.html等組み込むのはいいのですが、コンテンツを
各webページごとに入れ込む場合、テンプレートの方でなく、index.phpなどの方に入れ込むと思うのですが、その入れ込み方がマニュアルを見ても乗ってないというか、わからないというか...

例えば、index.phpのコンテンツ部分をindex.txtから取り込むには、ファイルを読んで、それを$contentsに入れ込んで、$smartyに渡すということをすればいいのでしょうか?...自分でもよくわからないです...

>>188
すごいですね。upしたら教えて下さい。
というか、途中でも、upすれば、リバイズとか助けられると思いますよ。

194 :1:02/04/02 09:55 ID:IYI5YDp3
>>190
うーん、それはSmartyというよりPHPでゴリゴリ書くしかないですね。

---- main.html ----
<html>
<body>
{$contents}
</body>
</html>
-------------------
というテンプレートに

---- index.php ----
require("Smarty.class.php");
$smarty = new Smarty;
$fp = fopen("index.txt","r");
$smarty->assign("contents", fread($fp, filesize("index.txt"));
fclose ($fp);
$smarty->display("main.html");
-------------------

こんなかんじなのかな?
すいません、>>190さんの言いたいことがよくわかってないかもです。

>>188
ぜひUPして下さい。日本語のSmartyサイトが1件も検索に引っ掛かってこない現状
は寂しいです。


253 :nobodyさん:02/05/06 04:38 ID:G0jBHwom
PHPに対するPHPテンプレートの優位性って何?
いくつか見てみたけど、 PHPだけでいいような気がしてならない
というより、PHPよりテンプレート用言語(笑)を覚える手間が
増えてるだけのような

259 :nobodyさん:02/05/10 21:51 ID:/cNgrcGu
>>253
PHPってもともとそういうものだからな。

260 :nobodyさん:02/05/11 01:40 ID:???
>>259
なのにそのPHPでテンプレートを開発している奴らの目標は何かと問いつめたい

ただ、{?php xxxx ?}みたいなタグじゃない形で PHP が実行できると
便利な場合もあるなと思った

261 :nobodyさん:02/05/11 04:38 ID:???
>>260
やっぱり、いかにプログラマとデザイナーの作業に分けるかでしょ。
じゃあ、PHPがHTML埋め込み型言語である理由って何?とか言われると
すごい小さいアプリなら、てっとり早くでっちあげるのには便利かなー、って
くらいしか思いつかない。
個人的には、PHPはHTML埋め込み"可能"言語であって、
スクリプト内にHTMLを埋め込もうと思えば、あくまでも"可能"であるって
ぐらいの認識かなぁ。

自分がずっとSmartyを推してる理由は、変数置換や繰り返し以外にも、
プラグイン追加による機能拡張や、テンプレートの出力を一部キャッシュして
パフォーマンスを上げたりする事が可能だから。
静的コンテンツを動的に生成したい時とか本当に便利。


265 :nobodyさん:02/05/13 04:02 ID:???
>>261
PHPを使ったテンプレート

http://hoge.com/test.php
とかの場合

test.phpの内容
<?
$title = "test";
include("template.php");
?>

template.php の内容
<HTML>
<HEAD><TITLE><?=$title ?></TITLE></HEAD>
<BODY><H1><?=$title ?></H1></BODY>
</HTML>

smarty とかよりこんなのじゃだめなの?

266 :nobodyさん:02/05/13 12:31 ID:???
>>265
条件分岐や繰り返しのある表現をしようと思うとムリがありますよね。

全てのテンプレートエンジンがそうなのかは分かりませんが、少なくとも
Smartyが提供するものは
"PHPスクリプト内にHTMLタグを書かなくて済むような仕組み"
なわけで、デザイナーとプログラマの作業分担云々へのメリットは副次的な
効果だと思う次第です。

PHPスクリプトの可読性を上げ、より保守しやすい環境を目指した仕組みな
わけで、誤解を恐れず言えば、プログラマーが楽をするためのフレームワーク
であると言っても過言ではないと思います。

267 :nobodyさん:02/05/13 19:33 ID:???
>>266
Smartyはデザイナとプログラマの分業を重要な目的の一つとして
制作されたので、副次的に生まれた効果ではないです。

あと、PHPスクリプトにHTMLが混入するテンプレートエンジンなんて
存在し得ないと思うんですが。揚げられたものは全て
テンプレートエンジンが最低限実装すべきもののような気がします。

268 :nobodyさん:02/05/13 20:12 ID:???
DB連携がスマートにできるやつがいいね。
商用だけど、WebObjectsのフレームワークは、目から鱗。

269 :nobodyさん:02/05/13 20:12 ID:???
>>266
>条件分岐や繰り返しのある表現をしようと思うとムリがありますよね。
いや、PHPそのままかけるんだから
for() でも while() でも書けばいいんでないの?
smarty タグとかでも同じ事をやる訳じゃないの?
template.php 内で include してもいいし、関数を呼んでもいい。

template.php 内には
<table>
<? foreach($osakana as $syurui=>$nedan ){ ?>
<tr><th><?=$syurui ?></th><td><?=$nedan ?></td></tr>
<? } ?>
</table>
みたいな感じだけで

smarty だって selectionタグってな foreach のまがい物みたいなの使うんでしょ?

271 :nobodyさん:02/05/13 20:58 ID:???
>>266じゃないが、Smartyはかなりプログラマよりの仕様になっていることは確か
自分たちの必要に迫られて作った→いろいろ揉まれて良い物ができた→公開した
という流れらしいしね

>>267
PHPを対象としたものでなければ存在するんだな、これが
仮にPHPに対象を絞ったとしても、存在し得ないだのすべきものだの
断定的な事がよく言えたもんだ

>>268
裏でどんなSQL投げてるか想像すると吐き気がしないか?

>>269
そんな方法を採らなければいけないことが無理があるって事だと思うが…
いびつだと思わないか?もう一度>>1を読んでみろ

http://www.phpinsider.com/php/code/Smarty/docs/preface.html
とりあえずこの辺読んだ方が早い。
読んでも理解できなければテンプレートエンジンのことは忘れろ
お互いのためだ

だいたい200を超えたスレでいまさら
> いや、PHPそのままかけるんだから

こういうアホなことを言うな

274 :nobodyさん:02/05/13 22:18 ID:???
>>271
混入してしまった時点でその部分のコードは相手方の
手から離れてしまっているので分担とは言えないような。
Javaですか?そのエンジンが持つ、専用のスクリプトの事じゃないですよね。
そのテンプレートエンジンを教えていただけますか?


275 :nobodyさん:02/05/13 22:49 ID:???
>>274
わざわざ機能不足な物を知ってどうする?
なにかメリットあるのか?
最新Verでどうなってるかまで知らないし、そこまでわざわざ調べるつもりもない
興味本位なら自分で探せ

そもそも俺が言いたいのは、自分が見たことがない = 存在しない などという傲慢な
考え方はするなって事だ

276 :nobodyさん:02/05/13 23:42 ID:???
>>275
それは機能不足だと思うんですか?
明らかに分析が間違っているのに公開されてるような
イレギュラーなフレームワークを話題に持ち出すのは
どうなんでしょうね。

あと、最後のように間違って解釈される方がいないように
"し得ない"という表現を用いています。伝わらなかったようですが。


278 :nobodyさん:02/05/14 00:47 ID:???
>>276
誰が話題に持ち出してるんだ?

分析云々偉そうなこと言いなさんな、初期のテンプレートエンジンなんざ
全部文字列置換に毛が生えた代物だらけだったからな
まあ、その程度でも十二分に便利な奴もいるし、現在メインで使ってる奴もいる
(間違いなくいる、しかもかなりな数で)所詮は適材適所ってこった

ともかく自分の常識から外れたら全てイレギュラーとは恐れ入った
何に対してもずいぶん自信がおありと見える

微妙にスレ違いだから、お前にはここまで

295 :nobodyさん:02/05/16 14:59 ID:???
>たとえばデザイナーが修正個所まるっと消して、再作成しちゃったら…

WOFだと、どこに何があったはずだからエラーってのが出るよ。
DB連携箇所とかもぬかりなく。
みんな、けっこう原始的な方法使ってるんだな・・・・

298 :nobodyさん:02/05/22 20:56 ID:???
>>295
WOではどうやってHTMLとプログラムの統合するの?

316 :nobodyさん:02/05/26 18:06 ID:???
今Cocoon2を使って仕事している。マジでマンセーだ。WO一時期使ってたが
漏れは今やCocoon2にゾッコンだ。マジで分業が楽だ。新人のド素人使っても
生産性が上がった。漏れはXSP主体で担当しているが、新人にXSLTやらせて
進捗がガンガン上がってる。元々SQL書くのは慣れているので、この点でも
気が楽だな。癖は強いが取っ掛かりが意外なほど楽だったので素人向きかも。
XMLの利点なんてわからなかったが、取り敢えず納期に余裕で間に合いそうなので
Cocoon2最高!って言っておく(w ま、大したアプリじゃないんだがな(藁

317 :nobodyさん:02/05/27 00:06 ID:???
Cocoon2のスレってある?

318 :名無しさん@Emacs:02/05/27 01:14 ID:???
>>316
差し支えない範囲で教えて欲しいんだけど、どんなアプリ?

319 :nobodyさん:02/05/27 01:18 ID:???
XSLTL+XSP、便利だけど、メンテナンスが大変だよ。
担当者が変わったら、理解するのにけっこうコストかかる。

320 :316:02/05/27 01:41 ID:???
>>317
あったらいいな。あるのか?

>>318
ナレッジマネジメントという名の社内掲示板だ(w ageとかつけてやろうか
とか思ったよ。ただ、結構検索機能が複雑なんでその辺がナレッジ????っぽい
ということかな(藁)あと、携帯電話からも使えるようにとか、色々あるので
その辺XSLTを複数用意しておくだけで解決できているのは楽だ。

>>319
何でも一緒だと思ってるから平気。つかWOはJavaやSQLの素人には習得に時間が
かかるのが難点だった。素人ばかりアサインされる漏れの立場からすると、
結構いらいらしたんだよなー。何でわかんねえんだとか怒ったりして嫌われるんだよ。

その点Cocoon2だと「お前XSLTに専念しる!」って可愛いトウシロの新人ちゃん
(マジ、可愛いんだよ)にやらせても、ちゃんと戦力になるのが嬉しい。
そうすると誉めてやれるから良い先輩になれるんだよ。愛が芽生えて欲しいぞ(w
だから今マジで仕事楽しいよ。女の子ってああいう見た目ちゃんと作るの好きジャン。
俺はそういうの苦手だからちょうどいいしな。その女の子同期の子に「仕事楽しい」とか
言うわけだよ。そりゃ楽しいだろう。GIFとか作ってりゃさ。そうすると他の苦しい
プロジェクトにアサインされた子なんかも「いいなー」って良い先輩状態さ(藁)
何がいいって、そういう状態がいいんだよ。技術的なことなんてどうでもいいさ。

あと、基本的にDBはストアド使い倒しているので、XSPの記述はすげぇ少ない。
複雑なロジックはServlet+BeanにしてしまってGeneratorに割り当てたり
GeneratorやActionを自前で作成したりすれば解決だしな。そうすると
XSPに書くことなんてホントにぱっと見て判ることしかないって按配だ。
JUnit使ってちゃんとテストできるし。そもそも俺コード書くの嫌いだし。

ま、単純な掲示板だからな。そんなもんだ。

321 :318:02/05/27 08:05 ID:???
>>320
なるほど。「お前XSLTに専念しる!」ってのはいいかも。オブジェクト
指向の魂いらないし。

漏れ今WO勉強中で結構作業が楽になりそうだと感じてるんだけど、必要
な素養が多いから確かにゼロから学習する人にはキツいね。でも、どっ
かで責任範囲の線引きして素人に作業振れないかな。316はWO使ってる
時どんな作業分担してたの?

366 :nobodyさん:02/09/06 01:37 ID:pfquKKHb
Perlでテンプレートモジュール作りました。
CPANに登録するつもりはないのですが。
ここで公開してもいいですか?

417 :nobodyさん:02/10/13 00:35 ID:???
WebObjectsは、日本では超マイナー製品だからな。
アップルジャパソも積極的に売ってないし、サポートもろくすっぽ無いし。海外ではかなり有名なんだが。
でも、ググってみると、いっぱい情報あるよ。
でも、電話系システムのバックエンドとか、航空管制システムとかで使ってるぞ。
金融会社では、昔ながらのNextStepやらOpenStepなんつー酔狂な環境で、
未だに古いバージョンが動いてるし(藁
"ObjectWeb"なんつー、オープソンースのJ2EE対応のアプ鯖もあったな(藁

とはいえ、マイナー無名製品。
OOPをきちんと学んだ開発者でないと、さっぱり理解できない複雑性をモツ。
つまり、間口が狭く、学習曲線が緩い。
こんな製品が、今の市場にウケるわけがない。

418 :nobodyさん:02/10/13 07:31 ID:???
>417

どこの電話会社や航空管制施設なの?
金融系ってまさか銀行?
恐ろしい企業もあったもんだ。
その例はWOの信頼性を保証するもんじゃなくって、逆にそれをそこまで採用しちゃってる企業の危険度の尺度じゃない?

469 :nobodyさん:02/10/20 17:15 ID:qpipozpW
Cocoonって何がすごいのかよくわからないんだけど、
WO厨なみに製品マンセ-して説明(洗脳?)してくれる人キボンヌ


526 :nobodyさん:02/11/08 23:22 ID:bvtho0Sy
そもそもロジックを書くための言語で
すべてを網羅しようとするからまずいわけで。

ブラウザベースで完璧なMVCを
実現するために、ロジック、コントロール部分は
Java or .NET。ビューにFlashMXはいかが?

Java,.NET以外とFlashMXを連携させるには
HTTPメソッド渡しorXMLソケット通信になっちゃうけど、
とりあえず最低限XMLパースができる言語なら
何にでも繋げる。

問題はパッケージが高いのと、
コーディングができて、かおかつFlash使いな
人が圧倒的にが少ないこと。

なによりいまだに単なるアニメーションツールと
思ってるひとがあまりに多いこと(`д´)






726 :185:2006/03/19(日) 22:40:59 ID:???
私が以前試したやり方はこうです。
1. HTMLに<{title}>のような記述をする。
2. プログラム側で<{title}>を置き換えるためのコードを書く。
3. プログラムにHTMLを読み込んで,<{title}>の部分を置き換える。
4. 出力する。

結局、HTMLは見やすくなりましたが、プログラムの方はわかりにく
くなりました。(ただし、1の言うようなprintの嵐は回避できました)


http://hibari.2ch.net/test/read.cgi/php/990953955/l50人気ブログランキングへ

ネット関係PHPでOOP

1 :1 ◆SWtzLesEmM :2007/02/23(金) 13:35:52 ID:???
PHPを使ってプログラミングするとき、
プロシージャ指向(手続き型、構造化プログラミング)でもできますが、
オブジェクト指向を使った場合の恩恵を享受するために、
PHPでオブジェクト指向プログラミングの勉強をしてみましょう。

<目的>
PHP5でオブジェクト指向プログラミングを行なうための知識を習得する。
(PHP4のOOPもOK、このスレが1000に行く前にPHP6が出たらPHP6のOOPもOK)

<方向性>
・このスレは、プログラミング初心者、PHP初心者の勉強の場として利用することを前提にします。
・PHPのOOPの話題に限定します。
(Ruby、Python、Javaなど他言語のOOPについては、その言語のスレッドでお願いします。)
・PHPのOOP学習に役立つ本、WEBサイトの紹介をお願いします。

<その他>
・略記は、「OO」=「オブジェクト指向」、「OOP」=「オブジェクト指向プログラミング」でお願いします。
・質問をする人はなるべくトリップを付けましょう。
・荒らし、煽り、叩き、気違いは無視・無干渉でお願いします。

このスレで、今日から貴方もOOP!!!\(^o^)/

2 :nobodyさん:2007/02/23(金) 13:38:15 ID:???
初心者にもわかるようにメリットぐらいかいてよ・・。

157 :nobodyさん: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>
-------------------------------------------------------------

158 :1 ◆SWtzLesEmM :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リリース

184 :nobodyさん:2008/01/31(木) 17:31:43 ID:???
MVCモデルにそって、ユーザの入力データと、CSVファイルのデータを
読み込んで表示させるというものを作ってみました。

ファイル:全部で5つ。index.phpを実行する。
cfcontrol.php
cfview.php
index.php
cfmodel.php
csv.txt

[csv]
aaa,bbb,ccc

[index.php]
<?php
include("./cfcontrol.php");
$form_str = $_POST["form"];
$in_str = $_POST["key"];
$form = new CFControl($form_str, $in_str);
?>

226 :nobodyさん:2008/02/02(土) 17:36:37 ID:???
>>184
ファイル:全部で8つ。index.phpを実行する。
抽象クラスと具象クラスに実装を分けてみました。
csv.txt(※前回と同じ)
index.php
cfcontrol.php

アブストラクトとして実装
cfview.php
cfmodel.php

コンクリートとして実装
data_model.php
index_view.php
output_view.php

228 :nobodyさん:2008/02/02(土) 17:39:03 ID:???
[cfmodel.php]
<?php
class CFModel
{
var $file_name; // 読み込むファイル名
function CFModel() {}// コンストラクタ
function Execute($param) // パブリックメソッド
{
return $this->_OnExecute($param);
}
function _OnExecute($param) // 仮想メソッド
{
trigger_error('オーバーライドしてね。', E_USER_ERROR);
}
}
?>
[cfview.php]
<?php
class CFView
{
var $file_name; // POSTするファイル名
function CFView() {} // コンストラクタ
function Execute($param) // パブリックメソッド
{
return $this->_OnExecute($param);
}
function _OnExecute($param) // 仮想メソッド
{
trigger_error('オーバーライドしてね。', E_USER_ERROR);
}
}
?>

243 :◆lKs5QMUHoA :2008/02/03(日) 19:47:22 ID:???
ソースコードをちょっとだけ改変したものを作ってみた。
メモとかを残していく都合もあると思ったから、HP解説してみた。
ttp://www.geocities.jp/narutobakijp2/
本当は、>>1さんがソースの管理とかもしてくれたりしたら、うれしいw

252 :nobodyさん:2008/02/05(火) 11:56:50 ID:???
いくらかのデータを登録し、その内容を検索するWebシステムで使用する
クラス構成で、Viewに絞った構成を考えてみた。

[View]
├[認証]
├[個人情報入力]
├[メニュー]
├[検索指定]
├[検索結果]

別の案として、[View]から[Input View]と[Output View]の
二つを継承し、さらに以下のような継承も浮かんだけれど、
継承して分ける必要性は無さそうなので、上記の方が良いように思う。

[Input View]
├[認証]
├[個人情報入力]

[Output View]
├[メニュー]
├[検索指定]
├[検索結果]

255 :nobodyさん:2008/02/05(火) 13:44:31 ID:???
Modelクラスも以下のメソッドを追加するという感じで設計すると良いのかな。

Select // データ取り出し
Delete // 削除
Insert // 新規追加
Update // 既存データの更新

>>228に載ってる既存のクラスには Execute があるけれど、
これも残しておくべきかな?

285 :nobodyさん:2008/02/08(金) 11:03:39 ID:???
OOP FW ソース
ttp://proxy.f3.ymdb.yahoofs.jp/bc/4525b767_dfac/bc/452a/OOP_FW_02.zip?BCE07qHBz_6Z6R84
OOP FW ドキュメント
ttp://proxy.f3.ymdb.yahoofs.jp/bc/4525b767_dfac/bc/452a/OOP_FW_DOC_02.zip?BCE07qHB2C3Z36pC

すいません再アップしました、ドキュメントにControlが反映されてませんでした。

298 :◆lKs5QMUHoA :2008/02/08(金) 18:46:07 ID:???
>>285のファイルが落とせない・・・

324 :◆lKs5QMUHoA :2008/02/11(月) 02:35:18 ID:???
MVCフレームワークを作っていただいてる流れとはおもいっきり違う事をいうけれど。

>>1さんのOOPで掲示板を作るところは、もう少しクラスを分けたほうが
いいと思ったので、自分なりに作ってみました。

index.phpに、いろいろと処理を詰め込んでいるような感があったので、
それを分ける考え方です。
しかし、DBはテキストベースにしているとか、書き込み欄と表示欄を
同じページにしているなど、基本構成から大幅に変えています。(^^;

http://www.geocities.jp/narutobakijp2/
OOPの勉強として、簡易なBBSを作ってみました。
BBS Version1(2008.2.11)

335 :◆lKs5QMUHoA :2008/02/11(月) 18:16:42 ID:???
BBSの構造化バージョンをうpしました。

ttp://www.geocities.jp/narutobakijp2/index.html
OOPの勉強として、簡易なBBSを作ってみました。
BBS Version2(2008.2.11)入力したデータで改行に対応してなかったので、その部分を修正。
BBS Version2の構造化Ver(2008.2.11)上記プログラムの構造化バージョンです。

383 :nobodyさん:2008/02/13(水) 23:26:03 ID:yj0olWG5
思い切って質問してみる。

テーブルAの操作をするクラスA、テーブルBの操作をするクラスBを作った。
両方のクラスで個別に接続するより、1番最初に接続して、その接続IDを使って処理させたほうがいいのかな?

384 :◆lKs5QMUHoA :2008/02/13(水) 23:56:35 ID:???
>>383
取得するテーブルの数ごとに別々に接続はしない方がいいよ。
DBの処理負荷が大きくなるから。

私だったら、テーブルごとにクラスを分けたりはしないかな。
テーブルの構成そのものを隠蔽するために。
検索と更新は同じフォーム上では行わない前提にして、こんな感じにするかな。

// 接続に関するクラス
// PostgreSQLに接続する為のメンバとメソッドを持つ。
class CDB_PostgreSQL

// MySQLに接続するためのメンバとメソッドを持つ。
class CDB_MySQL

// 個人情報の検索をするクラス。
// 以下の検索メソッドを持つ
// ・電話番号を指定し、候補の個人情報一覧を得る。
// ・苗字を指定し、候補の個人情報一覧を得る。
// このクラスのメンバに上記2つのどちらかのDBクラスを持たせる。
class CSearch_Personal

// 個人情報の更新をするクラス。
// 以下の更新メソッドを持つ
// ・主キーを指定し、個人情報を更新する。
// ・新しい主キーを設定し、個人情報を新規追加する。
// このクラスのメンバに上記2つのどちらかのDBクラスを持たせる。
class CUpdate_Personal

385 :383:2008/02/14(木) 00:16:52 ID:nkc61sHT
コードまで丁寧にありがとう。

クラス設計は、慣れがないと難しいね……。

> このクラスのメンバに上記2つのどちらかのDBクラスを持たせる。
申し訳ないんだけど、「メンバにクラスを持たせる」の意味が理解できない。
少し補足してもらえるとありがたいんだけど、ダメかな?

389 :◆lKs5QMUHoA :2008/02/14(木) 08:04:05 ID:???
>>385
設計の仕方は、その人が作ろうとするアプリ次第なので、その人が
やりやすいスタイルでやっていいと思うよ。
OOPの設計理論は、あくまで一般論なので、必要性を感じないのであれば、
必ずしも守らなくていいだろう。
私は、DBをPostgreSQLからMySQLへ変換する必要性も生じることを
想定した設計をしただけだよ。
こうやっておけば、書き換えるコードも少なくて済む。

class CSearch_Personal{
// DBを格納する
var $m_db;

// コンストラクタ
function CSearch_Personal(){
$db_info = ""; // ここでDB接続に必要な情報を入れる。
$this->m_db = new CDB_PostgreSQL($db_info);
}

// 電話番号で検索
function Search_by_TEL($tel){
$sql_str = "SELECT * FROM TableA WHERE TEL = '" . $tel . "'";
$this->m_db->Execute($sql_str);
// ここで、データをうけとり、返す。
}
}

390 :◆lKs5QMUHoA :2008/02/14(木) 08:07:28 ID:???
どうしてもテーブル単位でクラスを作る場合は、こんな感じになるのかな。

// PostgreSQLへ接続処理などを管理する基底クラス(抽象)
class CDB_PostgreSQL_Connection

// TableAの操作を管理するクラス。
class CDB_TableA extend CDB_PostgreSQL_Connection

// TableBの操作を管理するクラス。
class CDB_TableB extend CDB_PostgreSQL_Connection

407 :nobodyさん:2008/02/14(木) 15:36:31 ID:???
>>384>>389>>390 も気持ち悪すぎだ
普通に考えるとこういう感じだろう?

// 接続に関する抽象クラス。汎用で使える関数があれば定義しても良い。
class CDB_Connection {}

// PostgreSQL接続用クラスの実装
class CDB_PostgreSQL extends CDB_Connection {}

// MySQL接続用クラスの実装
class CDB_MySQL extends CDB_Connection {}

// テーブルに関する抽象クラス。汎用で使える関数があれば定義しても良い。
class CTable {}

// 個人情報クラス。
class CPersonal extends CTable{
 function CSearch($connection) {} //コンストラクタかメソッドでコネクションと接続
 function search() {}
 function update() {}
}

408 :nobodyさん:2008/02/14(木) 15:41:23 ID:???
>>407
概ね同じ意見だけど、Cpersonalを実体化する必要ってあんまりなさそうだから、
自分はメソッドを staticにすることが多い。

あと、connection をオブジェクト内部にもってしまうと、そのオブジェクトはいつでも
SQLを実行できてしまうので、引数で渡すようにしてる。
(まぁ、staticにしたら引数で渡すしかないけど)

412 :nobodyさん:2008/02/14(木) 15:51:40 ID:???
>>408-409

まあ、そこは設計しだいでいくつかやり方があるけど、
ActiveRecordパターンの場合、インスタンスはテーブルを作るという意味ではなく、
クラスがテーブル全体で、そのインスタンスはテーブルのレコードという扱いになる。
そしてフィールドがプロパティ。



415 :412:2008/02/14(木) 16:03:01 ID:???
>>408
> あと、connection をオブジェクト内部にもってしまうと、そのオブジェクトはいつでも
> SQLを実行できてしまうので、引数で渡すようにしてる。
なんで「そのオブジェクトはいつでも SQLを実行できてしまう」のが悪いのかわからないけど、

> (まぁ、staticにしたら引数で渡すしかないけど)
これが理由なら、そのクラスをシングルトンパターンで
実装するという方法もある。

CPersonal::search() などという書き方で呼べるぞ。

ただし、PHP4に対応した書き方だとすごく気持ち悪いんだが(笑)
CakePHPでgetInstance()というメソッドをキーワードにして探せば
実装例が見つかると思う。

getInstance()関数内のstatic変数に配列[0]にで確保(なぜ?)した後
各メソッドの初めで$_this = getInstance() して$_thisで参照するという・・・
まあ見たほうが早い(?)

438 :438:2008/02/16(土) 17:21:28 ID:???
スクリプト先頭で、DBConnectをnewして、PDO格納オブジェクトを受け取ってから、
それを引数にCtrlAをnewする感じ……。
一応動きはするけど……全然ダメだな……。

447 :1 ◆SWtzLesEmM :2008/02/17(日) 23:11:41 ID:???
>>324
>>335
掲示板スクリプトの改善、どうもありがとうございます。(*^^*)v

↓動作サンプルを設置しました。

http://ssurl.net/n777
http://ssurl.net/ioah

469 :nobodyさん:2008/02/23(土) 09:12:10 ID:???
>>447

class View_Baseは
helper的な役割だからいいとしても

View_List
View_WriteFinish

コントローラで判断させるべき機能が
Viewで書かれてるし
テンプレート化されてないのもあって
ぐちゃぐちゃですね。
ここがOOP構造を理解しにくい作りになってる

コントローラは面倒でもOOP理解するには必要だ
理解しやすくするためにテンプレート化も必要

480 :nobodyさん:2008/02/23(土) 20:21:31 ID:???
PHPでOOPを追求すると
結局はMVCモデルのフレームワークにテーマが行き着くんだよね
だったらPHPフレームワークのスレと同じじゃんて感じで
ここでOOPを議論するときは
MVCモデル以外を議論の対象にしたいよ

484 :nobodyさん:2008/02/23(土) 20:35:35 ID:???
>>480
> PHPでOOPを追求すると
> 結局はMVCモデルのフレームワークにテーマが行き着くんだよね

それはPHPに限らず。

そもそもOOPが一番よく使われるのは、フレームワーク部分なんだよ。
OOPはフレームワークを作るときに使うものといっても過言じゃない。

通常のビジネスロジック部分は基本的に単純な命令の集まりになるので
OOPを使っているという感じは無くなる。

630 :nobodyさん:2008/12/20(土) 15:34:43 ID:???
変な質問だけど、OOP での Validator ってのがよくわかんねえ。
is_numeric(); とかをModel内にべた書きしないで、Validatorオブジェクトを通じて、変数の内容を確認すればいいの?

$str = 'string';
$valid =& new Validator();
$valid->isStr($string);

みたいな感じで。
BaseValidator みたいな基本的なチェックをするクラスを作って、継承した先で複雑なチェック用のメソッドを実装させればいいのかな。

633 :nobodyさん:2008/12/20(土) 16:42:14 ID:???
>630
ttp://gist.github.com/38261

俺はValidatorクラスはコントローラ単位で実装してる。「入力値の検証」なのだから、コントローラの責任。
Validatorだけ独立させるのはコードの見通しを良くするためであり、責任はあくまでコントローラにある。
ただ、実際にそっからコールするのはModelのメソッド。何が許可されるかを知ってるのはだいたいModelだからな。
たとえば受け付ける値が日付なら、そっから日付クラスのvalidateメソッドを呼び出す(MyDate::validate($string))。

POSTされる中に列挙型(<select>から送られるような、選択肢が限られているもの)とかがあった場合にこの構成は滅茶苦茶強い。
<select>のためのデータ生成とか、送られたvalueから画面表示用の文字列(「??モード」とか)への変換を一箇所に集められる。
あと、文字列が決まったフォーマットになっているか調べる場合とかな。

is_strとかctype_stringとかstrlenだけで検証が終わるものはvalidatorクラス内に直書きする。
validateNumericとかvalidateStrとか書くよりその方が分かりやすい。

635 :nobodyさん:2008/12/20(土) 17:13:17 ID:???
>>633

>「入力値の検証」なのだから、コントローラの責任。

「検証する」んじゃなく「検証させる」のが仕事じゃないの?
ここでいう入力値の検証って例えばどんなこと言ってる?

3行目で
>何が許可されるかを知ってるのはだいたいModelだからな。

って書いてるってことは、なにか、Modelに関係ないものを想定してると思うんだけど。


636 :nobodyさん:2008/12/20(土) 18:07:36 ID:???
>635
大雑把に言うと、処理を始める前に可能なパラメータの検証全般。
純粋に入力値だけを見て判定できるものだな。システムや環境の状態を見なくとも判定できるエラーを出す役割。

処理を始めないと分からないもの(DBに指定されたエントリーがあるかとか)は、バリデーションでは扱わない。
DBにこの値があった場合はクッキーにこれが無いといけない…みたいなのも対象外。

日付として「'9999-12-31'」が指定されてもバリデーションでは引っ掛けない。これは有効な入力。
「'2008-13-45'」はバリデーションでエラーとして引っ掛ける。この日付が有効になる事はあり得ないから。
メールアドレスが正しいフォーマットかをチェックするのはバリデーションで、それが有効なメールアドレスかをチェックするのはモデル。
ユーザーIDとして正しいフォーマットならばバリデーションは通るが、当該ユーザーがいない場合モデルがエラーを出す。


http://hibari.2ch.net/test/read.cgi/php/1172205352/l50人気ブログランキングへ

ネット関係PHP+MySQL掲示板作ろうぜ

1 :nobodyさん:03/10/01 00:54 ID:???
長期運用に耐え、勝手よく使える掲示板を生み出す。
クラス・ライブラリにして使いまわせるようにします。
MySQL以外のDBでも使えるようにAPI拡張も視野に入れて

基本APIと実装例
http://org.s38.xrea.com/bbs.php
臨時のログ・データ
http://org.s38.xrea.com/bbs.log
コレをベースに変更・改善を加えて各種機能を実装します。

ローカル・ルール
・みんなが気持ちよく参加できる雰囲気を作りましょう
・他者を不快にさせるような一方的な煽りは止めましょう
・荒らしやスレ違いは放置。放置できない人も荒らし同然。放置の美学
・厳格なバージョニングは必要でないが変更点はマメに報告しましょう。


17 :nobodyさん:03/10/01 11:55 ID:6Q3chCvZ
>1
SQLは?

58 :nobodyさん:03/10/01 18:03 ID:???
仮にコードを書いたとして、その成果は全部本7にかすめ取られるのかな?

62 :1:03/10/01 18:21 ID:yG0+We25
>>58
皆で共有すればいいと思う。
手柄が欲しいわけじゃないから全く利害のない場所でオープンソース
公開すればいいと思う。
ノイズだらけの状況だけなんとかなればいいんだが。

66 :1:03/10/01 18:25 ID:yG0+We25
ちなみにレンタル掲示板用のスクリプトは出来上がってるがこれは商用
に使うので公開しません。
これは設計段階で何百もの複数クライアントを想定してるので小規模には向かない。

67 :nobodyさん:03/10/01 18:25 ID:???
>>62
お前、信用できないんだよ。今までの行いすべてが。
ミラーサイト計画の時も金儲けが目的だろって言われて、否定はしてたが、
結局レン鯖で金儲けやってるがな。コロッコロ変わるからなお前の主張は

69 :1:03/10/01 18:28 ID:yG0+We25
>>67
2chlogは1000GEXプロジェクトとして無償サービスが存在してるが。
メシ食うために働くのがダメかい?
ちなみにここで作ったスクリプトを商用投入はしない。
断じて無いと誓う

71 :nobodyさん:03/10/01 18:29 ID:???
>>66


ここで得た技術を流用しようとしてるのは目に見えてる。


=========   終了  =========   

74 :1:03/10/01 18:31 ID:yG0+We25
>>71
それは無いと言ってるが。技術的に難しい事なんて何も無いだろ。
時間が無いだけで

84 :1:03/10/01 18:39 ID:yG0+We25
今私の方で書いてるのが
Bパート:データ格納(テキストファイルで仮実装 DB連携製作中)

Cパート:入力データ成型(未実装)
Dパート:投稿規制と管理画面(未実装)
が全く手付けずなんで有志各位に協力願いたい。

よろしくおねがいしまそ

92 :nobodyさん:03/10/01 18:49 ID:???
そうかわかった!
arigato3の掲示板を手っ取り早くここで作ろうって魂胆だろ

他人を当てにしないで掲示板ぐらい自分1人でつくれボケ

176 :nobodyさん:03/10/02 13:46 ID:???
開発工程が素人臭すぎ。DBの入出力からプロトタイプ作れ。なんで枝葉から作るんだ?

179 :1:03/10/02 17:06 ID:SD/hM9rJ
>>176
すでに出来上がったライブラリをDBに対応させているんだが。
複数回の問い合わせをうまく組み合わせてデータ検索させるって部分
を今やってる。
ちなみに素人だが

182 :nobodyさん:03/10/02 19:31 ID:???
>>179
しつこいようだがだから逆。
もしかして素人だからDb処理作れない?

187 :1:03/10/02 21:09 ID:SD/hM9rJ
>>182
君は至上のバカみたいだな
先に出来上がったライブラリを改造してるだけだよ

191 :nobodyさん:03/10/02 21:28 ID:???
>>187
DBがエンジンなのがポイントなのではないか?
掲示板部分のロジックなんぞ後回しで十分。
それよりDB処理がキモのプロジェクトだったらそっち先に作るのが当然。
DB処理やったことないから出来ないだけだろ?


192 :1:03/10/02 21:33 ID:SD/hM9rJ
>>191
わざとボケてるのか?
すでに出来上がってるスクリプトのデータ保持をDBにさせてるだけだが。
DB自体は利用するデバイスの一つに過ぎないと思うよ。
一先ず書き込みと閲覧ができないと意味ないから先に自分で書いてるんだが。
他に手が回ってないから興味ある人は手伝ってくださいってだけで。
もちろんSQL実装部分を担ってくれる人がいたら組み入って貰いたいが。

195 :nobodyさん:03/10/02 21:37 ID:???
>>192
>一先ず書き込みと閲覧ができないと意味ないから先に自分で書いてるんだが。
ど素人が。
こんなのは一番どうでもいい簡単なところだろうが。
全体のパフォーマンスに一番影響する部分後回しにしてどうすんだボケ。
あえてデータ処理エンジンをベタテキストじゃなくてDBにするのがポイントのプロジェクトで
UIから作る馬鹿がどこにいる。
センスなさ杉。

218 :nobodyさん:03/10/02 23:28 ID:???
インデックスはどう張った?

221 :nobodyさん:03/10/02 23:30 ID:???
トランザクションの単位はどうした?

223 :1:03/10/02 23:34 ID:SD/hM9rJ
>>218
特に指定してないよ。
データをどういう風に切り出せばいいかがまだ定まっていないから
何度かモデルを試して本仕様で考えると思う。
単純に連続したデータとして取り出すことが多いから必要だとは思うけど
とりあえず動くから後回しで

228 :1:03/10/02 23:39 ID:SD/hM9rJ
>>221
どうするって?

書き込み時は1レス単位を追記。
トップ表示ではスレッド単位で取り出す。すなわちトップで10スレ分の
ヘッドラインを並べる(ブラックボックス化して)ので10回連続で問い合わせる。
この無駄を何とかして1回にまとめたいが2次配列で受け取るしかないよう
なんで既成の構造を一部組み直す必要がある。
それをぼんやりと考えながらメモに設計を書いてる。

261 :nobodyさん:03/10/03 01:06 ID:???
>>223
>>228
だからそれで正しいのかよ?

308 :nobodyさん:03/10/03 03:41 ID:???
Linux

す↓

455 :1:03/10/04 00:45 ID:GUfHUnSs
発言数とか検索が半端じゃなく多い時にこういうのが有効なんだろな。
とりあえず速い

457 :nobodyさん:03/10/04 00:51 ID:???
>>455
つうか、デザインなんとかしろ
崩れまくってるぞ

458 :1:03/10/04 00:57 ID:GUfHUnSs
>>457
こっちはIE6.0で見てるけどちょっとヨレてるだけだよ。
途中で止めたけどXMLで出力してCSSとか組み合わせれたらいいんだが
CSSの知識がない。

460 :nobodyさん:03/10/04 01:03 ID:???
>>458
いや、それがやばいんだって
もっと綺麗にレイアウトしれ

461 :1:03/10/04 01:06 ID:GUfHUnSs
>>460
このスレでは後回しでって意見が多いから後回しにしてるけど。
もしよかったらHTMLで挙げてもらえたらうれしいんだけど。


463 :nobodyさん:03/10/04 01:06 ID:???
XMLとは何か答えられるか?

468 :nobodyさん:03/10/04 01:10 ID:???
>>461
うpしてもいいが・・・
まぁ、ちょっと待ってろ

470 :1:03/10/04 01:12 ID:GUfHUnSs
>>463
拡張可能なマークアップ言語だっけ。印刷系フォーマット派生で。
bbsクラスからはXML形式のデータだけ吐かせてインスタンス側で
デザインできるようにしたい。
そしたらPHPの知識が無くても活用できる

474 :nobodyさん:03/10/04 01:23 ID:???
>>本7
マジレスするけど、
お前うpしてくれる人(>>468さんとか)や、アドバイスしてくれる人に対して、
絶対「お願いします」とか「ありがとうございました」言わないよな。
お前が嫌われてる根本的な理由が、
その自己中心的な性格、そこにあるというのがわからないかな?
鯖にしろ管理する前に、人として礼儀ぐらいちゃんとしたらどうなんだ?


513 :糞7撲滅委員会委員長 ◆uPD9aFm9hI :03/10/04 19:10 ID:???
皆さんそろそろ糞7を相手にするのはやめましょう。

糞7よ。1000GEXのスクのバグをどうにかしろ。話はそれからだ。
だいたいPHPすらまともに書けないお前が何を威張って書き込んでるんだ?
お前のプログラミングレベル=そのあたりのPCオタリア厨レベルなんだよ。
恥を知れ馬鹿野郎
親の顔が見てみたいよ。



514 :1:03/10/04 20:46 ID:GUfHUnSs
>>513
そのあたりの素人プログラマなんだが。
次期バージョンで汚名返上させてもらうよ。
ちっとは使えるスクリプトになるよう尽力する。

520 :1:03/10/04 22:40 ID:GUfHUnSs
否定するつもりは無いけど参加者が楽しめる事が優先だな。
あとは付加機能の実装になってくるけどそろそろソース管理はじめようかな。
一人でやってると一つの視野でしか作れないからクセが出る

522 :nobodyさん:03/10/04 23:30 ID:???
>>520
お前はチーム組んで開発した経験なんか無いだろ、糞ボケが。
そういう事は社会に出てチームで開発をやってから言え
お前みたいな能無しがメンバーにいたら足引っ張られて大変だろうがな(藁

594 :nobodyさん:03/11/30 00:25 ID:xrUXvfNy
若干スレ違いかもしれんが、やばい!
PHP+MySQLで掲示板作ってるんだからしょうがない。

「??対応表」みたいに文字化け危惧文字(「表」など)を
タイトルや本文の最後なんかに持ってくると、
うまく書き込みが追加されないことが判明!

これはきっと、内部で文字コードEUCに変換したときに
最後が「表\」みたいにエスケープされて、MySQLのinsert文が

...,'??対応表\','名前',...

になって、シングルクォーテーションがエスケープになってしまうからだ!
というわけでこのようなときにみなさまはどのように解決していらっしゃるのか教えれ。

624 :nobodyさん:2005/10/21(金) 16:50:12 ID:VNCWlB1v
<?php
$db = mysql_pconnect( "localhost", "root", "●●●●●" );
echo $db;
?>

と書いた.phpファイルをうpして、開いてみてもブラウザ上に

・ソ

とだけ表示される。何が原因?入門質問でゴメソ。

667 :nobodyさん:2006/05/07(日) 18:46:34 ID:???
マルチポストになるけど
PHPとかmySQLを使える人はいませんか?
ここと同じようなシステムのサイトを作りたいのですが。
ttp://www.dh-park.jp/pc.shtml
店舗展開をする予定なんで
一緒に仕事できる人募集です。
当方デザイナーです。
プログラム担当してくれる人いませんか?
他に仕事持ってても構いません。

669 :nobodyさん:2006/05/08(月) 19:45:13 ID:???
>>667
いいよー。金次第では。

670 :667:2006/05/09(火) 07:41:55 ID:4MHoQDQH
>>669
どのくらいの料金ぐらいなら受けて貰えますか?
専門の会社に頼むとプログラム関係のみで大体60マソぐらい。
携帯対応とかほかもろもろの機能をつけて100マソぐらいといわれました。

698 :初心者:2006/06/23(金) 21:00:52 ID:NabPhFmx
初歩的な質問ですが、where句の条件指定で、
where A like '%支店%'
or A like '%支社%'
or A like '%営業所%'
これってどうやってキレイにすっきり纏められますか?



http://hibari.2ch.net/test/read.cgi/php/1064937268/l50人気ブログランキングへ
学ばないブログ
忍者AdMax
記事検索
最新コメント
QRコード
QRコード
  • ライブドアブログ