トップページphp
1001コメント317KB

【PHP】下らねぇ質問はID出して書き込みやがれ 97

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/07/23(金) 06:24:51ID:3G71fl8i
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。


【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0572nobodyさん2010/09/06(月) 17:32:19ID:???
>>568
正規表現の後方参照

>>571
$res = ($test[0] == '0' || $test[0] == '1' || $test[0] == '2' ) ? $test : 'abc'.$test;
0573nobodyさん2010/09/06(月) 17:51:38ID:AkaNDM+f
Zend FrameworkのMVCモデルを使ってます。
エラーになった場合、ほとんどのケースで
'Invalid controller specified (error)'
のエラーメッセージしかでなくてどのが悪いのか
みつけるのにすごく時間がかかるのですが、
これが普通なのでしょうか?
0574nobodyさん2010/09/06(月) 20:39:01ID:???
>>571
$res = substr($test, 0, 3) === '012' ? $test : 'abc'.$test;
0575nobodyさん2010/09/06(月) 21:48:54ID:???
$res = in_array($test[0], array('0', '1', '2')) ? $test : 'abc'.$test;
0576nobodyさん2010/09/06(月) 23:54:22ID:EUjFvh1N
basic でいう if then ってphpでどれに当たるの?
もし、○○であれば こういう処理。違ったらこういう処理みたいなやつ。
0577nobodyさん2010/09/06(月) 23:59:10ID:???
ふつーにif文
0578nobodyさん2010/09/07(火) 04:15:33ID:At2NRpWG
PHPてgoto使える?
0579nobodyさん2010/09/07(火) 04:36:38ID:???
上の方でbasic云々の質問してた人なんだろうけど
gotoなんか使わなくても処理かけるから
使わずに処理する事を考えた方が良い

一応5.3以降ならラベルつけてgotoでそのラベルに飛ばす事はできる
0580nobodyさん2010/09/07(火) 08:00:04ID:???
$0 が 半角文字の数字か英語から始まるのですが
それ以外の文字だと、** を頭につける方法を探していたら
グーグルからこのスレに辿りつきました。
>>572
>>574
>>575
これらの書き込みが応用できると思うのですがどれがオススメでしょうか?
0581nobodyさん2010/09/07(火) 09:55:11ID:???
その条件なら正規表現使おうよ
0582nobodyさん2010/09/07(火) 16:48:14ID:el7JUPL1
おい PDOについてこの認識であってるか教えてくれ
//テーブルは以下で作成
//create table hoge( aaa text,bbb int,ccc text);
$aaa = "あいうえお";
$bbb = 1;
$ccc = "かきくけこ";

//接続
$dbh = new PDO(DSN, DUNAME, DPASS);
//パターン1/////////////////////////////////

$sql = "insert into hoge (aaa ,bbb, ccc) values(:aaa,:bbb,:ccc)";
$stmt->bindParam(":aaa",$aaa);
$stmt->bindParam(":bbb",$bbb);
$stmt->bindParam(":ccc",$ccc);
$stmt->execute();

↑はうまくいくが
////////////////////////////////////////////
↓はだめなのか?


$sql = "insert into hoge (aaa ,bbb, ccc) values(:aaa,1,:ccc)";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(":aaa",$aaa);
$stmt->bindParam(":ccc",$ccc);
////////////////////////////

ほんとうに後者はだめなの?
個人的には糞仕様な気がする・・・・
0583nobodyさん2010/09/07(火) 16:51:20ID:???
>>582
そんなの普通に出来るはずだけどなぁ。エラー晒したほうがいいと思う。
0584nobodyさん2010/09/07(火) 17:01:33ID:???
function muchtest($abccom)
{
$pattern1 = 'ddd';
$pattern2 = 'cccdddeee';
return(abccom);
}
上記にマッチしたら「<B> </B>」で囲います。

aaabbbcccdddeeefffggg
aaabbb<B>ccc<B>ddd</B>eee</B>fffggg
と二重タグになってしまいます。

パターン1でマッチした場所はパターン2でマッチさせないようにしたいのですがどうすればいいのでしょうか?
0585nobodyさん2010/09/07(火) 17:18:09ID:???
なにこれ
0586nobodyさん2010/09/07(火) 17:27:07ID:???
>>584
正規表現でマッチさせてるならグループ化しちゃえば
というかちゃんと結果がそうなるコードを書いてくれ
0587nobodyさん2010/09/07(火) 17:27:14ID:???
>>584
すごく簡単な方法なら
$pattern2 で置換する時
aaabbbcccdddeeefffggg→aaabbb<b>karioki</b>fffggg
とかにして、その後$pattern1を置換する
aaa<b>bbb</b><b>karioki</b>fffggg
最後にkariokiを$pattern2に戻して終了

