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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/02/03(火) 01:09:36ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
05775722009/06/07(日) 15:11:25ID:???
>>575 >>576
すいません。ソース長くてどこを見せればいいかわからない状態です。
ソース削りながら色々試してみます。
ありがとうございました。
0578nobodyさん2009/06/10(水) 11:22:45ID:???
変数に格納された数字を、正の数なら+を、負の数なら−を頭に付けて表示したいのですが、
それに便利な関数はないでしょうか

PHP4
0579nobodyさん2009/06/10(水) 11:30:01ID:???
そんくらいなら自作してやれば
0580nobodyさん2009/06/10(水) 11:31:18ID:???
宿題か?
05815782009/06/10(水) 11:56:17ID:???
自作しますた
30秒で終わりますた
15分ぐぐって損しますた
0582nobodyさん2009/06/10(水) 11:59:44ID:???
>>581
You!ここに載せちゃいなよ!
0583nobodyさん2009/06/11(木) 10:23:35ID:???
んなもんifで数値比較するだけだろw
0584nobodyさん2009/06/11(木) 13:32:40ID:???
$str = $val > 0 ? '+' . $val : '-' . $val ;

あ、0のときはしらん。
0585nobodyさん2009/06/11(木) 14:09:33ID:???
-1を--1にする気か?
0586nobodyさん2009/06/11(木) 14:10:28ID:???
みんな printf 嫌いなの?
0587nobodyさん2009/06/13(土) 16:08:22ID:???
あえてセッション使わずにglobal変数使いまくって

入力画面←→確認画面→送信

と行ったり戻ったりするフォーム作るって変?
遷移するたびに文字のエスケープやらなんやらで埋もれるんで明らかにいけてないなと
0588nobodyさん2009/06/13(土) 16:18:56ID:???
global変数でどうやってリクエスト跨いでデータ受け渡しすんの?
0589nobodyさん2009/06/13(土) 18:08:42ID:???
hiddenかsession以外でそれやる奴バカだろ
0590nobodyさん2009/06/13(土) 18:21:00ID:???
>>587
>あえてセッション使わずに

の時点で変だけど、そうしたい理由は何さ?
05915872009/06/14(日) 21:34:45ID:???
>>588
フォームに入力→POST→確認画面→戻るリクエスト→hidden大量で入力画面にバックして反映
この間globalでユーザー関数またぎまくり

>>589
戻ると次へと送信でhiddenとそのエスケープ処理が100コくらいある

>>590
クッキー使えないのと、心理的にURLに埋め込みたくないのと、
ブラウザのバックボタンで期限切れだしたくない(じいちゃん連中向けなんでヤツらはパニクる)のでどうしていいやら

最後のはセッション関係なかったっけ

機能的にはできあがってきちんと動いてるんだが超気持ち悪い
やり方あったら教えてプリーズ
0592nobodyさん2009/06/14(日) 21:54:41ID:???
>>591
>ブラウザのバックボタンで期限切れだしたくない

youメニュー隠しチャイナyo
っていうか心理面を克服してでもセッション使ったほうが楽だと思うんだがなぁ。
0593nobodyさん2009/06/14(日) 21:56:49ID:???
セッションキーをhiddenで渡せばいいだけの話だろ常考
0594nobodyさん2009/06/14(日) 22:00:08ID:???
>>593
そんなことできたのか
しらんかった
0595nobodyさん2009/06/14(日) 22:11:51ID:???
まぁ実際はただのリクエストだからなw
0596nobodyさん2009/06/15(月) 20:18:19ID:???
正規表現についてお尋ねします。
あるフォームに入力された全角文字を半角文字にして他のフォームに代入するといった事をやっていますが、
全角→半角にするのはmb_convert_kanaでやるとして問題は半角に出来ない文字(例えば漢字など)を取り除いて
代入したいのです。要は半角に変換した後の文字列から全角文字だけを取り除いて半角文字列だけにしたいのです。
例:HOGE安弘MOGE → HOGEMOGE
こういう事は正規表現で可能でしょうか?
0597nobodyさん2009/06/15(月) 20:32:09ID:???
>>596
preg_match_allで欲しい部分を抜いてきて、implodeでくっつけるってのは?

preg_match_all('/([A-Z])/', $str, $match);
$newStr = implode('', $match);

