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

【PHP】ID出さなくても質問OKなスレ【初心者歓迎】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/09/15(月) 18:41:32ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
05545212008/12/21(日) 23:34:39ID:???
よく考えたら、>>518だと>>526はできないのか・・・(´・ω・`)
0555nobodyさん2008/12/22(月) 07:48:41ID:???
>>518はイミフだよな
$resultsは$resultの集合でしょ。$resultがオブジェクトだよな?

設計に問題がなければArrayObjectを使うなり、オブジェクト側で
implements countable してcount()を実装すれば、
利用側はcount($results)でok
0556nobodyさん2008/12/22(月) 09:08:51ID:???
555は?
0557nobodyさん2008/12/22(月) 13:09:41ID:???
はい?
05585212008/12/22(月) 13:29:24ID:???
クラス定義するまでもないけど、hash(Array)っぽいアクセスじゃいやんで、
構造体っぽくみせたいときに
stdClassつかうもんだと思ってたんですが、そういうわけでもない?
0559nobodyさん2008/12/22(月) 13:29:53ID:???
stdClassなんて使う必要あるか?
05605212008/12/22(月) 13:44:12ID:???
ああ、わかた。>>555 は設計によるけどちゃんとクラス化してそのメソッドにしるってことか
countになるかはわからんけど・・・

多分、2回以上カウントする必要がある時は、冗長性はさけて
関数化→クラス化→メソッド化
ってなると思います。

クラスのプロパティが簡単に設定できれば
お気軽にクラス化できるんだけど・・・
0561nobodyさん2008/12/22(月) 13:49:46ID:???
>>558
stdClassの使い方として、それはいいと思うけど、
実際に何がやりたいのかがわからんと、それ以上は云々できんわな。
stdClass使うのに、$resultsを配列にしちゃう理由が思い浮かばん。
05625212008/12/22(月) 13:56:07ID:???
> クラスのプロパティが簡単に設定できれば
stdClassみたいに使うには、
public $hoeg = 1234;
クラス内でみたいにpublicにするだけでいいんですね。勉強不足でした。

>>561
> 実際に何がやりたいのかがわからんと、それ以上は云々できんわな。
ああ、いや、まあ実際そうですね。

最近、CodeIgniterをいじっているんですが ActiveRecordがクエリーを返す時に、
stdClassのArrayで返してくるものですから、
適当な構造の配列を関数から返す時とか、
そういう風につかっていいもんだと思って使ってました。
0563nobodyさん2008/12/22(月) 14:07:03ID:???
なるほどね。
0564nobodyさん2008/12/22(月) 14:11:42ID:???
stdClassの利点って何?
0565nobodyさん2008/12/22(月) 14:29:48ID:???
stdClassでとりあえず動くシステムを書いておけば、
あとから、自前でメソッドを追加したときに、他の部分を変更しなくて済む、とか。
0566nobodyさん2008/12/22(月) 16:44:43ID:???
PDOStatement->fetchObject みたいな使い方があるね。
DBからの戻り値を使いたい状況に合わせてクラス指定して取得するとかで、
拡張性を担保する。特に指定がないときはstdClass
0567nobodyさん2008/12/22(月) 17:50:23ID:???
いやだからそのクラス指定して取得するメリットは?
0568nobodyさん2008/12/22(月) 17:56:59ID:???
> いやだからそのクラス指定して取得するメリットは?

> 拡張性を担保する。

めくらなの?
0569nobodyさん2008/12/22(月) 18:14:51ID:???
568 名前:nobodyさん[sage] 投稿日:2008/12/22(月) 17:56:59 ID:???
> いやだからそのクラス指定して取得するメリットは?

> 拡張性を担保する。

めくらなの?
0570nobodyさん2008/12/22(月) 18:45:36ID:???
>>568
どう拡張性が担保されるの?
0571nobodyさん2008/12/22(月) 19:29:44ID:???
>>567
メリットがない者にはわからない。それだけのこと。
たぶん、君にとってメリットはない
0572nobodyさん2008/12/22(月) 19:31:06ID:???
>>571
君にはどういうメリットがあるの?
0573nobodyさん2008/12/22(月) 19:42:16ID:???
>>572
たとえば、
class rowFilter {
public function __set($name, $val) {
$this->{$name} = someFilter($val);
}
}
のようなクラスを用意して、自動フィルタを使い分けるとか。
複数カラムの値を自動計算させて仮想の別カラムを作ったりとか。
0574nobodyさん2008/12/22(月) 19:57:25ID:???
そんなんfetchObjectでなくてもできね?
0575nobodyさん2008/12/22(月) 19:58:03ID:???
だから、そんな君にはメリットはない。
0576nobodyさん2008/12/22(月) 19:58:47ID:???
なんだ自分が分かってないんじゃん
0577nobodyさん2008/12/22(月) 19:59:21ID:???
はあ?
0578nobodyさん2008/12/22(月) 20:24:50ID:???
ぼくにはさっぱり>>573がどんなメリットなのかわかりません
0579nobodyさん2008/12/22(月) 20:32:28ID:???
キモッ☆マジキチだらけのPHPスレ!
0580nobodyさん2008/12/22(月) 20:33:10ID:???
>>571と同じ。
>>573の方法を設計に生かしたいと思うかどうか。
生かしたいと思わない者にとってはメリットはない。
0581nobodyさん2008/12/22(月) 20:48:51ID:???
あれさ、O/Rマッパーを1行で実現できると言っても
ループしてnewすりゃいいじゃんって奴には(ry
0582nobodyさん2008/12/22(月) 21:09:46ID:???
>>580
自演乙!
0583nobodyさん2008/12/22(月) 21:11:58ID:???
>>582
自演であることを証明してみろ。
0584nobodyさん2008/12/22(月) 21:12:15ID:???
乙、乙
なんか、このところの定番?この流れ
0585nobodyさん2008/12/22(月) 21:13:02ID:???
あれw
0586nobodyさん2008/12/22(月) 21:14:15ID:???
>>583
だいたい、何と何が自演だよ
0587nobodyさん2008/12/22(月) 21:18:40ID:???
自分で理由もなしに何となくで使ってるところを指摘され、
利点を説明もできず、必死に言い訳を取り繕っている様はこんな感じ

                  ヽ人人人人人人人人人人人人人人人人人人人人人人人人人人人
         / ̄(S)~\  <                                        >
       / / ∧ ∧\ \<  そんな君にはメリットはない! そんな君にはメリットはない! > 
       \ \( ゚Д,゚ ) / /<                                        >
         \⌒  ⌒ /  ノ Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´
          )_人_ ノ  
          /    /
      ∧_∧ ■□ (    ))
     (   ; )■□  ̄ ̄ヽ
   γ⌒   ⌒ヽ  ̄ ̄ノ  ノ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0588nobodyさん2008/12/22(月) 21:23:23ID:???
必死だな
0589nobodyさん2008/12/22(月) 21:25:24ID:???
ひさしぶりに「必死だな」とか頭の足りてない言葉見た。
どんだけオッサンなんだよ。お互いに。
0590nobodyさん2008/12/22(月) 21:28:54ID:???
てかさ、恥ずかしくない?

> 利点を説明もできず
0591nobodyさん2008/12/22(月) 21:30:16ID:???
何が?
0592nobodyさん2008/12/22(月) 21:31:03ID:???
説明してみろよ、説明できないんならわかっていないと見做すとか
0593nobodyさん2008/12/22(月) 21:33:43ID:???
で?
0594nobodyさん2008/12/22(月) 21:35:37ID:???
http://pc11.2ch.net/test/read.cgi/php/1228667259/840
0595nobodyさん2008/12/22(月) 21:41:08ID:???
んなこたぁわかってる
0596nobodyさん2008/12/22(月) 21:51:45ID:???
DBレコードをモデルに割り当てるときに、DBからfetchして手動でオブジェクトに
割り当てるコードを書くよりも、実装のみ書いてfetchObjectに投げればモデルを
取得できるというメリットは、
スピーディーにORMを書きたい人にとってはメリットはあるが、
そうでない人には、意味がないってだけ。

「君にはメリットはない」て言葉、そんなにひっかかるか?>>587
バカにされたとでも思ったんなら誤解だよ
0597nobodyさん2008/12/22(月) 22:01:34ID:???
まあ、そうムキになんなよ。
0598nobodyさん2008/12/22(月) 22:10:58ID:???
>>596
低脳乙
0599nobodyさん2008/12/22(月) 22:34:15ID:zcPu3Ss9
>>598
どうも
0600nobodyさん2008/12/23(火) 02:11:45ID:???
自覚だけはあるんだw
巣に篭って出てくんなよw
0601nobodyさん2008/12/23(火) 08:02:02ID:???
そうさせてもらうぜ
0602nobodyさん2008/12/23(火) 18:13:46ID:???
少しお聞きします。

ヒアドキュメントにテキストに入れたいのですが、
変数展開されてしまいます。
変数展開しないためには、$などをエスケープするしかないんでしょうか?
0603nobodyさん2008/12/23(火) 18:15:20ID:???
newdoc
0604nobodyさん2008/12/23(火) 18:15:26ID:???
http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.nowdoc
nowdoc構文を使う
0605nobodyさん2008/12/23(火) 18:16:13ID:???
って、マニュアルみたら、そのために php 5.3 で Nowdoc が追加されるんですね。
5.2なので、エスケープするかぁ(´・ω・`)