丁寧にやりたいなら他にもあるけど
0588nobodyさん2010/09/07(火) 17:27:19ID:NQ4wImel
PHPのフレームワークはどれがオススメ?
0589582 2010/09/07(火) 17:27:26ID:el7JUPL1
ざっくり書いたので prepare してなかったり PDO::PARAM_INTぬけてたり
あったので、試してみた。

どっちもうまくいった。

がバイナリのカラムあると多分うまくいかん。
DBはpostgres bytea型のカラム
ちと検証用の簡単な例を作成してみまふ
0590nobodyさん2010/09/07(火) 17:30:57ID:???
>>587
bbb じゃなくて ddd なんですけど。。。?
0591nobodyさん2010/09/07(火) 17:34:00ID:???
>>590
それならなんの問題もないじゃん
cccdddeeeはkariokiにかわったらdddは置換されない
でも、単純にdddがあれば置換される
最後にkariokiをcccdddeeeに戻せばいいだけ
ソースも中途半端だしどうしたいんだ

というか、これくらい理解する能力無いなら質問するな
0592nobodyさん2010/09/07(火) 17:34:12ID:???
釣りだろ
0593nobodyさん2010/09/07(火) 17:37:24ID:???
muchtest
0594582 2010/09/07(火) 17:39:44ID:el7JUPL1
やっぱバイナリあるとうまくいかぬ
psql (PostgreSQL) 8.1.11
テーブルを以下で作成 PHP DB 内部全てutf-8
//create table hoge( aaa text,bbb bytea,ccc text);

$dbh = new PDO(DSN, DUNAME, DPASS);
$dbh->beginTransaction();
$aaa = "あいうえお";
$ccc = "かきくけこ";
$fp = fopen("hoge.jpg","rb");

■パターン1(OK)
$sql = "insert into hoge (aaa ,bbb, ccc) values(:aaa,:bbb,:ccc)";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(":aaa",$aaa);
$stmt->bindParam(":bbb",$fp,PDO::PARAM_LOB);
$stmt->bindParam(":ccc",$ccc);
$stmt->execute();

■パターン2(ダメ)
$sql = "insert into hoge (aaa ,bbb, ccc) values('ああああああ',:bbb,:ccc)";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(":bbb",$fp,PDO::PARAM_LOB);
$stmt->bindParam(":ccc",$ccc);
$stmt->execute();

syntax error at or near ":" at character 50
と文字の置き換えが行われていない模様

どこか間違ってる??バグ
0595582 2010/09/07(火) 17:42:55ID:el7JUPL1
連投すまそ
$sql = "insert into hoge ( bbb, ccc,aaa) values(:bbb,:ccc,'ああああああ')";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(":bbb",$fp,PDO::PARAM_LOB);
$stmt->bindParam(":ccc",$ccc);
$stmt->execute();
と並びを変えるとうまくいく不思議・・・
0596nobodyさん2010/09/07(火) 17:51:08ID:???
日本語が悪さしてるパターンかねぇ。あああああじゃなくて
abcdefとかだとどう?
0597582 2010/09/07(火) 17:57:29ID:el7JUPL1
肝心のPHPのver書いてませんでした。
PHP 5.1.6 でした

わかったような わかってないようなですが・・・

http://at-shima.cocolog-nifty.com/blog/2006/10/phppdopostgresq_d2fc.html

こんな感じでまだまだバギーな代物と判断しました。
DB.phpにしばらくは戻っておいたほうが安全と判断しました。

>>596
マルチバイトじゃない場合はパターン2でも通りますねー
0598nobodyさん2010/09/07(火) 18:03:49ID:???
>>597
てことはマルチバイトがらみのバグかね。