パターンは自分の条件に読み替えてくれ
0598nobodyさん2009/06/15(月) 21:11:06ID:???
PDOを使ったスクリプト配布してるとこ教えてください
0599nobodyさん2009/06/16(火) 13:07:05ID:???
どなたか〜〜
0600nobodyさん2009/06/16(火) 13:22:26ID:???
スレ違い
0601nobodyさん2009/06/16(火) 17:27:04ID:???
ですか。失礼しました

でっこれはこのスレとマッチすると思うんですけど
海外からのフリースクリプトダウンロードしてもPDOをほとんど使って無いんですよ
なぜですか?
0602nobodyさん2009/06/16(火) 18:15:13ID:???
Manualのサンプルじゃ足りないの?

さておき、質問の答えは「今のところわざわざPDOを使う理由が無いから」じゃないかなぁ。
0603nobodyさん2009/06/16(火) 22:33:48ID:???
>>601
ソース見たフリースクリプトってどれ?
0604nobodyさん2009/06/16(火) 23:00:21ID:???
えと、見すぎであまり覚えてないのですが・・・
ほとんどhotscriptからです
0605nobodyさん2009/06/17(水) 01:01:12ID:???
適当に挙げてみてもらえると参考になるんだけど。
合計では約いくつ?
0606nobodyさん2009/06/17(水) 10:46:14ID:???
まあ作られた時期も見てみ
0607nobodyさん2009/06/18(木) 23:33:25ID:???
たった今澪抱き枕\7,300*4ポチったwww
今日の最終回泣くかもしんね俺www
0608nobodyさん2009/06/18(木) 23:34:17ID:???
うわああああああああああああああああああああああああああああ
誤爆したああああああああああああああああああああああああああ
俺死ぬマジ死ぬw
0609nobodyさん2009/06/18(木) 23:39:01ID:???
wwwwwwwwwwwwww
0610nobodyさん2009/06/18(木) 23:43:23ID:???
kimoi
0611nobodyさん2009/06/19(金) 01:47:29ID:???
早速ニコ動にうpかよw
保存すますたw
0612nobodyさん2009/06/19(金) 01:48:10ID:???
ごむぇん・・・誤爆・・・
0613nobodyさん2009/07/01(水) 11:28:04ID:???
WordPress の質問ってここで聞いてもいいんでしょうか。

arras theme というテーマを使っているのですが
そのテーマにはトップページに記事のサムネイルを表示する
javascript のスライドショーがあります。
それを他のページ(たとえば普通のページなど)にも
設置することはできるでしょうか。

home.php のそれっぽい場所をコピーして single.php に貼り付ければ
出来なくもなさそうなんですが、複雑でわかりにくいのと
そもそもそういう設定ができるかもしれないので質問しました。

環境はwordpress のバージョンは2.8 arras theme は最新のものを使っていて
自分は php と javascript であれば編集できます。よろしくお願いします。
0614nobodyさん2009/07/02(木) 11:12:33ID:???
foo($array, 'a') なら $array['a'] を返し
foo($array, 'a', 'b') なら $array['a']['b'] を返すには

function foo() {
// ???
}

をどうしたらいいでしょうか。

func_num_args() を使って再帰で、
なんて思ったのだけど、考えがまとまらなくて。
0615nobodyさん2009/07/02(木) 14:46:54ID:???
なんのためにそんな関数を
$var = foo($array, 'a');
なら
$var = $array['a'];
でいいじゃん
0616nobodyさん2009/07/02(木) 15:38:49ID:???
foo($array, $bar, $baz) と書くんだったら $array[$bar][$baz] でいいよね。

foo($array, array('a', 'b')) を $array['a']['b'] にするんだったら
foo($array, $arr_keys) みたいに渡したいのかなとも思うんだけど。
06176142009/07/02(木) 15:41:46ID:???
>>615-616
E_ALL 環境で isset() が面倒なんので、
foo 内で isset して値を返したり、
値があるか判定するのを作ろうと思って。
0618nobodyさん2009/07/02(木) 16:47:20ID:???
>>617
foo:セットされてないときfalse,セットされているときはその配列の内容が返る