まあ、置換するだけだから大丈夫だと思います。

ありがとうございました。
0606nobodyさん2008/12/23(火) 18:25:49ID:???
ヒアドキュメントがPerlの後追いバロスwww
0607nobodyさん2008/12/23(火) 18:27:43ID:???
>>605
長いならファイル分ければ?
0608nobodyさん2008/12/23(火) 22:27:45ID:???
来年の1/1 00:00:00から
明けましておめでとうと
自動で表示したいです。
どうすればいいでしょうか?
0609nobodyさん2008/12/23(火) 22:37:56ID:???
来年の1/1 00:00:00から
明けましておめでとうと
自動で表示するようなスクリプトを書く。
0610nobodyさん2008/12/23(火) 22:38:46ID:???
if (time() > 1230735600) echo "あけおめ!";
0611nobodyさん2008/12/24(水) 05:34:37ID:???
質問です

記号であるの ”[” と ”]” をそれぞれ ”<” ”>”に置換したいんですけど、

$string="testA[ testB ]";
$patterns[0] = '/[/';
$patterns[1] = '/]/';
$replacements[0] = '<';
$replacements[1] = '>';
$replace = preg_replace($patterns, $replacements, $string);
$tag = htmlspecialchars_decode($replace);
echo '<pre>'.($tag).'</pre>';
testA<testB>とは出力されずに
Warning: preg_replace() [function.preg-replace]: Compilation failed: missing terminating ] for character class at offset 1 in ”ファイル”
とだけ出力されます