それにしてもさすがに5.1.6は古いよ...
0599582 2010/09/07(火) 18:12:37ID:el7JUPL1
新しい環境入手できたら試してみます。
時代はもう5.3か おっさんには追いつくのが大変だ!
0600nobodyさん2010/09/07(火) 18:13:48ID:???
PHP 5.1.6、PostgreSQL8.1.11 はRedhat EL(CentOS)の標準だから
このバージョン使ってる所はかなり多いんだよね
0601nobodyさん2010/09/08(水) 03:10:08ID:???
RHEL6がでればPHP5.3がついてくるようになるからそれまでガマン。我慢できるもんでもないけど
0602nobodyさん2010/09/08(水) 13:15:03ID:l4oijTXq
テンプレートをクラスとして継承できるみたいなテンプレートライブラリがあったと思うんだけど、
名前なんつったっけ?
0603nobodyさん2010/09/08(水) 13:29:53ID:???
ggrks
ttp://blog.e-riverstyle.com/2009/03/php.html
0604nobodyさん2010/09/08(水) 14:49:31ID:???
PHPTALか
0605nobodyさん2010/09/09(木) 19:13:26ID:sJ+nzVRW
質問させてください。

外部サイトのフィードを自サイトのURLでフィードとして吐き出す簡単な方法はないでしょうか?
外部サイトのフィードをjavascriptでパースして整形しようと思うのですが、使用するJSのライブラリが外部RSSを取り込めないため
phpで同一ドメイン内でRSSを再構築したいからです。

よろしくお願いします^^
0606nobodyさん2010/09/09(木) 19:19:12ID:???
readfile(外部サイトのフィード);
0607nobodyさん2010/09/09(木) 19:30:46ID:sJ+nzVRW
>>606
おおお!その方法だとブラウザで表示した時の見え方が普通のテキストみたいな感じでしか表示されてなかったので
XMLとして利用できないかと思ったら普通にJSで読み込めました^^
ありがとうございましたー つまらない質問してしまってすいませんでしたー><
0608nobodyさん2010/09/09(木) 19:34:42ID:???
XMLとして表示させたいならheaderをきちんと吐いてやればいい
0609nobodyさん2010/09/09(木) 22:58:19ID:odPf6lN7
データベース板でも質問したのですが、いちおうこちらにも書かせてください。

【OS名】CentOS
【連携ソフトウェア】MySQL-server-5.0.87, Tritonn(Senna), PHP

インストの段階で困ってるんだけど、どなたか相談に…。
サーバを一から環境設定していくのは初めての人間です。
Cent OSで、Tritonn(Senna) x MySQL x php を使いたい。

http://doruby.kbmj.com/fuj_on_rails/20100107/tritonn_

を参考にして
MySQL-server-5.0.87までのインストールは完了。
コンソール上でのmysql、senna動作確認は問題なし。

で、phpをyumでインストしていったのだけれど、
yum install php-mysql で失敗する。
エラーメッセージ:mysql conflicts with MySQL-server など

どうやら MySQL-server-5.0.87 と php のバージョンが合っていないみたいで、
データベース板では、「yumではなくPHPを自前でビルドしてインスト」と回答をもらいました。

その方向で、MySQL-server-5.0.87と競合のないPHPのバージョンを探そうと思いますが、
もし、バージョン等に詳しい方がおられましたら、ぜひ情報を下さい。
0610nobodyさん2010/09/10(金) 00:22:27ID:???
別に最新のでも問題ないと思うが
0611nobodyさん2010/09/10(金) 04:57:54ID:???
ubuntu 使えばいいのに
06126092010/09/10(金) 08:01:48ID:R2uucJfR
な、なんとか自己解決しました。
PHP 5.2.14ビルドからインストール。
なぜかyum(5.2.13)じゃ通らないのですよね、不思議でした。
0613nobodyさん2010/09/10(金) 11:31:44ID:???
MySQLもyumでいれればよかったのに
0614nobodyさん2010/09/10(金) 14:14:40ID:6JhVNQbk
あるページにアクセスしてその結果を受け取るスクリプトを組んだんですが、

<?php
$opts = array(
'http' => array(
'method' => "GET",
'header' => "Referer: http://example.com/\r\n"
)
);
$context = stream_context_create($opts);

$uri = 'http://example.com/';
echo file_get_contents($uri, false, $context);
?>