$arr["a"]["b"]["c"] = "hoge-c";
$arr["a"]["b"]["d"] = "hoge-d";
$arr["a"]["b"]["e"] = "hoge-e";
var_dump(foo($arr,"a", "b")); // result array
var_dump(foo($arr,"a", "b","c")); // resurt string
var_dump(foo($arr,"a", "c")); // resutl false
var_dump(foo($arr,"b")); // result false

function foo() {
$cnt = func_num_args();
$var = func_get_args();
$arr = $var[0];
for ($i=1; $i<$cnt; $i++) {
if (!isset($arr[$var[$i]])) return false;
$arr = $arr[$var[$i]];
}
return $arr;
}
06196142009/07/02(木) 16:55:15ID:???
>>618
最高です。。。
ありがとうございます!
0620nobodyさん2009/07/02(木) 21:49:43ID:???
せっかく5.3から省略三項演算子が使えるようになったというのに
0621nobodyさん2009/07/03(金) 06:14:31ID:???
echo "<input type=hidden name=※>";

のような、出力するHTMLタグ内の※の部分に変数を置きたいのですが、
今までname=".$aaa.">のように". ."の間に変数名を入れて繋いでいたところ、
たまたま違う人がname={$aaa}>と{ }で囲っているのを見つけました。

変数の中身を{ }で参照できるのは納得できたのですが、
". ."で囲う場合、変数ではなくname=".session_name()."のようにできるところを
{ }で囲う場合はどうすればよいでしょうか。

PHP5
0622nobodyさん2009/07/03(金) 06:15:55ID:???
{}で参照なんかできないよ
0623nobodyさん2009/07/03(金) 06:21:26ID:???
とするとタグの途中に変数とか関数の戻りを表示したいときどうつなげるのが普通なんでしょう
". ."は超自己流なんで定番が知りたく。
0624nobodyさん2009/07/03(金) 06:23:18ID:???
マニュアルか他のアプリのコードでも見てみれば?
0625nobodyさん2009/07/03(金) 06:31:04ID:???
いくつかの他アプリで{ }と・・・・
0626nobodyさん2009/07/03(金) 06:36:58ID:???
じゃそうすればいいんじゃね?
0627nobodyさん2009/07/03(金) 06:39:26ID:???
すみませんでした
もうちょい詳しい人に聞いてみます
0628nobodyさん2009/07/03(金) 06:40:56ID:???
死ね低脳w
0629nobodyさん2009/07/03(金) 06:45:36ID:???
echo '<input type="hidden" name="',session_name(),'>';
0630nobodyさん2009/07/03(金) 08:57:30ID:???
>>621-622
まあできるかできないかで言えばできる
0631nobodyさん2009/07/03(金) 10:55:19ID:???
PHP は { } で関数と定数が埋め込めないのがダサい
0632nobodyさん2009/07/03(金) 11:43:51ID:???
そんなものにまで対応させてたら文字列リテラルをパースするのにもっと時間がかかってしまう
0633nobodyさん2009/07/03(金) 11:50:14ID:???
だいいち{}で変数が埋め込めてるわけじゃないし。
埋め込めてるのはダブルクオーテーションの機能だろ
{}は区切り文字なだけ
0634nobodyさん2009/07/03(金) 12:48:46ID:???
>>632
" や ' 以外の括り文字でもあればいいのかもね。
それとは別に Perl や Ruby の q| | とかもほしいなぁ。
0635nobodyさん2009/07/03(金) 23:23:32ID:???
613ですが自己解決しました。