もっといい方法などあればよろしくお願いします
0612nobodyさん2008/12/24(水) 05:42:42ID:???
変化してしまったようなので訂正します
$replacements[0] = '<';→&lt
$replacements[1] = '>';→&gt

逆は出来た(イメージと違います・・・)んですが、どうしてもできません
ちなみにソースはこれです
$string=htmlspecialchars("testA<testB>");
$patterns[0] = '/&lt/';
$patterns[1] = '/&gt/';
$replacements[0] = '[';
$replacements[1] = ']';
$string2 = preg_replace($patterns, $replacements, $string);
$string3 = htmlspecialchars_decode($string2);
echo '<pre>'.($string3).'</pre>';

出力結果:testA[;testB]; セミコロンがなぜか入っています・・・
0613nobodyさん2008/12/24(水) 08:36:13ID:???
>>612
そうはならんと思うぞ。
もう一回ソース確認して実行してみ
0614nobodyさん2008/12/24(水) 22:26:42ID:???
foreachでよく見るasってなんなんすか?
foreach($list as $value)とforeach($list as $key=>$value)でしか使われない?
0615nobodyさん2008/12/24(水) 22:43:43ID:???
>>614
foreach文は配列等のデータの集まりに対して使うループ文であって
そういうもんだと思えばいい
言語によってさまざまだがPHPはasを採用してるだけ
多くの言語はinなんだけどな
0616nobodyさん2008/12/25(木) 09:48:01ID:???
>>610
ありがとうございました
0617nobodyさん2008/12/25(木) 10:26:53ID:???
>>614
public <php>void kusakabe("as");
0618nobodyさん2008/12/25(木) 10:28:12ID:???
年寄りネタはもういいよ
0619nobodyさん2008/12/26(金) 10:52:34ID:???
PHP4で書かれたメールフォームをPHP5のサーバーにアップしたら動きません
なんとか動かせる様にメールフォームをいじりたいのですが全く意味不明です。