これだと設置したサーバーのIPアドレスを通してhttp://example.com/にアクセスしてしまいます
ユーザー側のIPアドレスを通してhttp://example.com/にアクセスする方法ってないですか?
0615nobodyさん2010/09/10(金) 14:57:32ID:???
そんなことできたら不正し放題、ウイルス送り放題だな
0616nobodyさん2010/09/10(金) 19:40:52ID:???
それやるならサーバサイドじゃなくてクライアントサイドな
0617nobodyさん2010/09/10(金) 20:06:06ID:Pzl7vi+8
変数の中に値が入ってるかどうかのチェックを
if($var)ではなくif(!!$var)でチェックしてるケースを見かけます。
これはどういう違いがあるのでしょうか。
0618nobodyさん2010/09/10(金) 20:24:26ID:???
表の裏の裏は表という事です
まぁ結果はboolでの判断になるわけだが

そんな変数チェックしてる馬鹿なソースは参考にはするなよ
0619nobodyさん2010/09/10(金) 20:47:12ID:???
>>617
2とか入ったら真にならない(多分
0620nobodyさん2010/09/10(金) 21:27:31ID:???
多分w自信無いなら試してから書けよ

$value = 2;
if (!$value) {echo "通ったよ";}

上記の場合2が代入された変数に
!をつけても通らんだろ?
この場合「通ったよ」が表示されるのは
0,"",要素数0の配列,未定義変数の場合等だ

因みに-1でも「通ったよ」は表示されない


で、質問の場合はさらにその反転
上記の否定演算での結果が逆になるだけだから表に戻る
0621nobodyさん2010/09/10(金) 23:51:20ID:fuaKxKw9
超初心者なのでくだらない質問して恐縮なんですが
文字列”aaaa30%aaaaaa”このように文字 数字% 文字というパターンの文字列の中から
数字だけを取得する方法ってどうやればいいんでしょうか?
0622nobodyさん2010/09/11(土) 02:14:40ID:???
preg_match
\d+%
0623nobodyさん2010/09/11(土) 11:18:02ID:???
preg_matchは使っちゃダメ
0624nobodyさん2010/09/11(土) 11:59:57ID:???
PHPって使っちゃダメなもの多いよね
0625nobodyさん2010/09/11(土) 12:05:17ID:???
preg_matchってなんでつかうのだめなの?
0626nobodyさん2010/09/11(土) 15:30:02ID:???
使っていいでしょ
誰がそんな迷信ながしてるの?
0627nobodyさん2010/09/11(土) 17:07:51ID:???
自演乙
0628nobodyさん2010/09/11(土) 18:17:38ID:???
使っていいトコと使ったらダメな所があるでしょ
それを分かった上で使うのなら問題はない
0629nobodyさん2010/09/11(土) 20:55:18ID:GYi1r8TU
WindowsでもLinux(Ubuntu)でも使える便利なPHPエディタって、
NetBeansとAptana以外に何か良いものはないでしょうか。
0630nobodyさん2010/09/11(土) 21:00:27ID:???
良いエディタと言われても人それぞれなので、
どんな機能を欲しているのか、あるいは開発の背景などを言わないとアドバイスできない。

個人的には、vimが大好きだが無難なのはeclipse
有名どころじゃないPHP専用エディタもいくつかあるけどその類はあまりオススメしない。
0631nobodyさん2010/09/11(土) 21:16:32ID:???
秀丸最強
0632nobodyさん2010/09/11(土) 21:37:01ID:???
PDT2ってどうなん?
これってEclipseのプラグインだよね?
0633nobodyさん2010/09/11(土) 22:34:19ID:GYi1r8TU
>>630
すみません。欲しい機能はNetBeansやAptanaと同等の機能です。

まずAptanaのスタンドアロン版を使ってみましたが、
Eclipseのプラグイン版よりは軽いものの
NetBeansのほうがもっと軽いことがわかりました。

でも、Windows XPだと操作するたびに苦しそうにファンが激しく回転します。
(同程度のスペックのマシンでUbuntu上で動かしても問題ないのですが…)

PCへの負荷が少なくてNetBeansに近い便利さのものがあれば教えてください!
0634nobodyさん2010/09/12(日) 16:30:02ID:???
俺はメモ帳で余裕
0635nobodyさん2010/09/12(日) 16:33:21ID:???
すごいね
ぱちぱちぱち
0636nobodyさん2010/09/12(日) 17:41:37ID:???
男は黙ってxyzzy
0637nobodyさん2010/09/12(日) 18:10:23ID:???
PHPエディタ
0638nobodyさん2010/09/12(日) 18:42:26ID:???
vim or eclipse or emeditor
0639nobodyさん2010/09/12(日) 18:51:24ID:hAWvhX9i
【OS名】 CentOS
【PHPのバージョン】 5.3
【連携ソフトウェア】
【質問内容】

A.php の中に記述されたリンク

<a href="B.php">リンク</a>

から B.php を呼び出します。

呼び出された B.php 側で、自分のことを呼び出したA.phpのフルパスをセッションを使わずして取得する
ことは可能でしょうか?
0640nobodyさん2010/09/12(日) 19:04:06ID:???
>>639
やるとすればリファラ使えばできる
0641nobodyさん2010/09/12(日) 19:18:54ID:hAWvhX9i
>>640
> やるとすればリファラ使えばできる

リファラはたしかノートンとか使っていると正常に取得できなかったりしますよね?
0642nobodyさん2010/09/12(日) 19:44:10ID:???
そういう条件をつけていくなら
B.php?ref=Aとかこんな感じでするぐらいしか無いよ
0643nobodyさん2010/09/12(日) 21:22:27ID:hAWvhX9i
ありがとうございました。
素直にセッション使いまつ
0644nobodyさん2010/09/12(日) 21:34:04ID:???
セッションでもクッキーの受け入れ拒否してたら
URLへの埋め込みになるから
セッションID消してアクセスすれば取れないよ
0645nobodyさん2010/09/12(日) 21:44:13ID:???
横槍だけど
start_session()でセッション使って値保持するのと
setcookie()でクッキー使って値保持するのって
どう使い分けるべきなのかな?

セキュリティを考えて常にstart_session使うべき?
0646nobodyさん2010/09/12(日) 22:47:40ID:hAWvhX9i
>>644
え、そうなんですかorz・・・

>>639の A.php というのは日記を記述するページ、 B.php というのは写真とそのEXIF情報を表示するための
ページだったりします。日記の A.php と写真の 0001.jpg は同一フォルダにあります。

<a href="B.php?shashin=0001.jpg">リンク</a>

みたいな感じでどの写真を表示させるかは B.php に渡すことが出来るんですが
肝心の写真のフルパス情報をどうやって渡して良いか悩んでいるわけです。
他の日記はまた別のフォルダに保存していたりするので。

セッションを使えば A.php のフルパス情報を B.phpに渡すこともできますが
セッションの受け入れを拒否している人がいるとこの方法でもダメですよね・・・
0647nobodyさん2010/09/12(日) 22:58:34ID:???
shashinにフルパスつければよくね?
0648nobodyさん2010/09/13(月) 10:23:43ID:qMibvBR2
php5.3でphp_xdebugによるデバッグが上手くいきません

zend_extension_tsとextension
xdebugの各種設定をしているのですがphpinfo()でxdebugがみあたらないのです

5.2だと上手くいくのですが何か見落としてる箇所はありますか?
0649nobodyさん2010/09/13(月) 14:13:02ID:/s7P18Wx
PHPで、カッコの中にデータを表示させようとしても表示されません。
$html = file_get_html('echo $product');
上記のような場合でもカッコの中にデータを表示させる方法はありますでしょうか?
0650nobodyさん2010/09/13(月) 14:22:35ID:???
$productの中に何が入ってるのか知らんが、
$html = file_get_html($product);
こうじゃダメなのか?
0651nobodyさん2010/09/13(月) 14:31:26ID:/s7P18Wx
以下の記述をすると
$html = file_get_html($product);
このようなエラーメッセージが出ます。
Parse error: syntax error, unexpected T_ECHO, expecting ')'


コレだけの記述だと正常にデータを表示します。
echo $product;

zencartを使用
0652nobodyさん2010/09/13(月) 14:38:43ID:???
こうだろ
$html = str_get_html($product);

file_get_htmlは引数をURLに取るんじゃないのか?
PHP Simple HTML DOM Parserの話だよね?
0653nobodyさん2010/09/13(月) 14:59:31ID:/s7P18Wx
ありがとさーん。
0654nobodyさん2010/09/13(月) 19:25:48ID:Lm2I1b13
>>647
> shashinにフルパスつければよくね?

それも一つの解決方法なんですが写真の数が多いため全てのフルパスを付けるのは
面倒なこと、将来サーバーを乗り換えたときにフルパスだとディレクトリ名が変更になった場合
全て修正する必要性がでてくるためできればフルパスは含めない方法を探していたわけです。

余談ですがクッキーの受け入れを拒否している端末でも
PUTやGETでA.phpのフルパスをB.phpに渡すことって出来ないですかね・・・
0655nobodyさん2010/09/13(月) 19:49:04ID:???
>>648
Xdebug Documentation - Install
http://xdebug.org/docs/install
より引用

-----
From PHP 5.3 onwards, you always need to use zend_extension and not zend_extension_ts.
-----
0656nobodyさん2010/09/13(月) 21:43:55ID:???
>>654
http://jp2.php.net/manual/ja/function.output-add-rewrite-var.php
これ使えばいい
0657nobodyさん2010/09/13(月) 22:12:39ID:Lm2I1b13
>>656
> http://jp2.php.net/manual/ja/function.output-add-rewrite-var.php
> これ使えばいい

ありがとうございます。
まだ簡単に調べた段階ですが、

output_add_rewrite_var('var', 'value');

関数は画像リンクに限らずページ内に存在するありとあらゆるリンクの最後に ?<var>=<value> を
付与してしまうとのことです。※リンクだけでなくフォームにも勝手に追加しちゃう?!

自分のサイトに訪問してくれた方が画像リンク以外のリンクをクリックしてもURLの最後に意味不明な
?<var>=<value> が付くことになるわけですが混乱したり不快に思ったりしないでしょうか(^-^;)?

あと余談ですが訪問者のブラウザ設定でcookieの売れ入れの有無にかかわらずこの関数は
有効に機能すると考えて差し支えないでしょうか?
0658nobodyさん2010/09/14(火) 11:56:30ID:v/2zN57l
フルパスを渡すってサイトトップからのパスではなく
サーバのTOPからのパス?

なぜそれを渡さなければならないかがわからない。
サーバのTOPからのサイトトップのパスを共通定義にでもしておいて
それ使ってプログラム書けば、
サーバ移転した時もその一行書き換えればいいんじゃないの?
0659nobodyさん2010/09/14(火) 14:23:01ID:???
クラスについての質問ありませんか?
0660nobodyさん2010/09/14(火) 14:43:54ID:wQYT6X6V
どういう時にクラスを使うべきですか?
自作関数をincludeするのとどこが違うのでしょうか?
0661nobodyさん2010/09/14(火) 14:44:44ID:???
くらすってなんですか?
0662nobodyさん2010/09/14(火) 15:11:22ID:???
>>660
・コードの保守が楽になります
・複数人での分担作業が楽になります
・データとロジックを分けることができます

class Keisan
{
public function tashizan($a, $b){
return $a + $b;
}

$keisan = new Keisan();
echo $keisan->tashizan($a, $b);
0663nobodyさん2010/09/14(火) 15:12:15ID:???
こういう風に書くこともできます

class Keisan
{
public static function tashizan($a, $b){
return $a + $b;
}

echo Keisan::tashizan($a, $b);
0664nobodyさん2010/09/14(火) 15:12:56ID:???
class Keisan
{
public function tashizan($a, $b){
return $a + $b;
}

$keisan = new Keisan();
echo $keisan->tashizan(5, 10);
0665nobodyさん2010/09/14(火) 16:12:27ID:???
単純な例出しても、
「え?なんでそんな面倒なことしなきゃいけないの?」ってなるだけだからなぁ
0666nobodyさん2010/09/14(火) 16:16:48ID:???
クラスの書き方と使い方を覚えても
オブジェクト指向がなんたるかを理解してないと
不思議なコードになるから理解できてないうちは使わんほうがいいよ
0667nobodyさん2010/09/14(火) 17:05:17ID:???
■data.php
$a=1;
$b=4;

■keisan.php
class Keisan
{
public static function tashizan($a, $b){
return $a + $b;
}

■program.php
include "data.php";
include "keisan.php";
echo Keisan::tashizan($a, $b);
0668nobodyさん2010/09/14(火) 17:20:33ID:???
何の意味もない例でした
0669nobodyさん2010/09/14(火) 19:01:21ID:???
class BBSWrite {
}

class BBSRead {
}

class 2ch {
 function write(){};
 function read(){};
}

とかクラス設計がいまいち分からないね
0670EM114-48-11-217.pool.e-mobile.ne.jp2010/09/14(火) 19:04:32ID:vtvQ2dJO
数ヶ月ぶりに規制解除されたことだしここのksユーザー共の偏差値を上げる為に俺も人肌脱いでやるか
0671nobodyさん2010/09/14(火) 19:06:30ID:???
また荒らす気かよ…
■ このスレッドは過去ログ倉庫に格納されています