プラグインで smoothview というのがあったので
そのインターフェースを改造しました。
0636nobodyさん2009/07/04(土) 07:55:20ID:???
もしかしてsmartyなんじゃないの?
smartyって{}を多用するよね。
0637nobodyさん2009/07/05(日) 21:23:19ID:???
powerd by *****
と表示しなくてもいいCMSはありませんか?
0638nobodyさん2009/07/08(水) 11:36:42ID:???
すいません、こちらで質問していいのかどうかわからないんですが
レンタルサーバの設定では、PHPを「FastCGI アプリケーションモード」で動かしているらしいのですが
結構頻繁に「The FastCGI process exceeded configured activity timeout」ってエラーが出ます。
サーバ会社に聞くと、「FastCGIに対応したコードを記述してないからです」と言われたのですが、
当方、参考書を見ながら作成しているのですが、どこにもFastCGIについて書かれておらず
どこかにその対応コードなどが記載されているような参考にできるサイトを知っている方はいらっしゃらないでしょうか?
0639nobodyさん2009/07/08(水) 11:48:42ID:???
>>638
      _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
  _____ _____  ______  _______
  |  ウェブ  | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ._________________
      |FastCGI PHP               │・検索オプション
      └────────────────┘・表示設定
         | Google検索 | I'm Feeling Lucky |  ・言語ツール
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ○ウェブ全体から検索 ◎日本語のページを検索
0640nobodyさん2009/07/08(水) 11:52:55ID:???
たんに処理時間が長くてタイムアウトしているんじゃないかなぁ
0641nobodyさん2009/07/08(水) 11:59:11ID:???
>>638
すいません、すでにいろいろとぐぐってはいるんですが
サーバ側でFastCGIを導入する方法ばかり記載されており、PHPでサイトを作る際の注意点などが記載されているものがなく
困っております。
そこで、そのような記載があるサイトがないかお尋ねしたのですが、やはり難しいのでしょうか。
0642nobodyさん2009/07/08(水) 12:01:18ID:???
ActivityTimeout=300
0643nobodyさん2009/07/08(水) 12:11:40ID:???
>>642
ありがとうございます。
タイムアウトの設定を変える内容のようですが、そちらはPHPファイルのどの当たりに記載すればよろしいのでしょうか?
そのコードがレンタルサーバ会社の言う、こちらが記載すべき「FastCGIに対応したコード」というものなのでしょうか。
なんどもお聞きしてしまって申し訳ありません
0644nobodyさん2009/07/08(水) 12:37:53ID:???
FCGIext.iniだよ
0645nobodyさん2009/07/08(水) 12:55:07ID:???
>>644
ありがとうございます。
調べたところ、レンタルサーバの管理上FCGIext.iniの編集はこちらではできないようになっているようです
わからないことばかりなので、もうすこしぐぐったりして基礎知識から勉強をしなおそうと思っています
ご助言をしていただいた方々、ありがとうございました
0646nobodyさん2009/07/08(水) 14:16:07ID:???
PHPを始めたばかりでどうしてもよくわからない点があります。
考え方といいますか、流れを教えてください。

XHTMLとCSSで縦2分割サイトを考えており、左に配置したドロップダウンリストから選択、
右側に内容表示というよくあるパターンです。内容はMySQLから取り出す予定です。

ここでわからないのが、内容の表示位置の指定です。
MySQLのデータとCSSタグを一緒に出力すればよいのでしょうか?

根本的な勘違いをしているような気がしてならないのですが、どこが勘違いなのかも
よくわからないです。
0647nobodyさん2009/07/08(水) 14:34:54ID:???
MySQLのデータとHTMLタグを一緒に出力して
CSSでその位置を指定すればいいのでは
0648nobodyさん2009/07/09(木) 12:14:47ID:???
prototype.jsのAjax.Updaterを使えば簡単なんじゃないか。
推奨はしないけど。
0649nobodyさん2009/07/09(木) 13:19:44ID:???
>>647
ありがとう。
その方法だとうまくいかないのです。
サイト全体が置き換わってしまうので、結局すべてのHTMLにメニューをつけないと
ダメっぽいです。

>>648
ありがとう。
いまググってみました。
たしかにやりたいことと合致します。
ただ、これから言語をマスターするので、より簡単といわれているPHPを覚えたい
という気持ちがあります。JSと両方覚えれば済む話ではあるのですが、オレには
キャパがないです。たぶん。
0650nobodyさん2009/07/09(木) 14:26:18ID:???
>>649
iframeって手もあるな。
0651nobodyさん2009/07/09(木) 17:26:11ID:???
phpを使うならJavascriptはある意味必須だよ。
連携しないと実現出来ない事も多々あるし。
0652nobodyさん2009/07/09(木) 18:41:50ID:???
>>650
ありがとう。
iframe
0653nobodyさん2009/07/09(木) 18:48:35ID:???
すまんそん。

>>650
ありがとう。
iframeは考えたんですけど、XHTML1.1で非サポートになり、策定中のHTML5.0でも
廃止になるということで、使わない方向を考えてました。