こんな意味不明な質問を解決へと導いて下さる方をお待ちしてます
0620nobodyさん2008/12/26(金) 10:57:28ID:???
PHP4で書かれたメールフォーム がどんなソースかも分からないのに
何をどうこたえろと。
0621nobodyさん2008/12/26(金) 11:16:27ID:???
変更点見てソースを修正すれば動くよ、としか・・・


マジレスするとPHP5のメールフォーム探してきて設置すれば?
0622nobodyさん2008/12/26(金) 13:18:38ID:???
>620>621
ありがとうございます。

まぁどうしろって言うんだ!ってのは分かるんですが、わからなすぎて
何をどう説明すればいいのやら・・・・って感じなんです。

ajaxmailとか言うネットで見つけたかっちょええぇ奴を使っていたんですが
5のサーバーで動かなくてなんか簡単な方法とかないのかなあぁと思ったんです。
自分でも開いてみたりしたのですが全く意味不明でして、メールフォームだけじゃなくて
ajaxが絡んでるんでフォームだけ変えるわけにもいかないような・・・・・
出来れば助け舟だして頂けるとありがたいです。

PHP5のフォームはあるのですが出来れば現在の物を使いたいのです。
0623nobodyさん2008/12/26(金) 13:21:21ID:???
エラーは出ないの? ログは?
だいたい、症状も書かずに、動きませんって・・・釣り?
0624nobodyさん2008/12/26(金) 13:40:22ID:???
>623
いやー釣りじゃないんですけどね・・・・
エラーでないんですよね。真っ白になりますね
初心者すぎてログとかわかりません。
アパッチで動かした時はphp.iniをいじりまくってたら
何とか文字化けしながら動いてたんですが、
サーバーのphp.iniは触れないそうで、動かずに
真白になるんですよ。
0625nobodyさん2008/12/26(金) 13:43:48ID:???
サーバーのログは見れんの?
だったら、そこら中に、
error_reporting(E_STRICT);
ini_set("display_errors", 1);
してみたら?
0626nobodyさん2008/12/26(金) 14:02:32ID:???
どこのスレにもいるんだな。
初心者が免罪符になるとおもってるやつが。
0627nobodyさん2008/12/26(金) 14:05:02ID:???
>625
ちょっとマジでわからないんで勉強してからまた来ます。
ありがとうございました!

>626
初心者歓迎って書いてあったんで免罪符になると思ってる
んですけど。
まぁ悪かったな!
0628nobodyさん2008/12/26(金) 15:11:46ID:???
お前の場合初心者じゃなくて情報乞食だろ
0629nobodyさん2008/12/26(金) 20:29:16ID:???
いくらなんでも初心者すぎる
パソコン買ったのにインターネットにつながらないんですけど・・・
って言ってるレベル
0630nobodyさん2008/12/27(土) 00:04:28ID:???
ロリポップを使うときSQLインジェクション対策しなくても良いと聞きました
0631nobodyさん2008/12/27(土) 00:37:01ID:???
どうしてだよ。
0632nobodyさん2008/12/27(土) 00:46:58ID:???
自動的に髭おじさんが文字コードエスケープ処理をしてくれるみたいです。
0633nobodyさん2008/12/27(土) 00:48:21ID:???
php を使ってpdfを出力する場合には、MBFPDFを使うという事はわかったのですが
.NETのCrystal Reportみたく感覚的に画面をデザインする方法とかはありますか?
値の入出力なら出来るのですが罫線を引いたりする方法が分かりません。
0634nobodyさん2008/12/27(土) 20:12:18ID:HuO0vYHm
pdf_linetoを使えばいいのではないでしょうか?
http://www.phppro.jp/phpmanual/php/function.pdf-lineto.html
とか
本で調べるならスーパーアプリケーションにそのやり方が載っているよ
0635nobodyさん2008/12/27(土) 20:13:50ID:/RdEgEUV
質問させてください.
CGIで「アプレットを表示させるHTML」を出力させたいと思っています.

流れのイメージとしては,
ユーザがCGIにアクセス⇒CGIがアプレットタグを持つHTMLを出力
⇒ユーザ側のブラウザがHTML解釈してclassファイルを要求⇒表示
という感じです.

CGIの設置と出力はうまくいくのですが,アプレットが表示されません.
アプレットが起動したことを示すフラッシュのようなものも表示されないです.
サーバ側でリクエストを見たところ,アプレットのクラスファイルのリクエストがクライアントから来てないようです.

