【PHP】下らねぇ質問はID出して書き込みやがれ 76
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/11/13(木) 04:15:32ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0402nobodyさん
2008/11/21(金) 02:02:30ID:???0403nobodyさん
2008/11/21(金) 02:05:18ID:???PHP : 5.2.6
MySQL : 5.1.29-rc
先ほど環境を整えたのですが、
mysql_connect 関数を呼び出すと httpd.exe に強制終了が起きてしまいます。
Client API header version は 5.1.29-rc で本体と一致しています。
何が原因でしょうか。
ご教授をよろしくお願いいたします。
0404nobodyさん
2008/11/21(金) 02:06:07ID:???>>1
http://www.google.com/search?q=%E3%81%94%E6%95%99%E6%8E%88
0405nobodyさん
2008/11/21(金) 02:09:46ID:AgX6JP+GID出し忘れました。失礼しました。
ご教授ください、は誤用なんですね……。
0406403
2008/11/21(金) 02:35:55ID:???何でも最新がいいわけではないんですね。
失礼しました。
0407382
2008/11/21(金) 02:43:19ID:???ふつうにご教授頂ければ幸いです。とかつかってたよ。はずかしい。。。
0408nobodyさん
2008/11/21(金) 05:37:17ID:???とあるスレで発言したら、焼き餅焼かれてひどい目にあったので、こっちに来た。
CCNP取ったって言ったけど、元はweb系のSE。
web系の案件も何件かやって、やり尽くした感があるので、今はweb系より高度な技術が要求されるインフラ系のSEにスキルアップ中。
0410nobodyさん
2008/11/21(金) 07:34:39ID:BR6mi0Leごめん。
php --rf mb_ereg_replace
php --re mbstring
だった。
php -h でコマンドラインオプションが確認できます。
間違っていることに気づいて、正しいオプションで実行した結果が
あれなら、重大な問題があるような気がします。
エラーログにも残っていると思うけど、IISだとどうなのか
よくわからないなぁ。
0412nobodyさん
2008/11/21(金) 08:35:35ID:zW/fBXPAウチが借りてるレンタルサーバーは
phpファイルのパーミッションが400で
動いているんだが、これでいいのかな?
0413nobodyさん
2008/11/21(金) 08:42:11ID:zW/fBXPA「なんで実行権限与えてないのにPHPのファイルが
動くんだろう?」
って思ったけど、もしかして、
「アパッチのモジュールとして動いているから、
実行権限は与える必要は無い」
って解釈であってるのかな?
0414nobodyさん
2008/11/21(金) 14:46:23ID:wJTKWOfAまずSMTPに
$socket=fsockopen($server,$port);
します
fputs($socket,"EHLO $server\r\n");
した後応答が複数行あるのですが、通信をタイムアウトさせることなく
過不足なく取得するにはどうしたらいいでしょうか
$response.=fgets($socket,1024);では単行しか取得できず、
fgetsがまだ用意されていないのにfgetsを実行した場合、
通信のタイムアウトまで待ってしまいます
0415nobodyさん
2008/11/21(金) 15:03:24ID:wJTKWOfA[RESPONSECODE]-[RESPONSESTRING] //最終行以外
[RESPONSECODE] [RESPONSESTRING] //最終行
ですね
0416nobodyさん
2008/11/21(金) 15:16:06ID:???0417nobodyさん
2008/11/21(金) 15:43:29ID:XpwRzbFr0418nobodyさん
2008/11/21(金) 15:48:54ID:???0419nobodyさん
2008/11/21(金) 22:01:25ID:zW/fBXPA拡張子が.phpでもSSIって使えるの?
よくある設定だと、SSIを使いたいときには、
拡張子をshtmlにしてください、とかあるじゃん。
そしたら、php使えなくネ?って思うわけだ。
0421nobodyさん
2008/11/21(金) 22:14:33ID:???fget()は1行ずつ取る関数。
それならループで回せばいい。
PHP5ならstream_get_contents()が楽ちん
0422nobodyさん
2008/11/21(金) 22:14:56ID:???0425nobodyさん
2008/11/21(金) 22:21:20ID:zW/fBXPA何回も使うファイルをincludeするのに、
SSI使う方法と、phpのinclude使う方法と、
2つの選択肢があると思うのだが、
どちらを使ったほうがいい?
0426nobodyさん
2008/11/21(金) 22:23:56ID:???PHPでは配列と連想配列との区別はない
よって全てを「配列」と呼んでおけばいい
っていうか、そもそも連想配列=ハッシュでないので。
0428nobodyさん
2008/11/21(金) 22:31:22ID:???0429nobodyさん
2008/11/21(金) 22:32:36ID:???http://www.php.net/manual/ja/language.operators.php
型の概念が理解できているなら「===」と「!==」を使う事をお勧めしとく
0430nobodyさん
2008/11/21(金) 22:37:01ID:???http://www.php.net/manual/ja/reserved.variables.request.php
0431nobodyさん
2008/11/21(金) 22:58:47ID:???$j = strlen($char);
for($i=0, $i < $j; $i++)
>>76
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html
>>73
何をpopen()してるのだろう?
>>55
PHP標準を使おうがDBを使おうが、セッションIDが漏れた時のリスクは一緒。
それでもDB等で自前の実装がしたいなら、session_set_save_handler()が便利だ。
携帯では接続の度にIP変わるから、IP使うのは駄目。
UserAgentはナンセンス。
各キャリアがもっている個体識別番号を使うといいよ。
DoCoMoでもユーザー認証無しでとれるようになったしね。
個体識別番号取れないようにしてる機種に対してはエラーを出すのを忘れない事。
0432nobodyさん
2008/11/21(金) 23:58:42ID:???てかID:zW/fBXPAは連日むかつくよ。
PHP以外の言語も知っているような口ぶりだけど
なんでそんなにえらそうな聞き方するんでしょう?
自分で調べようとしてなさそうだし
教えてもらったのならありがとうの一言くらい言えばいいのに。
0433たまちゃん ◆ExGQrDul2E
2008/11/22(土) 00:21:58ID:AbVJZ2V5省略を表示する以前の文字が表示されません。
文字...略14としたいのです。
$mess = <<< FORM
文字列<br><br><br>あさささ<br>xf文字<br><br><br>czdvf
FORM;
$msgline = substr_count($mess, "<br>") + 1;
if ($msgline > 3) {
preg_match("/(.*) <br>.*/U", $mess, $match);
$message = $match[1]."<br> 省".$msgline."</a>";
}
echo "$message<hr>";
これでは、ただ(省)とだけ表示され、略される前の(文字列)と言う文字は表示されません
どのようにすればよいか、教えてください。
0434nobodyさん
2008/11/22(土) 00:22:11ID:???if (淡々と答える事が出来る) {
淡々と答える;
} else {
スルー;
}
>>428
「ハッシュテーブル」とかでググるといいよ。
まぁperlとかでは連想配列をハッシュと呼ぶのが通例だし細かい事は気にするな
>>425
require
PHP5ならautoloadなんかも上手く使うといい
0435nobodyさん
2008/11/22(土) 00:34:45ID:???$encoding = 'UTF-8'; // 実際は定数にする事
$str = 'オリジナルの文字列';
$len = 10;
$str2 = (mb_strlen($str, $encoding) > $len) ? mb_substr($str, 0, $len, $encoding) . '省略' : $str;
echo $str2;
0437435
2008/11/22(土) 00:37:53ID:???$num_br_max = 3;
$str = '文字列<br><br><br>あさささ<br>xf文字<br><br><br>czdvf';
$ary = preg_split('/<br>/i', $str);
$str2 = (count($ary) > $num_br_max) ? implode('<br>', array_slice($ary, 0, $num_br_max)) . '省略' : $str;
echo $str2;
0439438
2008/11/22(土) 00:40:46ID:???0441nobodyさん
2008/11/22(土) 00:45:58ID:???スレが荒れるから回答者は全員スルーしたほうがいい
過去にも何度もあったことだ・・・
このままの調子だと
回答者はマナーのなってない質問者には回答してはならないっていうルールができてしまう
0442nobodyさん
2008/11/22(土) 00:59:21ID:???別スレに逃げ出したぞ
ほんと腐ってるね
0444たまちゃん ◆ExGQrDul2E
2008/11/22(土) 01:19:45ID:AbVJZ2V5ありがとうございました。
うまく動きました。
>>435
これだと、タグの途中で切れたら
意味がなくなるみたいです。
0445nobodyさん
2008/11/22(土) 01:26:36ID:???些細なミスをした店員を執拗に罵倒してる客とかたまに見るけど、
普段怒られてばっかで、怒ることに慣れてないから必要以上に相手を罵っちゃうんだろうな。
加減が分からないって可哀想だよね。
0446nobodyさん
2008/11/22(土) 01:40:28ID:???0447nobodyさん
2008/11/22(土) 02:36:26ID:???0448nobodyさん
2008/11/22(土) 16:01:33ID:ngL3J7iI広告が入らないところといったら、
一番安いのは、さくらになってしまうのかね?
0450nobodyさん
2008/11/22(土) 17:11:51ID:iSnXxlqn全文を表示させるようにしたいのですけど、どうやるのでしょう?
「続きを読む」という文にリンクをかけて、もう一つ全文記事を作って
そこで全部書けばいいのでしょうか?
0451nobodyさん
2008/11/22(土) 17:35:35ID:???0452nobodyさん
2008/11/22(土) 18:00:08ID:???最近のMovableType4.2なんかだと「本文」と「続き」が別々のフォームで
保存も別にされてる様子。
1個の枠だけで「続きを読む」をやる場合は
まず本文の文字数をチェック。
↓
本文が○文字より長い場合は、頭から○文字までを表示して
一番最後に「…」みたいな省略がある事を明示する文字を付け足して
レコードの個別IDを含んだ全文表示用リンクを表示する。
↓
そうでない場合はそのまま表示する。
って感じだな。
記事の要約をトップページに表示したり
RSSへページの概要としても提供するなら
短い説明文と本文は分けて置いた方が良いと思う。
目次を表示する時に、各項目が「…」で省略されてるのは
クリックするまで中身が完結しないから、目次として微妙になってしまう。
わざと完結させないでPV増やすって技もあるかもしれないけど
他のサイトの方が読みやすければ廃れるのも早いと思われ。
0453nobodyさん
2008/11/22(土) 20:48:34ID:MJ/AoE7Yブラウザ経由ではなく、コマンドラインでPHPを対話的に操作したいのですが、
1. PHPの対話環境はありませんか?Rubyのirbのようなものです。
php -a は試しましたが、<?php ... ?> に囲まれないと出力されませんし、文
法エラーがあると強制終了だしで、実用に耐えませんでした。
2. 対話環境がないとしたら、 php -f PHPファイル名 しかないと思うのですが、
printのような関数で、最後に改行してくれるものはありませんか?
Java の System.out.println(), Ruby の puts のようなものです。
0454nobodyさん
2008/11/22(土) 21:02:14ID:???http://fdays.blogspot.com/2008/02/php5.html
対話的操作なら、var_dump()で良さそうです。
0455nobodyさん
2008/11/22(土) 21:25:18ID:b7xKLs1Nttp://w1.nirai.ne.jp/freeze/main/file09.html
----------------------------------------------
$updir = "./updir/";
これが変数に保存用のフォルダを代入している部分です。
$filename = $_FILES['data']['name']
これを、指定フォルダの中に保存するのが、
move_uploaded_file($_FILES['data']['tmp_name'], $updir.$filename)
その後、echo命令で画像を表示しているわけです。
--------------------------------------------
$updir = "./updir/"の部分を他のサーバ、例えばhttp://www.example.com/down/
に保存したい場合、どのようにすれば良いでしょうか?
そのまま$updir = "./http://www.example.com/down/"とした時、アップロードするとエラーが出てしまいます。
0456nobodyさん
2008/11/22(土) 21:27:11ID:???0457nobodyさん
2008/11/22(土) 22:03:15ID:P3cvCpOqapache + mod_phpで動かすのだと
どっちの速度が速い?
0458nobodyさん
2008/11/22(土) 22:03:44ID:???0459nobodyさん
2008/11/22(土) 22:05:15ID:???他のサーバにアップロード用のプログラム用意して、socketで画像データをpostするとか
勿論セキュリティ上出来ない場合もあるだろうし、何より改変は変数一つ書き換えるだけでは済まない
0460nobodyさん
2008/11/22(土) 22:11:43ID:???流すようにした方が多分作るのは楽だろw
0461nobodyさん
2008/11/22(土) 22:13:32ID:???0462nobodyさん
2008/11/22(土) 22:17:29ID:P3cvCpOqどんな?
0464nobodyさん
2008/11/23(日) 08:59:40ID:7jpbyfc1アップしたんですが、phpとして実行されてしまうようです。
これは、Apacheの設定の問題でしょうか?
Apache/2.0.63 (CentOS)
php 5.1.x
httpd.confで下記のように設定しています
LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php
AddType text/html .php
0465nobodyさん
2008/11/23(日) 09:28:04ID:???mod_mime_magicあたりが効いてるとかじゃないかな
0466nobodyさん
2008/11/23(日) 10:12:13ID:7jpbyfc1ファイル偽装を防ぎたいけど、
AddType image/png png
AddType image/gif gif
AddType image/jpeg .jpg jpeg
こんな感じで書いても phpinfoとか余裕で実行できちゃうんですよね。
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule mime_module modules/mod_mime.so
# TypesConfig describes where the mime.types file (or equivalent) is
TypesConfig /etc/mime.types
でmime.typesの一覧にはちゃんとjpgも入ってるんですけど・・・
mod_mime_magicが先頭の数バイトを読んで、phpと判断してphpに処理を
渡しちゃうんですかね・・・
そうすると、スレチですか。。
0467nobodyさん
2008/11/23(日) 10:40:35ID:7jpbyfc1もう少し調べてみます
0468nobodyさん
2008/11/23(日) 12:42:11ID:???うる覚えだけどPHPからシェルコマンド実行する場合は
配列かなんかで戻ってきて、確か1番目が名前かサイズ?で
2番目とかにファイルタイプが入ってた様な気がする。
もしかしたら改行で分割して自分で配列に入れてたかも。
まあ細かい手順はともかく、*nix系なら、
fileコマンドでチェックすれば、拡張子にかかわらずファイルのヘッダ見てくれる。
0469nobodyさん
2008/11/23(日) 12:51:12ID:???んなもんが余裕でできてたら今ごろ被害者続出だろ
0470nobodyさん
2008/11/23(日) 16:42:57ID:???こんなコードが、問題なく動くようなのですが、PHPマニュアルのどこを見たら
この件が書かれているでしょうか?
<?php
class Test {
fuction() {
var_dump($this->hogehoge); // 定義に存在しないインスタンス変数にアクセス。
}
}
$test = new Test();
$test->hogehoge = 3;
var_dump($test->hogehoge); // 正常に実行。int(3)
$test->fugafuga(); // 正常に実行。iint(3)
?>
http://www.php.net/manual/ja/
PHP4、5の「クラスとオブジェクト」を読みましたが、載っていないようです。
0471nobodyさん
2008/11/23(日) 16:43:21ID:I9fabXwC0472nobodyさん
2008/11/23(日) 16:57:45ID:I9fabXwC0473nobodyさん
2008/11/23(日) 17:01:02ID:???0474nobodyさん
2008/11/23(日) 17:15:59ID:I9fabXwCJavaやRubyではできませんから、自分もそうだと思ってました。
PHPマニュアルで、これに関する記述を探していますが見つかりません。
0475nobodyさん
2008/11/23(日) 17:18:17ID:???お前試してないだろ
0476nobodyさん
2008/11/23(日) 17:22:43ID:I9fabXwC<?php
class Test {
function fugafuga() {
var_dump($this->hogehoge);
}
}
$test = new Test();
$test->hogehoge = 3;
var_dump($test->hogehoge);
$test->fugafuga();
?>
0477nobodyさん
2008/11/23(日) 17:49:13ID:I9fabXwC同じくcakeのソースで、このような記述が見つかりました。
変数名をパラメタライズしている点で、可変変数に似ています。
これについても、該当するPHPマニュアルを探しています。
class Test {
var $hoge = 1;
function fuga() {
$x = "hoge";
var_dump($this->$x); //これはOK。
}
}
$test = new Test();
$test->fuga(); // OK。
$y = "hoge"
var_dump($test->$y); // これはNG.
特に知りたいのは、レシーバが $this なら実行できて、$testのような実変数
だと実行できない理由です。
0478nobodyさん
2008/11/23(日) 18:17:42ID:???だと実行できない理由です。
実行できない理由は、そういう風に作られているから
実行できないように作られた理由は、知らん
0479nobodyさん
2008/11/23(日) 18:22:18ID:???>問題なく動くようなのですが
は親クラスで何か定義されてるんじゃないの?
>>477
「クラスの中」と「クラス内のメソッド」と「外」は、
それぞれスコープ違うよ。
じゃ無いとインスタンスの内部に保存した変数が
上書きされちゃって困るだろ。
0480nobodyさん
2008/11/23(日) 18:33:47ID:???>>731
それはわかってますし、>>726でも「ローカル変数」って書いてます。
取り合えず>>730のスレにお越しください。
733 名前: nobodyさん [sage] 投稿日: 2008/11/23(日) 18:08:06 ID:???
喧嘩がしたかったようだね('A`)
734 名前: nobodyさん [sage] 投稿日: 2008/11/23(日) 18:12:23 ID:???
わざと喧嘩腰でデタラメ書いて、
顔真っ赤にした人が正解を書くのを釣るタイプ。
このタイプはもう飽きたよ。
735 名前: nobodyさん [sage] 投稿日: 2008/11/23(日) 18:12:48 ID:???
>>733
> 喧嘩がしたかったようだね('A`)
なんでそうなるのかぜんぜん理解できない。
誤解を訂正して誘導しただけじゃん。
736 名前: nobodyさん [sage] 投稿日: 2008/11/23(日) 18:14:32 ID:???
>>734
ぜんぜん釣りじゃないよ。
どこがデタラメなのか真剣に知りたいんだけど。
0482nobodyさん
2008/11/23(日) 18:35:38ID:I9fabXwC> は親クラスで何か定義されてるんじゃないの?
されていません。>>476のコードをお試しください。
> >>477
> 「クラスの中」と「クラス内のメソッド」と「外」は、
> それぞれスコープ違うよ。
それは知っています。私は元々Java屋です。
しかし、スコープが違うことと、
$this->変数 は実行できても、変数->変数 が実行できないこととは
あまり関係がないと思うのですが。
いずれにせよ、これらの機能は、フレームワークのソースで使われているわけ
ですから、undocumentedな隠し機能をではないだろうと思ったのですが、典拠
を見つけられなくて困っているのです。
0483nobodyさん
2008/11/23(日) 18:49:20ID:I9fabXwC【PHP】フレームワーク CakePHP 4ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1213892680/699-
私はCakeスレの699です。ソースを読んでいて分からなかったことを質問しただ
けのつもりだったのですが、どうも意図が伝わらず、誤解を解こうとしたとこ
ろ、>>480のようなことになりました。
釣りや煽りの意図はまったくありませんが、意図が伝わらなくてイライラして
いたことは事実です。ごめんなさい。
0484nobodyさん
2008/11/23(日) 18:58:46ID:???var $hoge = 1;
function fuga() {
$x = "hoge";
var_dump($this->$x); //これはOK。本来$thisは要らないけど、同じクラス内だから。
}
}
$test = new Test();
$test->fuga(); // OK。testインスタンス内のfugaメソッドを呼んでるから。
$y = "hoge"
var_dump($test->$y); // これはNG. $yはtestインスタンスの中に無いから。
0485nobodyさん
2008/11/23(日) 19:08:59ID:???0486nobodyさん
2008/11/23(日) 19:12:17ID:???やってみたけどvar_dump($test->$y);も実行できたよ(int(1))
> 特に知りたいのは、レシーバが $this なら実行できて、$testのような実変数
> だと実行できない理由です。
$y = "hoge"の末尾にセミコロンがない
0487nobodyさん
2008/11/23(日) 19:13:15ID:I9fabXwC> var_dump($this->$x); //これはOK。本来$thisは要らないけど、同じクラス内だから。
細かいですが、$thisは要るでしょう?無ければ fuga()の出力は 1ではなく
"hoge"になってしまいます。
> var_dump($test->$y); // これはNG. $yはtestインスタンスの中に無いから。
ここが要点だと思うのですが、$testインスタンスの中の変数でしか、プロパティ
名のパラメタライズができないということでしょうか?
試してみました。
<?php
class Test {
var $x = "hoge";
var $hoge = 1;
function fuga() {
$x = "hoge";
var_dump($this->$x); //これはOK。
var_dump($this->{$this->x}); //これはOK。
}
}
$test = new Test();
$test->fuga(); // OK。
var_dump($test->{$test->x});// OK。
?>
おお、最後の行もちゃんとint(i)が出力されます!ありがとうございます。
この件について、参考になる資料をご存知でしたら、教えていただけないでしょうか?
あと、どなたか >>470(>>476)についてもお願いいたします。
0488nobodyさん
2008/11/23(日) 19:21:59ID:I9fabXwC大正解…。自分も確認しました。セミコロンか…ごめんなさい。
プロパティ名はどこでも変数でパラメタライズできる、ということのようです。
メソッドでも行けますね。
$y = "fuga";
$test->$y(); //int(1)
ありがとうございました。よろしかったら資料をご紹介ください。
あと、どなたか >>470(>>476)についても。
0489nobodyさん
2008/11/23(日) 19:29:12ID:???var_dump($test->$y);を
var_dump($test->y);
と思ってて、この人何言ってるんだろうと思ってた。
var_dump($test->hoge());が
$a = "hoge";
var_dump($test->$a());
って出来る筈なのに出来ないのは何故だーって話だったのか。
0490nobodyさん
2008/11/23(日) 19:30:26ID:CCu6AGm00491nobodyさん
2008/11/23(日) 19:34:59ID:???できない、って書こうとしたが、調べたらできるようだ。
31. WinBinder でデスクトップアプリケーション:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070402/267112/
> PHPで作れるGUIアプリケーションは、Webアプリケーションだけではありま
> せん。 WinbBnderを使えば、Windows上でデスクトップアプリケーションを作
> 成すること も可能です。
0492nobodyさん
2008/11/23(日) 19:55:18ID:I9fabXwC$test->"fuga"(); // これはダメですが、
$test->{"fuga"}(); // これはOK!
しかし通常の関数は、変数じゃないとダメ。
function fugafuga() {
var_dump("fugafuga");
}
$y = "fugafuga";
$y(); // これはOK。
{"fugafuga"}(); //こっちはダメ。
?
どこにこの仕様は載ってるんでしょう!?
0493nobodyさん
2008/11/23(日) 20:24:40ID:???リテラルの動作とブレスの動作はそれぞれ意味があって、
不思議とは思わないんでスルーしてましたけど、
どっかに公開されていてもいいはずですよね。
Zendのテストにはその手の設問は結構あるから、日本語化されていないどこかに
リソースがあるんでしょうけど。詳しい人いないですかね。自分も興味あります。
0494nobodyさん
2008/11/23(日) 20:24:45ID:???それは正式な仕様じゃないと思う。
おっぱいが式の前にパースされて、たまたま動いてるだけかと。
一手間増えても常に
$y = "fugafuga";
$hoge->$y;
にしておいた方が安全。
0495nobodyさん
2008/11/23(日) 20:25:45ID:???失礼、レスし忘れておりました。
私の質問の意図は、おっしゃるとおりです。
> と思ってて、この人何言ってるんだろうと思ってた。
Cakeスレの人たちもそのように誤解したのでしょうか。自分でははっきり書い
たつもりだったのですが、実際は分かりにくかったようです…。
0496nobodyさん
2008/11/23(日) 20:28:25ID:???0497nobodyさん
2008/11/23(日) 20:30:02ID:???標準クラスの挙動が知りたいだけなら、Reflectionでソースを見ればだいたいわかる
0498nobodyさん
2008/11/23(日) 20:30:32ID:DgqkQkfl↓を試したんですが出来ませんでした。どこを直せばよいでしょうか?よろしくおねがいします。
<?php $data = array(
'1件目のデータ',
'2件目のデータ',
'3件目のデータ',
'4件目のデータ',);
require_once 'Pager/Pager.php';
$params = array(
'itemData' => $data,
'perPage'=> 2
"curPageSpanPre" => "[",
"curPageSpanPost" => "]"
);
$pager = & Pager::factory($params);
$pages = $pager->getPageData();
$links = $pager->getLinks();
foreach ($pager->getPageData() as $val) {
echo $val . '<br>';
}
echo '<p>' . $links['all'] . '</p>';
?>
0499nobodyさん
2008/11/23(日) 20:35:19ID:???> $a = "hoge";
> var_dump($test->$a());
> って出来る筈なのに出来ないのは何故だーって話だったのか。
出来るよ?
0500nobodyさん
2008/11/23(日) 20:39:18ID:I9fabXwCおお、興味を持ってくれた方が。
これはメタプログラミングに属する話題で、RailsのクローンであるCakeを成り
立たせた重要な技術だと思うんです。
>>494
そうですね。これは避けます。
そもそも、リテラルで呼び出すメリットはありませんから。
(関数名が固定だったら、直接 fugafuga() と書けば良い)。
>>496
書いてますので、冷静に読み直していただいたら、別の見解があるかもしれま
せん。つうか嘘って何?
>>497
よく分かりませんが、リフレクション機能のCのソースを読めとおっしゃってる
のでしょうか?
ご回答いただきありがとうございます。いったん所用でここを離れます。
0501nobodyさん
2008/11/23(日) 20:58:52ID:???>おお、興味を持ってくれた方が。
>これはメタプログラミングに属する話題で、RailsのクローンであるCakeを成り
>立たせた重要な技術だと思うんです。
get_class_vars
get_class
get_class_methods
call_user_func(array($obj, $method_name), $parameter);
辺りでどうにでもなると思うけど。
■ このスレッドは過去ログ倉庫に格納されています