>>651
ありがとう。
JavaScriptも必須ですか。
まったくの初心者なので、PHPの公式マニュアルを読むだけで苦労してます。
0654nobodyさん2009/07/09(木) 21:36:35ID:???
iframeなくなるの?
0655age2009/07/09(木) 22:48:26ID:DwSsHHgt
ファイルをアップロードしmove_uploaded_fileをした時点で
強制的にサーバとPCとのコネクションを切断する事は可能ですか?
0656nobodyさん2009/07/10(金) 02:40:08ID:???
>>655
exit か die で終了させちゃえばいいんじゃないの。
0657nobodyさん2009/07/10(金) 12:50:37ID:???
>>654

iframeは、XHTML1.1ではすでに無いです。
W3Cの勧告でもHTML5.0で無くす方向で進めているようです。
0658ユキ2009/07/12(日) 04:36:26ID:au+P+rHJ
初めまして。
PHPど素人です。

インターネットで調べながらPHPの問題に取り組んでいますが、
2週間以上掛けても全く分かりません。
どのように書くのか教えていただけないでしょうか。
『EmEditor Free Version 6.00.4』とザンプを使っています。

問題は以下のとおりです。

『数値1〜9があります。全て4桁です。
9つの数字の中の最大値と最小値を出力しなさい。
負の数と5桁以上の数値が入力された場合エラーと出力する。
さらに数値1〜9のどの数値が最大値、最小値か出力しなさい。』

ループとfunctionを使うそうなんですが、どう使えばいいのか分からず、
ゼロの状態です。

皆様、お忙しいと思いますが、助けていただきたいです。
お願い致します。
0659nobodyさん2009/07/12(日) 05:09:19ID:???
宿題は自分で
0660nobodyさん2009/07/12(日) 08:09:56ID:???
>>658
数値1を入力する
数値2を入力する
数値3を入力する
数値4を入力する
数値5を入力する
数値6を入力する
数値7を入力する
数値8を入力する
数値9を入力する


    ↓
数値1に入れられた数値を、$aに入れる
、、、、
数値9に入れられた数値を、$iに入れる
0661nobodyさん2009/07/12(日) 08:11:34ID:???
$aが4桁か調べる。

もし5桁以上なら、エラーを吐いて死ぬ。

4桁なら、こんどは、$aが負の数かどうかを調べる。

0以上なら、おk。
もし負の数なら、エラーを吐いて死ぬ。

$aのチェックが終わったら、$b、そして
、、、、$i。
0662nobodyさん2009/07/12(日) 08:14:51ID:???
次に、$a〜$iを配列に入れる。

そんで、その中の最大値を調べる(専用関数あり)

そして、こんどはその配列の、最小値を調べる(専用関数あり)

そんで、最大値のvalueに一致するkeyを調べて、
「この数値○が最大でした」って表示

次に、最小値がでたところのvalueのkeyを調べて、
「この数値のときに最小でした」って表示。

以上。あとは上記の仕様書をプログラマーに食わせれば
ソースコードを吐く。
0663nobodyさん2009/07/12(日) 08:24:10ID:???
>>660-662
それだと「さらに数値1〜9のどの数値が最大値、最小値か出力しなさい」
の設問には答えられないので、もう一工夫が必要。
0664nobodyさん2009/07/12(日) 08:51:58ID:???
preg_matchでチェックとセットが同時にできる
0665ユキ2009/07/12(日) 14:48:56ID:tG558Uf0
>>660-664
ご親切にありがとうございます!!!!!

おかげさまで$aの桁を調べるまで出来ました!
書いていただいた内容をヒントにもう少し自分で頑張ってみます!
0666ユキ2009/07/12(日) 22:27:20ID:tG558Uf0
以下のように書いてみましたが、
これからどのようにfunctionとループを使えばいいのかどうしても分かりません。
解答、あるいはヒントを頂けないでしょうか?
度々すみません。

if($a > 9999 or $a < 0){
echo "<div>エラー</div>";
} else { echo "<div>$a</div>";
}
     if($b > 9999 or $b < 0){
echo "<div>エラー</div>";
} else { echo "<div>$b</div>";
}

if($c > 9999 or $c < 0){
echo "<div>エラー</div>";
} else { echo "<div>$c</div>";
}

if($d > 9999 or $d < 0){
echo "<div>エラー</div>";
} else { echo "<div>$d</div>";
}