CGIが出力するものと全く同じHTMLファイルをサーバにおいて,そこにアクセスする限りはアプレットは表示されます.
codebaseをCGI-BINとは別の所に設定して,CGI解釈されないようにはしてあります.
解決策ありましたら宜しくお願いします.
06366332008/12/28(日) 00:14:41ID:???
>>634
そのHPに記載されているのは直線(罫線)を引く場合に、
プログラムから線を引く命令を書く為の文法ですよね?

なんとかActive Report や Crystal Report みたくGUIでデザインをする事は
出来ませんか?(する方法はありませんか?)

あまり帳票のレイアウトをいじる為にプログラムをいじりたくはないです。
VSのデザイナ画面みたいなのがphpにあれば良いんですけどやっぱり無いですかね?
0637nobodyさん2008/12/28(日) 00:48:58ID:ye4GPpuG
ないと思われます。
0638nobodyさん2008/12/28(日) 01:14:04ID:???
ゆとり乙
0639nobodyさん2008/12/28(日) 01:24:08ID:???
>>637
そうですか。。。残念。
0640nobodyさん2008/12/28(日) 16:36:18ID:???
PHPでLinuxユーザーのUIDやGIDを取得する方法はありますか?
0641nobodyさん2008/12/30(火) 03:57:16ID:???
未実装 
0642nobodyさん2008/12/30(火) 05:42:39ID:???
echo `id root`;
0643nobodyさん2009/01/02(金) 12:47:37ID:???
これまでASP.NETで主にWEB開発を行って来たのですが、
PHPの生産性がどうしても低く感じてしまうのは私だけでしょうか?

もっともPHPを始めて触るという事での遅さもあるかもしれませんが、
他に何か開発の生産性を高めてくれるお勧めな開発環境とかってありますか?

現在私は、SAKURAエディタのみで開発しています。

0644nobodyさん2009/01/02(金) 12:53:30ID:???
低く感じる点とは具体的には?
0645nobodyさん2009/01/02(金) 13:07:15ID:???
↑
・画面をデザインする場合にいちいちスタイルーシートを手動でいじらなくちゃならない。
・phpスクリプトの特定部分をコメントアウトしたい場合、VSなら範囲選択し「コメントアウト」を
 クリックするだけで出来るのにそれが出来ない。いちいち//を手入力する必要がある。
・画面をデザインする時に直感的にマウスのドラッグで出来ない。
・コード部分とデザイン部分がASP.netと違って混在している。
 ※requireを使ってもやはり汚い。

0646643 6452009/01/02(金) 13:10:17ID:???
これまでASP.netを使っていたのに急遽phpに乗換えた理由としては、
唯一のphpの利点かと思うんですが、オープンソースという事もあり、

同一スペックのサーバをレンタルする場合には、phpの方が断然安いんですよね。
したがって、長期間のサイトを運営する事を考えればphpで構築した方が断然安上がりだと
思ったからです。
0647nobodyさん2009/01/02(金) 13:14:37ID:???
ASP.NETもろくにできないんじゃない?
PHPにだってフレームワークぐらいあるんだよ?
0648643 6452009/01/02(金) 13:23:49ID:???
だからそのphpを教えて頂戴。

↑
リアルにあんあたよりASP.netはできるよ。
0649nobodyさん2009/01/02(金) 13:43:43ID:???
日本語はできないようだな
0650nobodyさん2009/01/02(金) 15:06:49ID:???
vs出身ならデルフィ For php ためしてみたら?
おれはZend Studio for Eclipse
0651nobodyさん2009/01/02(金) 15:12:40ID:???
>>650
ちょとぐぐってみたけど
 Delphi for PHP
かなり便利そうですね。

でもちょっと高いか。

0652nobodyさん2009/01/02(金) 18:49:09ID:???
とても.NETやってると思えない物言いだなw
M$はゆとりを多く輩出させすぎだろ
0653nobodyさん2009/01/02(金) 19:48:10ID:???
ASP.netってそんなに素晴らしい代物だったのか
俺も手をだしてみようかな??
0654nobodyさん2009/01/02(金) 19:56:45ID:???
応用がきくからJavaにしときな
C#自体いいとこどりのJavaの真似みたいなもんだし
オブジェクトPHPもJavaの真似だから
JavaさえできればC#、PHPは楽勝
あとはフレームワークの概要とかわかれば.NETなんて楽勝
■ このスレッドは過去ログ倉庫に格納されています