【PHP】下らねぇ質問はID出して書き込みやがれ 128
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2013/05/26(日) 23:01:58.78ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 127
http://kohada.2ch.net/test/read.cgi/php/1363698829/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0810nobodyさん
2013/07/23(火) NY:AN:NY.ANID:j5IjTUb1回答者による質問者に対する質問はIDを出す必要はないでしょ。
このスレの方針とやらを考えるなら、なおさら。
0814nobodyさん
2013/07/23(火) NY:AN:NY.ANID:0dqisodVそれのsmartyファイルのフォーム名がほとんどform1なんですけど、なぜなんですか?
jsの処理でform名を固定しているからですかね
0816nobodyさん
2013/07/23(火) NY:AN:NY.ANID:???0817nobodyさん
2013/07/23(火) NY:AN:NY.ANID:0dqisodVまともに答えられないならむりに返信しなくていいぞ
0818nobodyさん
2013/07/23(火) NY:AN:NY.ANID:j5IjTUb1ほんとにjsの処理にform名が出てきてるの?
いまやform名に依存する処理なんてめったなことじゃ書かないし、適当につけてるだけだと思うんだけど。
0821nobodyさん
2013/07/23(火) NY:AN:NY.ANID:j5IjTUb1そうなんですか?回答者は何をすればよいのでしょうか。
0823nobodyさん
2013/07/23(火) NY:AN:NY.ANID:???IDを付けさせすれば、最小限の質問内容でも
回答者が全ての可能性を精査し、
その中で質問者に最も相応しいと思われるものを
ありがたく返答させていただく、そういうスレッドだ。
質問者はIDさえ出せばあとは王様として何をしても許される、
そういうところであると知れ、皆の者!
0824nobodyさん
2013/07/24(水) NY:AN:NY.ANID:eh4z8estおまえの考えなんてきいてねーよ
0825nobodyさん
2013/07/24(水) NY:AN:NY.ANID:kUBhaFmKほんとに?
今回の場合、スレ違いと回答すべきだったんじゃないですか?
0826nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???ただの2ちゃんねる
0827nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???0828814
2013/07/24(水) NY:AN:NY.ANID:RTSfazD+知ってる人教えてください
0830nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???site.js辺りを見たらわかるよ
0831nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???あんなんで海外進出って、無理やろ
0832nobodyさん
2013/07/24(水) NY:AN:NY.ANID:RTSfazD+eccubeのコーディングってレベル低いんでしょうか
自分phpの大規模アプリケーションはeccubeしかしらないので
0833nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???他人がソースを読める言語じゃない
0834nobodyさん
2013/07/24(水) NY:AN:NY.ANID:r13N69WFスタンダードなものがあると思ってたらそうでもないのですね。
ざっと見た感じ、
PHP::PDF
PHP::Haru
FPDF
などがありました。
それぞれの特徴を比較したような記事を探しているのですが、
何かありませんか?
0835nobodyさん
2013/07/24(水) NY:AN:NY.ANID:ggp4C653PHP側で$_SERVER['HTTP_REFERER']と$_SRVER
0836nobodyさん
2013/07/24(水) NY:AN:NY.ANID:ggp4C653PHPかMySQL側の問題か分からなかったのでこちらで質問させてもらいます。
HTMLからフォームがPOSTされたときPHP側で
$_SERVER['HTTP_REFERER']と$_SRVER['REMOTE_ADDR']を取得し
DBに保存しています。
そのときリファラを$ref、IPを$ipに入れて
IPは$ip2long = ip2long($ip);として変換しています。
そしてMySQLの"URL_ip2long"と"ip2long"というカラムを用意し
$sql = "INSERT INTO tbl1 VALUES (\"${r}_$ip2long\", ip2long);";
というSQL文で送っています。
するとMySQLのほうの「URL_ip2long」と「ip2long」の二つのip2longの数値がバラバラになることがあります。
同じときもあるのですが、なぜ同じ変数でsql文を作っているのにバラバラになるのでしょうか?
0837nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???桁数足りてないんだよきっと
0838nobodyさん
2013/07/24(水) NY:AN:NY.ANID:ggp4C653はっ!それは盲点でしたURL_ip2longはvarchar(255)で
ipはint(11)でした。
intが短すぎるのですね最大の15桁くらいで問題ないでしょうか?
0839nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???格納できる数値の桁数とかではありません。 ゼロ埋め設定したときの桁出しかありません。
intでは足りません。
0840nobodyさん
2013/07/24(水) NY:AN:NY.ANID:kUBhaFmKそうなの?
0841nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???足りないだろうな。BIGINT (64bit)にするとか?
0842nobodyさん
2013/07/24(水) NY:AN:NY.ANID:kUBhaFmKでこと足りると思うんだけどなぁ。
11なのは符号を考慮してなのかな。
0843nobodyさん
2013/07/24(水) NY:AN:NY.ANID:mtAWVzwD0844nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???0845nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???他人の比較記事だと着眼点が求めるものかわからない。
それぞれの紹介記事やサンプルコード、APIを眺めるのが早いと思うけど。
0847nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???0848nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???◆ケース1
<html>
<head>title</head>
<body>
<?php
処理
?>
</body>
</html>
◆ケース2
<?php
echo "<html>\n";
echo "<head>title</head>\n";
echo "<body>\n";
処理
echo "</body>\n";
echo "</html>\n";
◆ケース3
<?php
setHeader( 'title' );
処理
setFooter();
関数は別ファイルで定義してあるとして、私は使い回しができるケース3が好きだし、大学の講師もケース1を使っていたのですが、javascriptやcssの記述がめんどうになります。
しかも友達がケース1を使っていたりして一緒に何かを作るってなったときやりにくいです。
一般的に作法が良いといえるのはどれでしょうか?プロの世界ではどれが正しいのですか?
0849nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???0850nobodyさん
2013/07/24(水) NY:AN:NY.ANID:kUBhaFmKただ2はひどい、せめてヒアドキュメントかnowdocをすすめる。
メジャーなフレームワークでも試してみたら?
0852nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???ここは底辺1%にランクインするくらいの糞スレだな
0853nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???どうせこれ立てたのお前らだろ
http://kohada.2ch.net/test/read.cgi/php/985848031/
0854nobodyさん
2013/07/24(水) NY:AN:NY.ANID:3RFLgY0Nありがとうございます
どれが正解とかはないのですね
smartyやフレームワークを試してみます
0856nobodyさん
2013/07/25(木) NY:AN:NY.ANID:2TH+2Iiwピリオドの次の文字が大文字のときに限り半角スペースを挿入したいのですが
良い方法はないでしょうか?
0857856
2013/07/25(木) NY:AN:NY.ANID:???スレ汚し申し訳ございません。
0858nobodyさん
2013/07/25(木) NY:AN:NY.ANID:miApmhUP1%じゃ多すぎる。せめて0.1%ぐらいを目指さないとな。
>>856
後方参照というキーワードだけで大丈夫かなぁ。
0859nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???$str = "ver.2 test.Test";
echo str_replace(array_map(function($v){return".$v";},range('A','Z')),array_map(function($v){return". $v";},range('A','Z')),$str);
0860nobodyさん
2013/07/25(木) NY:AN:NY.ANID:3t1Hdtr4マジックメソッドはないよね。
ArrayObjectの継承で対応するしかないのかな?
$obj->name; // publicなnameプロパティの呼び出し
$obj['name']; // 配列形式でも呼び出したい
0861nobodyさん
2013/07/25(木) NY:AN:NY.ANID:3t1Hdtr4ArrayAccessインターフェイスの実装で対応できるみたいだ。
これからテストしなおすけど、後者の方がシンプルで他言語に近いし
$obj['id'] = 3;
みたいなコードをハックして処理を加えたりもできるので
当方のニーズにも合うっぽい。
http://php.net/manual/ja/class.arrayobject.php
http://php.net/manual/ja/class.arrayaccess.php
0862nobodyさん
2013/07/25(木) NY:AN:NY.ANID:3t1Hdtr4×ArrayAccessの実装で
○ArrayAccessを実装するだけでも
ArrayObjectはArrayAccessをimplementしている。
・・・と書いてから思ったけど、せっかくArrayObjectがあるんだから
ArrayObjectの各実装部分を必要な範囲で拡張すればいいってことか。
了解。
0863nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???0865nobodyさん
2013/07/26(金) NY:AN:NY.ANID:J0GaH00B同じメアドに送ったメールでも、届く時と届かないときがある。
以前はこんなことなかったんだけど。
0867nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???日記帳に書いてろクズ
スレ違いの内容を平気で書き込むてめーみたいなクズはこの世にいらねーんだよ
糞みたいなコード書いてる暇があったらさっさとプロバイダ解約しろ
0868nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???ダックタイピングって考え方があるじゃん。
データを保持するだけのHashライクはオブジェクトをしょっちゅう書くと思うけど、
配列(ハッシュ)を受け取る前提のコードに対して
その都度変換して渡さなきゃいけないんじゃしょうもないわけだから。
PHPではともかく、オブジェクトが[]に応答するとか
ハッシュと区別なくループに渡せるよう設計するのはありふれてるし
データの出し入れは[]のみにして他の機能(メソッド呼び出し)と区別するような設計も珍しくない。
だからこそPHPもそのためのライブラリを標準で用意してるはずだし。
0869nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???そもそもなんで
> $obj->name; // publicなnameプロパティの呼び出し
> $obj['name']; // 配列形式でも呼び出したい
こんなことしたいの?
0870nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???> データを保持するだけのHashライクはオブジェクトをしょっちゅう書くと思うけど、
> 配列(ハッシュ)を受け取る前提のコードに対して
> その都度変換して渡さなきゃいけないんじゃしょうもないわけだから。
どういう意味?
0873nobodyさん
2013/07/26(金) NY:AN:NY.ANID:uVKddw2H最後のアンダースコアより右の部分を返すメソッドをこんな風に書きました。
$class = new \ReflectionClass(get_called_class());
$screen_name = strtolower($class->getShortName());
$screen_name = explode('_', $screen_name);
$screen_name = array_pop($screen_name);
return $screen_name;
自分で書いといてあれですが、途中「$screen_name =」が連続していて
なんだか気持ち悪いです。スマートな書き方はないでしょうか
0875873
2013/07/26(金) NY:AN:NY.ANID:uVKddw2H$screen_name = strtolower(array_pop(explode('_', $class->get_ShortName())));
こういうことですよね。1行で済んですっきりしました。ありがとうございました!
0876873
2013/07/26(金) NY:AN:NY.ANID:uVKddw2HOnly variables should be passed by reference
と怒られてしまいました。array_popは分けないとだめみたいですね。
$screen_name = explode('_', strtolower($class->getShortName()));
$screen_name = array_pop($screen_name);
これで妥協しました。
0879nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???http://codepad.org/wGAI38rK
>>859のままだと遅かったのでarray_mapとrangeを使っていたところを
preg_match_allとforeachにしてみたところ
str_replace => 0.10132193565369
preg_replace => 0.14550995826721
となりました。preg_replaceの方が早そうに思えたのですが
str_replaceのほうが早いという結果に。
0880nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???http://codepad.org/nKDgWIfh
0881nobodyさん
2013/07/26(金) NY:AN:NY.ANID:CaK9dws10882nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???0883nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???比べるなら
function testPregReplace($str)
{
return preg_replace('/\.(?=[A-Z])/','. ',$str);
};
だろ。
0884nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???0885nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???思ってましたorz
>>883
こう書けばよかったんですね。
0.039562940597534に縮まりました。早い!
勉強になります。ありがとうございました。
0886nobodyさん
2013/07/26(金) NY:AN:NY.ANID:IuXn2I5X参考書はPHPとMySQLのものを1冊づつ買うのと、
まとめて解説しているものを1冊買うのとではどちらのほうがいいですか?
また、おすすめの参考書などはありますか?
wordpressで簡単なテーマを作るくらいはできるので、
PHPとMySQLの基礎はなんとなくわかります
0888nobodyさん
2013/07/26(金) NY:AN:NY.ANID:IuXn2I5Xどうしてでしょうか?
基本的に、ネットで勉強するよりも参考書で勉強するのが好きなので、
参考書を使いたいです
特に今のような初級者レベルの時にはです
0889nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???0890nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???初心者がやゃっちゃいけないのは全体を見渡せないうちにブログなどで適当な知識をつまみ食いすること。
これは網羅性の無さと一貫性の無さとで初心者には害以外の何物でもない。
唯一の例外は公式ドキュメント「のみ」を片っ端から読んでいくことだけど、
きっと無理。それが出来たら凄い。
ある程度の知識があってじっくり勉強する気があるんならPHPはパーフェクトPHP、MySQLは徹底入門。
これ以外ない。
0891nobodyさん
2013/07/27(土) NY:AN:NY.ANID:vfwlgbY0ありがとうございます。
レベルはweb系の仕事で使えるくらいを目指しています。
パーフェクトPHPは評判を聞いてパラパラと読んだことがあります。
ですがまだこれを読むのは早いと感じたので、もう少しかんたんな参考書を探しています。
もしご存知でしたらよろしくおねがいします。
0892nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???PHPのもっとも簡単な参考書は公式ドキュメントだと思う。
本は、より分かりにくく説明するのがかっこいいみたいなものが多く、
こんなに簡単なことをあそこまで回りくどく書くのはすごいと思ったりした。
0893nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???あとはオライリーの初めての〜が体系的で網羅されてるんで良かったんだけど、
いかんせんもう古い。
確かにPHPはマニュアルの出来が他に比べて段違いに良く出来てるから
脇目もふらずマニュアルだけっていうのも良いかもしれない。
あとは実は読んだことないんだけど、
シリーズの他の内容からして独習PHPかなぁ。
0894nobodyさん
2013/07/27(土) NY:AN:NY.ANID:5jmrFCTnpecl oauthなどのライブラリは何のためにあるのでしょうか?
0895890
2013/07/27(土) NY:AN:NY.ANID:???自己顕示欲を満たしたいがために書きこまれた内容が多く、情報の信頼性はWEB上の文書としては最低ランク。
いつ返事がもらえるか分からないといった点も憂慮すると、少なくとも最初に選択肢から消える。
分かってない馬鹿がいると困るから念のために追記しておく。
0898nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???同じような入門者向けの本ばかりな感じで。
執筆者がマニアックな研究成果を書籍化する情熱を持ちにくいとか、
PHPの本なんか出したら馬鹿にされるとでも思ってるのかもしれないが
今くらい言語が成長してきたら、なんかあってもいいハズw
言語をマニアックに探求したようなボリュームのある本が読みたいー。
目からウロコ的な体験したいー。
0899nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???while () : endwhile; とか、
declareとか
0903nobodyさん
2013/07/28(日) NY:AN:NY.ANID:???0904nobodyさん
2013/07/28(日) NY:AN:NY.ANID:???pecl oauthは2.0対応してないのかな・・・たぶん
0905nobodyさん
2013/07/29(月) NY:AN:NY.ANID:L7NTB0j9・すべての文字列、プリミティブ型をラップ
・getter/setterを使わない
この2つでつまずきました。ツイッターボットを作ってるんですが
ツイート内容$messageを管理するMessageをつくりました。
class Message
{
private $message;
public function __construct($mesage)
{
$this->validate($message); // 文字数140文字以上で例外投げる
$this->message = $message;
}
}
ここまで書いて思ったんですけど、$messageがほしいとき
絶対getter必要ですよね?getter使わないうまい方法あるんでしょうか?
教えていただきたいです。
0906nobodyさん
2013/07/29(月) NY:AN:NY.ANID:???0907nobodyさん
2013/07/29(月) NY:AN:NY.ANID:L7NTB0j9とのこと。ここ見てやってます
http://www.slideshare.net/yojik/ss-1033616
レス数が900を超えています。1000を超えると表示できなくなるよ。