if($e > 9999 or $e < 0){
echo "<div>エラー</div>";
} else { echo "<div>$e</div>";
}
0667ユキ2009/07/12(日) 22:28:07ID:tG558Uf0

if($f > 9999 or $f < 0){
echo "<div>エラー</div>";
} else { echo "<div>$f</div>";
}

if($g > 9999 or $g < 0){
echo "<div>エラー</div>";
} else { echo "<div>$g</div>";
}

if($h > 9999 or $h < 0){
echo "<div>エラー</div>";
} else { echo "<div>$h</div>";
}

if($i > 9999 or $i < 0){
echo "<div>エラー</div>";
} else { echo "<div>$i</div>";
}


$x = array( $a , $b , $c , $d , $e , $f , $g , $h ,$i );
echo " 最大値: " .max($x). "<br />\n";
echo " 最小値: " .min($x). "<br />\n";
0668nobodyさん2009/07/12(日) 23:06:46ID:???
人力ループしてから配列に叩き込むセンスに感心しすぎて何も言えない
0669nobodyさん2009/07/13(月) 02:32:15ID:???
すげぇ。授業はこれまで全部受けてるの?
受けてたとしたらこの段階でこんな問題出した教師が悪い
0670nobodyさん2009/07/13(月) 11:10:34ID:???
>>666
function は 一部の値だけを変えて同じ処理が続く場合に使います。
>>666-667を良く見てみると、同じ記述が見つかりますね。
まずは、共通化できる処理をfunction化してみましょう。

ループ(for while fareach)は、
一部の値を変化させながら同じ処理を繰り返すときに使います。
同じような命令が繰り返している箇所をループ化してみましょう。
0671nobodyさん2009/07/13(月) 18:25:41ID:???
ローカル環境でテストするときに
実際のフルパスを書き換えないでテストできる
フリーの開発ツールを前に何かで見つけたのですが
ご存じないでしょうか?
0672nobodyさん2009/07/13(月) 18:29:50ID:???
PEAR使うとエラーが出まくるんだけど、これって
どうすればいいの?
0673nobodyさん2009/07/13(月) 19:15:29ID:???
>>671
パスは設定ファイルに入れておけばいいじゃない。

完全一致を期待してるとカスタマイズとかのときにも
パスの全チェックをしなきゃいけなくなるから面倒だよ。

または、Windows/OSXにもそれぞれ仮想環境ツール
が出ているから、仮想環境ツールに、お目当てのOS
を入れて、Explorer/Finderからコードを更新できるよう、
Sambaあたりを入れて動かしておけばいいかと。
0674nobodyさん2009/07/13(月) 19:16:10ID:???
>>672
PEARのインストールができているかまずチェック。
0675nobodyさん2009/07/13(月) 21:11:07ID:???
>>673
php.iniで簡単に出来ました。
ただすべてのページにbase hrefを入れているので階層めぐりは無理でしたorz

どこかにコールバック関数と連携させてうまく開発出来る海外のツールがあったと思うんだけどなぁ。。
もう一度探してみます。ありがとうございました。
0676nobodyさん2009/07/15(水) 03:07:14ID:???
[環境] WinXP(XAMP) + PHP5
[質問] メンバ関数をメンバ変数の連想配列にぶち込みたい。
※2が通るような使い方をしたいのですが、やりかたをご教授いただけませんでしょうか、、、。
----------------------------
※1 OK
function HogeFunc {
 echo "Called HogeFunc1";
}
class HogeClass1{
 public function Action() {
  foreaech( $m_Array as $key => $value ) {
   $value();
  }
 }
 $m_Array = array( "HOGE_TAG", "HogeFunc1" ); //! 呼び出しOK
};
----------------------------
※2 こいつはNG
class HogeClass2 {
 public function Action() {
  foreaech( $m_Array as $key => $value ) {
   $value();
  }
 }
 public static function HogeFunc2 {
  echo "Called HogeFunc2";
 }
 $m_Array = array( "HOGE_TAG", "HogeClass2::HogeFunc2" ); //! 呼び出すとエラー
}
※※エラー内容※※
Fatal error: Call to undefined function HogeClass2::HogeFunc2() in ....省略
----------------------------
■ このスレッドは過去ログ倉庫に格納されています