【PHP】下らねぇ質問はID出して書き込みやがれ 80
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/02/01(日) 18:10:57ID:PdwQzQch過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0305nobodyさん
2009/02/06(金) 07:06:20ID:???このスレ、そんなに頼りになると思ってんの??ありえん。
# mod_rewriteスレがあるよ
0307nobodyさん
2009/02/06(金) 10:05:50ID:???こんな感じじゃない?
RewriteRule ^([^\/].*)/cgi/sample.html(\?.*)?$ $1/cgi/sample.php$2
0308278
2009/02/06(金) 11:46:08ID:3pSilmD2私としては、”意味のまとまり”をクラスとする、
というつもりです。
先のTestクラスは意味を表していないので例として間違っていました。
申し訳ありません。
例えば、先日私は「郵便物の配達履歴」のプログラムを組みました。
そこでは、
(1)郵便物を登録するクラス
・登録フォームを出力
・ユーザの入力が間違っていないか(番地は数字と-のみとか)チェック
・過去の履歴を検索してユーザの入力を助ける
・郵便番号からDB中の住所を検索する
etc
(2)過去に登録した郵便物を検索するクラス
・フォームを出力する
・ユーザが入力した情報から過去の郵便物を検索する
・検索したものを編集/削除する
etc
(3)ログイン時の認証をするクラス
を用意しました。
0309278
2009/02/06(金) 11:46:44ID:3pSilmD2意味のまとまりをクラス化し、
そのクラスに関係する情報はそのクラスで全て管理する、
という気持ちでやっていたので、
>>278のような感じになりました。
(確かに、>>283さんのいうようにボタン名はconstにしたり、
if( isPosted() && isSubmitted() ) を用いるべきでした。)
私はJava、C++メインなためどうしてもクラスありき、
(といってもJavaもC++も大した力はありませんが・・・)
で考えてしまうのですが、
PHPは必ずしもそうではない、ということでしょうか?
0310nobodyさん
2009/02/06(金) 11:52:24ID:???PHPはスクリプト言語、スクリプトからクラスを使う。
しかし、実質的にクラスベースっ"ぽい"開発もできる。
あとは好みの問題。
0311nobodyさん
2009/02/06(金) 11:52:37ID:???0312nobodyさん
2009/02/06(金) 13:29:37ID:???0313nobodyさん
2009/02/06(金) 13:30:14ID:???0314nobodyさん
2009/02/06(金) 13:53:32ID:???0315nobodyさん
2009/02/06(金) 14:03:37ID:???0316nobodyさん
2009/02/06(金) 14:06:07ID:???VとCがくっついたりVとMがくっついたり・・・
0317nobodyさん
2009/02/06(金) 14:06:11ID:???0318nobodyさん
2009/02/06(金) 14:09:43ID:???0319nobodyさん
2009/02/06(金) 14:37:49ID:???基本的にどの言語だろうとクラスの本質は変わらないはず。
オブジェクト指向で書けるようになると戻りたくないというのも解る。
…が、その設計は果たしてどうだろう?
クラスはその名の通り型(intやstring、ひいては構造体等の)であって、
(そのような側面もあるが)名前空間が本領ではない。
クラスの本質は「データとメソッドを結びつける」ことによって、
自身の振る舞いを知っている型として纏まって独立し、
型・コードの再利用は勿論、カプセル化やポリモーフィズムなど様々な恩恵を生み出す…。
そこで話を戻すとその内容はクラス、というよりも
デザインパターンの話になってしまうのではないか。
まずはパータンの前に郵便物情報のクラスを作ってから、
それをActiveRecord/MVCのModelとかにして、
そいつに郵便物情報の処理を適切にスタティック/インスタンスメソッドなり追加して
その外側からViewやControllerで操作する…というのが私見。
# Javaや.NETのクラスライブラリの中から処理形態として類似したものを真似てみるのもいいかと。
0320nobodyさん
2009/02/06(金) 14:45:05ID:???そんなクラスの一般論なら、クラスでググればいいだけだろ。
うざいからほどほどにしてくれ。
「デザパタの前に実装してPHPのくせを先に学ぶのを先にした方がいい」
って私見ぐらいは語ってもいいけど、デザインパターンが通じない開発者の方が少数派だろ。
0321nobodyさん
2009/02/06(金) 14:46:21ID:iuyfFTeYcakePHP
シンフォニー
zendフレームワーク
0322nobodyさん
2009/02/06(金) 14:47:30ID:???0324nobodyさん
2009/02/06(金) 14:51:16ID:???yii Framework
0326nobodyさん
2009/02/06(金) 14:53:22ID:???2日で諦めた
俺低脳だし
0327nobodyさん
2009/02/06(金) 14:54:40ID:???0329327
2009/02/06(金) 14:59:27ID:???0330nobodyさん
2009/02/06(金) 15:00:31ID:???きもっ〜>_<
0331nobodyさん
2009/02/06(金) 15:01:30ID:???0332nobodyさん
2009/02/06(金) 15:02:39ID:???0333nobodyさん
2009/02/06(金) 15:15:36ID:???0334nobodyさん
2009/02/06(金) 15:18:21ID:???0335nobodyさん
2009/02/06(金) 15:36:20ID:???0336nobodyさん
2009/02/06(金) 18:02:25ID:Iyeu5pU30337nobodyさん
2009/02/06(金) 18:17:50ID:???0338nobodyさん
2009/02/06(金) 18:31:35ID:???>にあたってしまったが、他への心象を気にして強く出れなかったお方
ロクな回答者に絡まれると大変ね
0339nobodyさん
2009/02/06(金) 21:36:43ID:???0340nobodyさん
2009/02/06(金) 21:41:21ID:???腐った回答でも、それ全部食っていいのをチョイスできる勇者だけが生き残る
0341nobodyさん
2009/02/06(金) 21:44:01ID:???0342nobodyさん
2009/02/06(金) 21:59:23ID:???0343nobodyさん
2009/02/06(金) 22:31:27ID:???0344nobodyさん
2009/02/06(金) 23:05:54ID:???0345nobodyさん
2009/02/06(金) 23:06:38ID:???0346nobodyさん
2009/02/06(金) 23:13:40ID:???典型的に態度に出るからフイタわ
0347nobodyさん
2009/02/06(金) 23:14:08ID:???0348nobodyさん
2009/02/06(金) 23:14:18ID:???0349nobodyさん
2009/02/06(金) 23:14:20ID:???ものすごい反応するよね。
0350nobodyさん
2009/02/06(金) 23:14:41ID:???0351nobodyさん
2009/02/06(金) 23:15:06ID:???このての分野ってキモイ人間多いよな
345 :nobodyさん:2009/02/06(金) 23:06:38 ID:???
お前が一番だから心配すんな
346 :nobodyさん:2009/02/06(金) 23:13:40 ID:???
キモイ人間てすぐ反応するよね
典型的に態度に出るからフイタわ
347 :nobodyさん:2009/02/06(金) 23:14:08 ID:???
お前が一番そうだから心配すんな
348 :nobodyさん:2009/02/06(金) 23:14:18 ID:???
キモイ人間にとって、このスレは快適なのさ
349 :nobodyさん:2009/02/06(金) 23:14:20 ID:???
キモヲタに「キモイ」って言うと
ものすごい反応するよね。
350 :nobodyさん:2009/02/06(金) 23:14:41 ID:???
お前が一番そうだから心配すんな
0352nobodyさん
2009/02/06(金) 23:16:00ID:???0354nobodyさん
2009/02/06(金) 23:17:36ID:???0355nobodyさん
2009/02/06(金) 23:17:41ID:???0359nobodyさん
2009/02/06(金) 23:21:43ID:???0360nobodyさん
2009/02/07(土) 01:04:26ID:???0361266
2009/02/07(土) 01:21:58ID:nwjNO9JF行き詰まり気味なのでお願いします。
00.htmlの内容
<html><head>
<script language="JavaScript" type="text/javascript">
<!--
function send (url){
document.form_orz.action=url;
document.form_orz.submit();}
//--></script></head>
<body>
<form name="form_orz" action="./01.php" method="GET"><td>
<input type="text" name="xxx">
<input type="submit" value="送信x">
<input type="text" name="yyy">
<input type="button" value="送信y" onClick="send('./02.php')"></td>
</form></body></html>
01.phpの内容
<?php
$xxx=$_REQUEST["xxx"];
echo "値は$xxx です";
?>
02.phpの内容
<?php
$yyy=$_REQUEST["yyy"];
echo "値は$yyy です";
?>
0362266
2009/02/07(土) 01:22:41ID:nwjNO9JF同じform内では複数のsubmitを使うのはちょっとコツが要るっぽいので
ぐぐってあちこちを調べた結果、javascriptを使ってこのように書きました。
結果としては普通に動きますけど"送信y"をクリックした時に別窓で結果の値を
表示させたいのです。そこでjavascriptのwindow.openなるものを知りまして
00.htmlの<script>〜に次のように書きました。(>>361で書いたものは//で消して追記しました)
window.open(url);
document.form_orz.target = "yyy";
document.form_orz.method = "post";
document.form_orz.action = "url";
document.form_orz.submit();
これだと確かに新しく別窓が開くのですが「値は です」という表示でうまく受け渡しが
出来ていない様子です・・・。このように別窓で結果の値を表示させるようにするには
どのようにすれば良いでしょう?多分、window.open周りだと思うので本来ならばこのスレ
ではなくてjavaのくだ質スレが見つからなかったのでこちらに書かせて頂きました。
0363nobodyさん
2009/02/07(土) 01:35:26ID:???targetの"yyy"とウインドウの識別名を一致させないとダメ
0364nobodyさん
2009/02/07(土) 01:40:39ID:???http://www.youtube.com/watch?v=FSqajRdtTMA
0365nobodyさん
2009/02/07(土) 01:42:25ID:???0366nobodyさん
2009/02/07(土) 11:32:12ID:???0367nobodyさん
2009/02/07(土) 11:55:18ID:???0368nobodyさん
2009/02/07(土) 22:21:56ID:???さあ大変だ
0369nobodyさん
2009/02/07(土) 22:35:07ID:???かりました。彼らは「なぜ」という問いを持つことを面倒がり、
早く答えの出せる技術だけにこだわり続ける子供達だったか
らです。決まった解き方に当てはめて、早く答えを出すこと。
「じゃあ、なんでこれで答えが出るんだい?。君はどういう考え
方をしてこの式を立てたの」と、正解の並んだ算数の文章題
のプリントを前に聞き返すと、彼らはみんなとても嫌な顔をし
たり、あるいは質問の意味が分からないと言うようにきょとん
としたものです。
0370nobodyさん
2009/02/08(日) 00:48:59ID:???0371nobodyさん
2009/02/08(日) 01:17:06ID:DxNfF4Maと言うように変数の中に文字列で変数が入っているとします。
$textの箇所に文字を入れて太字にしたいので
$text = "あああ";
echo $html;
としたのですが、反映されません。
どのようにして変数内の変数に値を渡すことが出来るのでしょうか?
0372nobodyさん
2009/02/08(日) 01:20:16ID:???0373nobodyさん
2009/02/08(日) 01:22:02ID:???@$htmlの宣言の時点で$textの中身が空っぽだから
A$html宣言のときに「"」じゃなく「'」で囲ってるから
0374371
2009/02/08(日) 01:24:19ID:DxNfF4Ma'にしないと文字列として変数が扱われないのではないですか?
Smartyの簡易版のようなことがしたくて、
タグやファイルを変数で読み込んで、その中の{$test}と言う箇所に
予め指定していた値を渡したいのです。
str_replaceなどで置換すれば出来ますが、ちょっとやり方が違うような気がして・・・
0376nobodyさん
2009/02/08(日) 01:30:03ID:???無理。プログラムは上から順に実行されるから、
$html = "<strong>{$text}</strong>}";
と書いたら、その時点での$textの中身が反映されて$htmlに入る。
(シングルクォートはダメでダブルクォートが正解な。これはマニュアル読んで来い)
つまり、
$text = 'うんこ';
$html = "<strong>{$text}</strong>";
$text = 'ぬるぽ';
echo $html;
だと、<strong>ぬるぽ</strong>が出力されてガッされる。
0377371
2009/02/08(日) 01:30:08ID:DxNfF4Maが、中身は消えます
0378376
2009/02/08(日) 01:31:08ID:???うんこが出力されてガッされない、が正解。
0380nobodyさん
2009/02/08(日) 02:43:12ID:???eval() や include() を使って評価する
function replace($template, array $params = array()) {
extract($params);
return eval('return "' . preg_replace('/"/', '\\\\"', $template) . '";');
}
echo replace('私は{$name}です。', array('name' => '371'));
0381nobodyさん
2009/02/08(日) 11:20:52ID:DarObAIw$test = hello();の時点で出力されてしまいます
hello関数を$testに格納して、自分が呼び出したいところで使うにはどうしたらよろしいでしょうか?
function hello() {
return "<p>こんにちは</p>";
}
$test = hello();
#このあたりに別の処理をおいてます
echo $test;
0384nobodyさん
2009/02/08(日) 12:43:55ID:WhrhZbLr"時間:分数:秒数"
のフォーマットにしたいのですが、そういう関数があれば教えて下さい
0385nobodyさん
2009/02/08(日) 12:50:59ID:???どういうこと?381のreturnをechoにすると$test=hello();が実行されるの?
echo $testしないと出力されるわけないじゃん
0387nobodyさん
2009/02/08(日) 12:56:50ID:???>>381のソースならhello()の段階で出力されたりしない。
出力されてるとしたらfunction hello のコードか、
もしくは別の場所が間違ってるという風にエスパーした
0389nobodyさん
2009/02/08(日) 15:26:32ID:???#ここまではなにも表示されない
$hensu=hello(); #ここで表示される
echo $hensu; #ここも表示される
あれ?なんで?
変数に関数を格納しただけで関数って実行されたっけ?
0391nobodyさん
2009/02/08(日) 15:46:17ID:mhFiPpin別の言語を知っているのをひけらかすために下らない質問をするっていうのも
このスレの趣旨にはあってるのかもな。
まさに、下らない
0392nobodyさん
2009/02/08(日) 16:14:38ID:???0393nobodyさん
2009/02/08(日) 16:23:49ID:???0394nobodyさん
2009/02/08(日) 16:24:30ID:???0395nobodyさん
2009/02/08(日) 16:26:32ID:???関数を変数に格納するだけで動作するとか変な仕様だな
0396nobodyさん
2009/02/08(日) 16:30:31ID:???自分なりに考えてみたのですが、回りくどいような気がするので
$i=1;
foreach($icarr as $key => $val)
{
$hai[$i]=$key;
$i++;
}
echo $hai[$i-1];
0397nobodyさん
2009/02/08(日) 16:32:14ID:???hello();
だけで表示されるくね
0398nobodyさん
2009/02/08(日) 16:33:12ID:???$x = hello();
PHPではこれは実行なんだよ。
$x = function hello() {}
なら、格納だが。
0399nobodyさん
2009/02/08(日) 16:42:39ID:???0400nobodyさん
2009/02/08(日) 16:47:42ID:F6PnIVybとりあえず、初期値を$a = 0,$b=0,・・・$z=0 にしたいんですけど
できる限りすっきり書く方法ってありますか?
あれば掲示おねがいします
0401nobodyさん
2009/02/08(日) 16:59:07ID:???0402nobodyさん
2009/02/08(日) 17:03:37ID:???0403nobodyさん
2009/02/08(日) 17:05:00ID:???phpの72%は勢いで出来ています
phpの17%は波動で出来ています
phpの6%は言葉で出来ています
phpの3%は理論で出来ています
phpの2%は成功の鍵で出来ています
0404nobodyさん
2009/02/08(日) 17:05:45ID:???[c] 攻撃:36 素早さ:29 防御:59 命中:13 運:95 HP:223
php vs c 戦闘開始!!
[c]の攻撃 MISS [php]は攻撃を回避した。
[php]の攻撃 HIT [c]は120のダメージを受けた。
[c]の攻撃 HIT [php]は1のダメージを受けた。
[php]の攻撃 HIT [c]は92のダメージを受けた。
[c]の攻撃 MISS [php]は攻撃を回避した。
[php]の攻撃 HIT [c]は128のダメージを受けた。
[php]が[c]を倒しました(ラウンド数:3)。
■ このスレッドは過去ログ倉庫に格納されています