PHP上級者が集まるスレ at PHP
[2ch|▼Menu]
[前50を表示]
150:nobodyさん
10/07/09 01:40:03 .net
上級者の証じゃねーよ。当たり前のことだ。
protectedの使い方が分からないのは雑魚の証

151:nobodyさん
10/07/09 02:05:35 .net
むしろpublicとprotectedしか使わない俺が来ましたよ。

152:nobodyさん
10/07/09 06:34:20 .net
privateとgetter/setter派が来ましたよ。
private以上の権限が必要ならprotectedにしてやらんこともないが、
それが美しいとは思えないね。

で、何でprotected如きで上級者判定してんのw?

153:nobodyさん
10/07/09 06:56:15 .net
継承先で使いたいメソッドはどうすんの

154:nobodyさん
10/07/09 07:28:38 .net
>>153
うちの職場 public wwwwwwww

155:nobodyさん
10/07/09 07:32:34 .net
>>152
ソースがムダに長くなるからやめれ

156:nobodyさん
10/07/10 02:37:53 .net
protectedなんて、
TemplateMethodを適用する時か、
Decoratorを適用した基底クラスを作る際の移譲先を保持する時ぐらいだな。

>>155
ライブラリの外に公開するValue Objectの場合、getter/setter型にしておいた方が仕様変更に追随しやすくできるよ。


157:名無しさん@そうだ選挙に行こう
10/07/10 10:15:04 .net
全部publicでいいよもう
ってBASICerが言ってました

158:名無しさん@そうだ選挙に行こう
10/07/10 11:40:57 .net
phpのglobal変数について質問があります。
global変数はクラス内に定義する事は出来ないのがphpの仕様なのでしょうか?

//文法エラーが発生
class TestClass
{
  global $test1;
  static public function TestFunction( )
  {
    echo "test";
  }

}

//OK
class TestClass
{
  static public function TestFunction( )
  {
    global $test1;
    echo "test";
  }
}


159:名無しさん@そうだ選挙に行こう
10/07/10 11:59:11 .net
>>158
クラスの定義にglobalを記述したい理由が分からん。
staticじゃだめなの?

160:名無しさん@そうだ選挙に行こう
10/07/10 12:03:10 .net
>>159
<?php
<html>
<head></head>
<body>
<!-- -->

</body>
</html>

161:名無しさん@そうだ選挙に行こう
10/07/10 12:10:34 .net
>>159
途中で誤爆してしまいました。すみません。
用は以下の用な事をしたいのです。

<< やりたいコード @ >>

<?php
  //POSTデータを取得しグローバル変数へ格納
  $test1 = $_POST["name_mei"];
?>
<html><head></head><body>
  <?php
       TestClass::TestFunctionA();
       TestClass::TestFunctionB();
  ?>
</body></html>
<!--
    以下にPHPのコードが続きます。
    ※改行が多過ぎますエラー回避の為
-->

162:名無しさん@そうだ選挙に行こう
10/07/10 12:27:26 .net
<< やりたいコード A >>
>>161の続きです。

<?php
class TestClass
{
  global $test1;
  static public function TestFunctionA( )
  {
     $w = $test1;
     $w .= "さん";
     echo $w;
  }
  static public function TestFunctionB( )
  {
     $w = $test1;
     $w .= "ちゃん";
     echo $w;
  }
}
?>


163:名無しさん@そうだ選挙に行こう
10/07/10 13:45:50 .net
上級者・・・が集まるスレ・・・だと?

164:名無しさん@そうだ選挙に行こう
10/07/10 21:45:48 .net
上級釣り師

165:nobodyさん
10/07/12 04:23:32 .net
>>162
TestClass::$test1 = $_POST["name_mei"];
staticでなく、globalを使う理由は?

どちらにせよ上級者はやらん設計だと思うがw

166:nobodyさん
10/07/13 21:18:11 gdo55WeB.net
htmlspecialchars関数についてお尋ねします。
この関数に文字列を2回通した場合、アンパサンドが二重に変換されてしまいます。
<→&lt;→&amp;lt; のようにです。

Ver5.2.3からは、第四引数「double_encode」が追加されたので、
これを防止する事ができると思いますが、
それ以前のバージョンの場合に回避方法はありませんでしょうか?

167:nobodyさん
10/07/13 22:10:27 .net
Ver5.2.3のソースコードを移植する

168:nobodyさん
10/07/14 00:13:58 .net
>>166
一度デコードするか、自作関数作ればいいんじゃない?

上級者を自負するなら、そもそも2回通すロジックを見直すべきだとは思うが・・・・・・

169:nobodyさん
10/07/14 05:54:21 .net
> 2回通すロジックを見直すべき

はげどう

170:166
10/07/14 07:24:12 .net
>>168-169
レスありがとうございます。
上級の方がいそうなスレなのでお尋ねしました。

仰るとおり、2回通すロジックが問題ですが、
誤って2回通してしまうような場合も想定して、他にも方法がないか模索していました。
また、WAFのようなものでサニタイズされた場合、
ソースを修正しなければ、やはり二重に処理されてしまいますので、やはり何か手が打ちたかったのです。

ちなみに、1度デコード(あるいは&だけデコード)する方法も考えましたが、
URLリンク(www.asp-edita.jp)
辺りや、リンクされている記事を読んで結局はコチラで質問した次第です。


171:nobodyさん
10/07/14 13:23:56 .net
htmlspecialcharsはあくまで
「HTML内に出力するときはエスケープしなきゃダメでしょ><!」
って関数なので、htmlとして出力する時にしか使わない。
てことはまったく使わないか、使うとしても1回。

(他作WAFだろうが自作PHPだろうが)「誤って」2回通すとすれば、
それは局所的なバグとかじゃなくて、思想・理解的な間違いだと思われる。
今後の似たようなバグの根絶のためにも、思想の見直しを。

そうは言っても…って話も、まあ、あるんだろうけど(笑)

172:nobodyさん
10/07/14 15:34:35 uN19CneF.net
スレリンク(prog板)

173:166
10/07/14 20:41:25 .net
>>171
皆さん、レスありがとうございました。
自動的にhtmlspecialcharsと同様にサニタイズするWAFが有る・無しにかかわらず、
同じソースコードを使いたかったのです(--;

「関数を2回通す」というのは悪い例えでした、すみません。


174:nobodyさん
10/07/15 00:12:50 .net
docomo携帯から閲覧した時に文字に下線が引かれる様にするには
どうすれば良いですか?

<U>文字の下線</U>

こんな感じのタグをhtmlに入れても
docomoからは下線が表示されません。

175:nobodyさん
10/07/15 00:31:12 .net
>>174
<hr>しか無理じゃね?
wordpressとかなら消えるんじゃね?

176:nobodyさん
10/07/15 00:54:39 .net
>>175
<U>タグが使え無いのは、docomo仕様なのでしょうか?

177:nobodyさん
10/07/15 01:14:17 .net
>>174
URLリンク(detail.chiebukuro.yahoo.co.jp)
ちったー調べたら?

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<u>アンダーライン引かれる?</u>
hrは?<br />
<hr />
</body>
</html>

ちなみに i モードHTMLシミュレータII で見た引かれてたよ
ktaystyleとか使ってるなら出力みよーよ

178:nobodyさん
10/07/15 05:22:22 .net
もはやPHPかすりもしない質問kt

179:nobodyさん
10/07/20 18:13:27 .net
URLリンク(test)

として通常は動作させるのを

URLリンク(test)

として同じ挙動をさせるにはどうすれば良いでしょうか?

180:nobodyさん
10/07/20 21:09:14 .net
mod_rewrite

181:nobodyさん
10/07/20 23:16:15 .net
>>180
お勧めの解説サイトプリーズ

182:nobodyさん
10/07/21 00:58:01 .net
>>181
「mod_rewrite」でググってこい

183:nobodyさん
10/07/23 11:36:54 AgQn7g4l.net
PHPで車は動かせますか?

上級者なら出来るって聞いたものでここで質問させていただいてます。

184:nobodyさん
10/07/23 15:31:24 .net
できます。次

185:nobodyさん
10/07/24 13:56:23 C0x7DFuy.net
このスレのレスはPHPで自動化されているって本当ですか?

186:nobodyさん
10/07/24 19:46:46 .net
本当です。次

187:nobodyさん
10/07/24 20:14:35 .net
なんでpdoモジュールを書いてる奴らはソースをどっちかに纏めないんだ?

188:nobodyさん
10/07/26 07:56:54 .net
>>187
どういういみでござるか?

189:PHP@最強戦士
10/07/26 16:55:45 x+pw7Ejc.net
PHPいいですよね〜クソさ加減が

PHPつかっててきずいたんですが PHPのコミュって
珍言ばっかりほざいてる人たちがいてとても素晴らしいと思いますよ
年齢層が低くて 頭の低レベルな人たちと交流できるので素晴らしいです
ustreamでPHPユーザのクソ発言をみると喜んじゃいます!!おお

それとPHPが無いと死にそうです PHPはド素人でもできるので
html=PHPですよね

PHPの良さはPHPがわかればhtmlとCSSがわかるってところですよね
脆弱性が多いところもいいんですよ
ワタシはPHP 20年つかってるんですが 最高なのでやめれませーーーーーーーーーーーん!!!!!!!!!!

趣味はPHPユーザーの珍言、クソブログを見る事です^^

Perlやってる人ってバカですよね
この前Perlやってる人に話かけられました

Perlユーザー「君、Unixとかしってるかい?PHPみたいなくそ言語やってておもしろい?」
ワタシ「unixとか時代遅れですね そんなの知りません! いまどきPHPですよ! perlとか本当時代遅れですね!! 何年前の人ですか?」
Perlユーザー「あんたなめてんの?」
ワタシ「キャーこわい! PHPをばかにしないでください! PHPがあればwebアプリつくれるんですよ?」
Perlユーザー「ねえ ターミナルひらいて sudo rm -rf / ってうって」
ワタシ「怖いわ!ははい! やめてください 開きました うちました」
Perlユーザー「そのまま放置しといて」
ワタシ「なんかパソコン起動しなくなっちゃいました〜泣」

190:nobodyさん
10/07/26 17:11:53 .net
PHPはいいですね

まで読んだ。

191:nobodyさん
10/07/26 17:22:08 x+pw7Ejc.net
>>190
てめえはPHPユーザーだろ?
はやく氏ねよwwwwwwてめえみたいなPHPユーザーが消えれば平和になる

192:nobodyさん
10/07/26 17:25:32 .net
てめえはP

まで読んだ。

193:nobodyさん
10/07/26 17:45:49 .net
八百忠が消えれば平和になる

まで読んだ

194:PHP=クソ(笑)
10/07/26 23:34:55 z/NbSmjH.net
名前の通りです(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑)

195:nobodyさん
10/07/27 00:42:12 .net
道ばたに落っこちているウンコに対して、
「ウンコ!このウンコ!・・・おまえはウンコ(笑)・・・ウンコ(笑笑笑)」
と一人叫んでいる >>194 さんを想像したら心がほっこりした

その余裕が顔に出たのか、モテキ到来で彼女が出来ました。
本当にありがとうございました。

196:名無しさん@お腹いっぱい。
10/07/27 07:38:03 Q+p+NFYS.net
だからなに?てめえは彼女が出来てなんなの?
バカじゃん?それがどうかしたの?いちいち報告しなくていいよなあ?
御前等みたいなゴミは仲良しグループで仕事してんだろこら?
なあ?てめえみたいなゴミは死ねよ今すぐ死ねよ
まじしねよ!!!!!!コネコネしてんじゃねえよ死んでほしい

てめえブログとかに沢山言語自慢してそうなやつだな かっこつけてhaskellとか
沢山言語やってそうな御前は八方美人なんだろうな うぜえんだごみ まじきえろ

197:nobodyさん
10/07/27 09:46:44 .net
まじきえろ まで読んだ

198:nobodyさん
10/07/27 11:11:26 .net
PHP技術者認定もってるひといまsか?

199:nobodyさん
10/07/27 14:28:08 .net
クソクソ言ってる方がキレがあったな。

>>198
Zendのやつ?あれってまだあるの?

200:nobodyさん
10/07/29 10:30:15 .net
上級者って下品

201:nobodyさん
10/07/29 22:02:33 .net
A.htmlに名前(文字列)を入力し、
A.html内の実行ボタンがクリックされたら、

GETパラメータに入力値(文字列)をエンコーディングした上で
連結しA.html内に定義した<iframe>のsrcにurlを
JavaScriptで動的に作成(指定)する事により、
B.php画面の処理結果をA.html内に定義した<iframe>内に描画
したいと思っています。

しかし、srcにはURLエンコードを正常に行い指定しているにも関わらず、
入力値に「#」が入っていると「#」以降の文字列が失われてしまいます。
一体なぜでしょうか?

■A.html
  [名前] あいうえお#かきくけこ
  [実行(ボタン)]

  ※JavaScriptにより内部的に生成されるURL
  URLリンク(test_site)あいうお#かきくけこ

■B.php
  //名前
  $name = $_GET["name"];
  →ここで $name には、 あいうえお しか入らないです。
  本当は、 あいうえお#かきくけこ まで取得したいのですが。

宜しくお願い致します。

202:nobodyさん
10/07/29 22:33:33 .net
>>201
#はページ内リンクだからかね。

203:nobodyさん
10/07/29 22:52:57 .net
>>202
どうやったら「#」という文字列を渡す事が出来ますか?

204:nobodyさん
10/07/30 01:56:11 .net
エンコード

205:nobodyさん
10/08/01 14:33:20 .net
>>204
エンコードはしてるらしいが

206:nobodyさん
10/08/01 14:40:29 .net
>>204 >>205
両方アホ

207:nobodyさん
10/08/31 00:19:19 .net
フォームからファイルアップロードするときに、
大きいサイズだとけっこう時間がかかります。
アップロード状況をプログレスバー等でリアルタイムに視覚化するには
どのような処理をすればよいのでしょうか?

208:nobodyさん
10/08/31 01:55:16 .net
apcでできなかったっけ

209:nobodyさん
10/08/31 15:41:41 .net
PHP_APCってレンタルサーバでもインストールできます??

210:nobodyさん
10/08/31 15:45:18 .net
php.ini弄らないといけないみたいなので、ムリっぽいですね><

211:nobodyさん
10/09/09 19:31:47 .net
掲示板のようなシステムで、投稿内容に
JavaScriptやIframeなどのタグがあったらNGにするには
どのように処理されてますか?
単純な文字列検索だけだと、逃げ道がいろいろありますよね。。。

212:nobodyさん
10/09/09 22:07:14 .net
適当でいーんじゃね?
抜けられて困る事もあまり無いし
スパムだったら都度フィルタ調整するしか無いだろうし
許可タグはホワイトリストだべ。

213:nobodyさん
10/09/10 20:05:06 .net
適当ってどれくらい??
こんなんでいいの?

if (preg_match("/<script/i", $body)) {
return false;
}

214:nobodyさん
10/09/13 01:34:52 .net
たとえば掲示板プログラムで、
投稿本文にタグの閉じ忘れがあったらレイアウト崩れますよね。
プロのみなさんは、どうやって対応されていますか?

215:nobodyさん
10/09/13 01:47:00 .net
1. そもそもタグを許可するような仕様を提案することはない。
2. やむなく作るなら、閉じ忘れを警告し、閉じないと投稿できないようにする。

216:nobodyさん
10/09/13 20:08:57 .net
タグありにしたいんです><
閉じ忘れの検出はどのように実装しますか?

217:nobodyさん
10/09/13 21:01:05 .net
>>216
tidyで修正出来なかったっけ?

218:nobodyさん
10/09/14 02:39:32 .net
JavaScriptで実装する。
送信ボタンを押したときか、テキストエリアからフォーカスが外れるタイミングで。

正規表現で<tagと</tagをペアで数えていけばいいんじゃね?
自分なら厳密にやるよりはソースがシンプルなほうを選んで実装するな。
「親切で指摘してあげるんですよ^^^」的な上から目線を根拠に。

219:nobodyさん
10/09/14 13:43:42 LyPWJsrC.net
<br>なんかはどうする?

220:nobodyさん
10/09/14 14:00:50 .net
ん?チェックする対象にしなけりゃいいんじゃない?
それとも<br>が100個書かれたときのレイアウト崩れまで考慮すんの?
それやるとキリがないからやりたくないな…。

221:nobodyさん
10/09/15 04:01:29 .net
>>211
strip_tags() で不満なら HTML Purifier

222:nobodyさん
10/09/15 12:55:31 .net
strip_tagじゃjavascriptのコードは消せませんよ

223:nobodyさん
10/09/16 02:50:48 .net
>>222
だからその後まで書いてるんじゃん。バカ?

224:nobodyさん
10/09/16 10:29:22 .net
認識するタグは変更出来なかったっけ

225:nobodyさん
10/09/17 13:09:32 .net
正規表現で消せばいいだろ


226:nobodyさん
10/09/17 13:41:52 .net
似非上級者の集うスレはここですか?

227:nobodyさん
10/09/17 13:45:23 .net
>>226は下のスレに誘導
スレリンク(php板)


228:nobodyさん
10/09/22 17:57:31 .net
PHP上級者(笑)

229:nobodyさん
10/09/22 19:00:53 .net
PC iPhone 携帯 いずれからアクセスされたも指定したURLへ飛ばすにはどうすれば良いでしょうか?
当然携帯電話の場合には、JavaScriptが使えないので Location等を使う事になると思うのですが、
携帯キャリアを問わず正常にページ遷移させる事が出切るのか不安です。

230:nobodyさん
10/09/22 19:07:17 .net
ゆーざーえーじぇんとー^^

231:nobodyさん
10/09/22 19:08:05 .net
URLリンク(php.net)
header("Location: うんたら")

232:nobodyさん
10/09/22 21:00:14 .net
ドコモの古いので無ければ、まあ

233:nobodyさん
10/09/27 00:08:18 .net
PHP5のオブジェクト指向開発で
protectedを一切使わない奴はすべからく雑魚PGである。

234:nobodyさん
10/09/27 00:52:33 .net
雑魚PGの俺に、protetedとprivateの使う場面の違いを教えてくれ

235:nobodyさん
10/09/27 17:58:35 .net
protectedは欠陥商品
使うヤツが雑魚

236:nobodyさん
10/09/30 19:41:34 .net
do-while と Exception を使わない奴は間違い無く雑魚PG

237:nobodyさん
10/09/30 20:34:11 .net
最近覚えた単語を使いたいのか
組み込み系では使うがPHPで使う機会ってほとんどないけどな

238:nobodyさん
10/10/01 00:14:13 .net
使わなくても書けるけど、使えばコードがスマートになる場面は多々ある。
>>237が雑魚PGという事は良くわかった。

239:nobodyさん
10/10/01 01:02:57 .net
●初心者の考える関数/メソッド
・成功した場合は配列を返す
・エラーの場合は1〜nのエラーコード返す
・第1引数&$errを渡した場合はエラーが代入される。
・第2引数&$msgを渡した場合はメッセージが代入される。

●まともな関数/メソッド
・戻り値は配列
・エラー時は XxxException が throw される

240:nobodyさん
10/10/02 19:57:41 .net
致命的じゃないものはfalseを返すとかはよくやる
try(func())catch(XxxException $e){die();}より
if(func()===false){die();}のがてっとりばやいし
特に複数種類Exception出すと面倒だし

参照渡しは絶対に使わないけどな

241:nobodyさん
10/10/02 20:45:24 .net
このスレで上級者は1割に満たないだろ。

9割はカッスカス

242:nobodyさん
10/10/02 23:39:41 .net
1人もいないよ

243:nobodyさん
10/10/02 23:53:20 .net
241だが

俺は少なくとも上級者に入ってるので一人は先ずありえない。

244:nobodyさん
10/10/03 00:06:59 .net
オレも同じようなこと書こうとしたけど恥ずかしくてやめました

245:nobodyさん
10/10/06 07:23:47 .net
Facebookに勤めてるPHPハッカーとか憧れるわ
どんなコード書いてるんだろ

246:nobodyさん
10/10/09 04:01:25 .net
作りたいものがない!

247:nobodyさん
10/10/09 18:35:21 .net
上級者ってどこからなの?
という疑問。

248:nobodyさん
10/10/10 00:59:01 .net
別スレで分る人がいなかったのでこちらにて質問させて下さい。

Googleで特定サイトの(画面上から入力されたURL)ページランクを

調べるにはどうすれば良いでしょうか?

GoogleのAPIをコールするのかな?


249:nobodyさん
10/10/10 01:25:50 .net
>>248
URLリンク(hm2k.googlecode.com)

URLリンク(www.hm2k.com)

GoogleにGETでアクセスしてるっぽい。
ソース直張。

250:nobodyさん
10/10/10 01:44:06 .net
>>249
サンクス

流石上級者が集まるスレだけあるわw

251:nobodyさん
10/10/10 02:53:51 .net
>>250
いや、普通にググっただけだよ。
実はGoogleAPIでもいけるんじゃないか。。。とかはわからん。

252:nobodyさん
10/10/11 15:44:05 .net
ちょっと質問なんですが
Googleで特定のキーワードが何回検索されたかを調べる方法ってありますか?
出来れば、特定の日に何回検索されたかです。

例) 赤い一輪車 というキーワードが 10月10日(日) に15回 といった具合です。

253:nobodyさん
10/10/11 15:51:53 .net
>>252
Google Trends, AdSense管理画面 以上のことは無理。

はい次

254:nobodyさん
10/10/11 15:54:31 .net
>>253
つまりある程度検索上位ワードでないと
無理という事でしょうか?

Google Trends で適当にキーワードを入力して
検索したところ、

検索ボリュームが不足しているため「寄与等」のグラフを生成できません。


というエラーメッセージが表示されてしまいました。

255:nobodyさん
10/10/11 16:12:45 .net
そうですね。

256:nobodyさん
10/10/11 16:20:05 .net
なんとかならないですか?

257:nobodyさん
10/10/11 16:24:57 .net
なりません。

258:nobodyさん
10/10/20 14:33:30 .net
mod_rewriteの正規表現が苦手です。

皆さんはどうやって勉強しましたか?


また、お勧めの解説サイトを教えて下さい。

259:nobodyさん
10/10/20 15:39:30 .net
2chでスレッドを立てた場合
どの位レスが無いとDAT落ちしてしまうのでしょうか?
※お気に入りスレッドの保守ツールを作ろうと考えています。

260:nobodyさん
10/10/20 17:52:52 .net
phpからjavascript に配列渡す方法おねがいします

261:nobodyさん
10/10/20 20:25:15 .net
ドメインを検索した結果
Organization:Personal

というのが出て来るんですが
これってどういう意味でしょうか?


262:nobodyさん
10/10/20 20:35:26 .net
>>258
PHP関係ないです。正規表現スレで聞いてください。
>>259
PHP関係ないです。2chを開発または維持保守してる人達に聞いてください。
>>260
PHP半分だけ関係あります。echoなりprintでjavascriptコード吐けばOKです。
>>261
PHP関係ないです。英和辞書引いてください。




263:nobodyさん
10/10/20 20:55:04 .net
>>262
>PHP関係ないです。2chを開発または維持保守してる人達に聞いてください。
2chを開発してるのは誰ですか?


264:nobodyさん
10/10/20 21:03:10 .net
>>263
2chを開発してる人を監督している人に聞いてください

265:nobodyさん
10/10/20 21:07:48 .net
>>264
(株)ゼロ or (株)イスト という情報をGETしますた!

266:nobodyさん
10/10/21 09:22:12 .net
d7028c0bfaf88de9734406fb7bc893d3

267:nobodyさん
10/11/28 01:08:02 F1JfXYTU.net
ワールドワイドに展開したいサービスを作る場合、
日付情報はローカル時刻から世界標準時に変換してDBに保存して、
閲覧時には、閲覧者の国に合わせて時刻を変換するのがベストなんでしょうか?


268:nobodyさん
10/11/28 01:17:47 .net
No

269:267
10/11/28 01:30:18 F1JfXYTU.net
どうするのがいいですか?


270:nobodyさん
10/11/28 08:17:58 .net
ワールドワイドに展開したいんだから
ワールドワイドに展開してるということを分かってもらう必要がある
つまり日本時刻に統一することで、日本のサイトがワールドワイドに展開してると認識してもらう

271:nobodyさん
10/11/29 00:45:34 .net
>閲覧時には、閲覧者の国に合わせて時刻を変換するのがベストなんでしょうか?
YES。

閲覧時に変換すればいいだけの話で、
DBにはローカル時刻で保存しておいても問題無いよ。

というか、日本で開発するならデバッグのし易さ等も含めて、、
わざわざ世界標準時に変換して保存する必要は無いかと。

272:nobodyさん
10/11/29 00:56:52 .net
timestampで保存すりゃいいじゃん

273:nobodyさん
10/11/29 01:10:16 .net
$_REQUEST

を使えば GET も POST もどちらの値も取れる様なので
GET や POST を使わずに

REQUEST 一本で行こうかと思っているのですが
何か問題(セキュリティー的な面で)はありますか?

274:nobodyさん
10/11/29 01:28:15 .net
うむ

275:nobodyさん
10/11/29 01:36:22 .net
>>273
getとpostを区別しないフレームワークもあるし、いいんじゃない?

276:nobodyさん
10/11/29 02:50:23 .net
timestampで保存??
PHPおよびDBのtimestamp型はグリニッジ標準時で格納されて、
表示のときにタイムゾーンにあわせて変換されてるの??

277:nobodyさん
10/11/29 02:52:33 .net
>>273

<img src="URLリンク(hoge.com)">

なんてのが掲示板に書き込まれたらどうだろう?
CSRFチェックしてるならいいけど。

278:nobodyさん
10/11/29 03:13:43 .net
timestamp型は内部ではGMTなんだね。知らなかった。さすが上級。
でも2038年までしか使えないのか。
案外すぐそこだと思ってしまう。

279:nobodyさん
10/11/29 03:15:47 .net
>>275
ええのかな。

>>277
ごめんなさい。
かりに投稿されてもサニタイジング処理するから
問題無い気もするのですが何が問題なのでしょうか?

280:nobodyさん
10/11/29 03:56:53 .net
サニタイズじゃないだろそれ

281:nobodyさん
10/11/29 10:10:19 .net
>>278
DateTimeつかいなよ

あと「2038年問題」で検索すればわかるけど
過去に銀行でトラブルがありニュースになってる
php5.1までは対応が面倒だったが
php5.2以降ならDateTime使えば2038年問題はクリアできる
書式も柔軟で使いやすい

282:nobodyさん
10/12/01 01:33:56 fFpZquRW.net
PHPでtry-catch-finallyの動きさせたい時どう書くのが手軽?
try-finally-catchでも別にいいのでこんなの考えたけどキモいかなあ

$ex=NULL;
try{
 …例外が出るかも知れない処理…
}
catch(Exception $ex){}

…finally処理…

switch(true){
case $ex instanceof HogeException:
 …例外ハンドラ…
case $ex instanceof Exception:
 …例外ハンドラ…
 throw $ex;
}


283:nobodyさん
10/12/01 02:41:56 .net
tryとcatchブロックの最後に同じ処理を入れとけばいい

284:nobodyさん
10/12/02 04:12:56 .net
YahooやGoogleなど、1つのIDで複数のサービスを利用できるようにしているサイトは
どのようなユーザーDBを持っているのでしょうか?
まさかすべてのサービスを1つのDBに格納してるわけではないですよね?
サーバやDBを分けると、リレーションが作れないと思うのですが
管理しにくくなるデメリットをどう回避しているのでしょう?

たとえば、全IDの基本情報を持った1つのユーザーIDマスターテーブルがあって、
サービスごとのDBに、ユーザーIDマスターテーブルをコピーして、サービス用のカラムを追加した
各サービス用のユーザーIDテーブルがあって、マスターが更新されると、こちらも自動更新されるとか、
もしくは、各サービス用ユーザーテーブルには、マスターのIDが保存されていて
GET URLリンク(api.mydomain)
とかHTTPリクエストでマスターテーブルから取得しているんでしょうか。
(いま利用しているレンサバは外部からのDB接続ができません)

できるだけスマートな実装を教えてください。

285:nobodyさん
10/12/02 04:44:43 .net
DB越えのリレーションができるようにしてるのでは

286:nobodyさん
10/12/02 04:53:14 .net
>>284
基本情報の保存されたマスターユーザテーブルと、
サービス別に必要なカラムを持ったテーブル(マスターユーザIDで紐付け)があるんじゃねーの?

マスターサーバに負荷がかかると思われるが、
それはハードウェア的に分散してるものだと思われる。

287:nobodyさん
10/12/02 19:18:34 .net
DB越えのリレーションってどうやるの??

288:nobodyさん
10/12/02 23:52:26 .net
DBってテーブルの上位のDBじゃなくてDBサーバのことを言ってるの?
だったら普通にレプリケーションしてるだけじゃないの

289:nobodyさん
10/12/03 01:32:27 .net
>>283
同じ処理を書きたくないからこそのfinallyじゃない?

>>284
レプリケーションとかDB直接接続もできるorしてるかも知れないけど、
少なくともそういうAPIは裏側で用意されてるはず。
他社製の物と連携すること考えるとDBMSが異なるサービスにも使えるようにしてると思う。
ポリシー上そのAPI介さないと(自社製でも)ユーザ情報にアクセスさせないとかは十分ありうるね。

で、レンサバという制限の元、何とか共有したいという話なら
使える物は何でも使って最も楽な方法でやればいいと思うよ。
例えばCronで定期的にユーザマスタcsvを子サービスにSSLで送りつけてもいいし。

ちなみにサービス別にユーザテーブル作る場合、全件は複製せずに
そのサービスを使ってる人のIDだけが入ってるというのが多い実装だと思う。

290:nobodyさん
10/12/04 00:41:28 .net
Doctrineもここでいいのかなあ

PostgreSQLだとDoctrine_Core::generateModelsFromDb()はできない?

確認したら
Import/Pgsql.phpの
$sql[ 'listTableColumns']のSQL実行してるみたいなんだけど
これが失敗してるんだよなあ

291:Perl忍者 ◆M5ZWRnXOj6
10/12/05 14:11:08 v423lubt.net
WEB業界を牛耳っているのは
Perl-casualのやつら

こいつらはやばいよネットヤクザだよ

だいたいのWEB業界 mixi,gree,ライブドア,google,yahoo,楽天など
牛耳ってるのもperl-casualのやつら

mixi事件のメルアド検索もperl-casualのやつらの工作

perl-casualのやつらはやばいよ
まじでこれは言える

perl-casualのやつらが日本のインターネット業界を支えている
これはマジで実話

292:被リンクサービスの決定版
10/12/05 18:43:27 07kW5KS8.net
被リンクサービスはこれらの業者を掛け持ちするのがベスト!
スレリンク(hp板:43番)

293:nobodyさん
10/12/06 01:02:20 .net

3万も払って、たった10ブログからのリンクだけ??
クソボロい商売だな。
俺一人で個人経営やっても、数日で1000ブログ以上作るシステム開発する自信あるぜ?
てかもう存在してるだろうけど。

294:nobodyさん
10/12/06 11:55:38 .net
アホか。システムなんか誰にだって作れる。
問題はプロモーションだ。

295:nobodyさん
10/12/08 00:40:37 .net
phpで出来てるフレームワークで、ほとんど素のphpだろこれっていうレベルのものある?
smartyとか覚えきれなかったので

296:nobodyさん
10/12/08 00:51:42 .net
つ「ちいたん」

ってかSmartyだって素のPHPなんだが・・・w

297:nobodyさん
10/12/08 02:44:18 .net
>>295
フレームワークってのは使い方を覚えて初めて役に立つものだから
覚えることがデメリットになるくらいなら使わない方が無難な物ができると思う。
素のPHPだから一概に悪いなんてことないよ。

298:nobodyさん
10/12/08 22:29:52 .net
>>296
なかなか悪くないな!むしろいい感じだな! 名前の由来が気に入らないが!

299:nobodyさん
10/12/12 06:49:26 k+72gwmM.net
JavaScript使ったサイトのテストにWatirが良さ気だと思っているのですが、
これもいいよ、っていうツールはありませんか?
いまはWSHでやってて限界感じています。

300:nobodyさん
10/12/12 12:35:52 .net
比較したことないけどSeleniumもいいと思う

301:nobodyさん
10/12/17 03:26:27 .net
スレ違いだったらすみません。
PHPDocumentorでチュートリアルを生成すると文字化けが起こるんですけど、どなたか解決方法を知りませんか?

文字化けというより、不正な文字を「?」に置き換えてる感じで、日本語が全部「??????」で出力されます。
チュートリアル以外のドキュメントは文字化けを起こさないのですが。。。

302:nobodyさん
10/12/17 03:36:57 .net
>301
すみません、解決しました。。。

Setup.inc.php の 733行目 にあった $ret = utf8_decode($ret); をコメントアウトしたら解決しました。
お騒がせしました。

303:nobodyさん
11/01/02 13:53:35 6H//G+jS.net
>Perl/shell 形式のコメント (#) は使用するべきではありません。

PEARのコーディング規約でこんなの見つけたんだけど。
何でいけないんだろう。

unix系OSでphp使ってる人には身近なコメントだと思うんだけど、
(#)使っちゃいけないっていうのはただ単にWin系もしくは
入門者の人が見慣れてないから使うなってだけかな?

べつにPEARのコーディング規約をリファレンスにする必要は無いと思うし、
嫌なら別の規約を使えばいい話なのはわかってるんだけど、
「PHPでshell形式はいけない物」みたいな風潮が広まちゃったら嫌だなって・・・。


304:nobodyさん
11/01/02 15:03:30 .net
風潮はどうかはしらないけどPHPで#は使わないな。

305:nobodyさん
11/01/03 04:16:48 .net
>>303
「#」と「//」の2種類のコメントを混在させてはいけないって所がコーディング規約的な意図でしょ

306:nobodyさん
11/01/03 21:50:57 .net
だね。

「するべきではありません。」っていうのがいかにも#をつかうのが良くないと言っているように見えるけど
多分must not beぐらいの意味だろう。

307:nobodyさん
11/01/03 22:35:35 .net
//を使わずに#に統一するなら問題はない。
初心者のことを考えて//に統一するのもよい。

308:nobodyさん
11/01/03 23:45:21 .net
$result = array();
for($request as $key1 => $value1){
for($value1 as $key2 => $value2){
for($value2 as $key3 => $value3){
$result[$key3][$key2][$key1] = $value;
}}}
こんなイメージな多次元配列の次元位置を入れ替える方法を考えています
多次元配列の次元数が固定されていれば、
上のようなやり方でも大体行けるのですが、
n次元だった場合のいいロジックってないでしょうか

309:nobodyさん
11/01/04 00:00:56 .net
function test($request) {
$result = array();
foreach ($request as $key => $value) {
if (is_array($value)) {
$result[$key] = test($value);
} else {
return array($key=>$value);
}
}
return $result;
}

310:nobodyさん
11/01/04 00:03:03 .net
ごめん全然嘘だった

311:nobodyさん
11/01/04 00:16:30 .net
やっぱ愚直に参照にするか引数で受け渡すしかないんじゃないかね

312:nobodyさん
11/01/04 08:50:08 .net
一度作った配列を構成しなおすというパターンはそうそう無いよね
最初に作る時にそうしておくか、使う時に対応するかのどっちかで大抵は済むし、
最悪でも最初に2種類構築すればいいし

313:nobodyさん
11/01/06 01:16:57 .net
>>312
その一度配列を作るロジックを聞いてるんじゃないか?w


314:nobodyさん
11/01/06 01:37:45 .net
パット見の思いつき。たわごと。

n次元てことは再帰だろーなーと思うけど
array_keys()使う感じでできんかな。

315:nobodyさん
11/01/06 13:03:14 .net
こういう質問出るって事は、お前らFW使ってないのか?
まぁ自作関数ライブラリがあれば足りるケースがほとんどではあるが。

316:nobodyさん
11/01/06 20:49:39 .net
>>315
どういうこと?

317:315
11/01/07 12:20:05 .net
>>316
単なる知ったかぶりですけどなにか?

318:nobodyさん
11/01/07 20:38:17 .net
>>317
何がどうしったかぶりなの?

319:nobodyさん
11/01/08 00:51:52 .net
FWは作ってないが、ライブラリ群は作ってる
で、今バリデーションの案を抗争中な訳なんだが、
どんなソースコードになったら、見やすくて分かりやすいだろ?
$str = vali::post('text')->mbLength(0,256)->var();
みたいにJavaっぽく書けば、分かりやすいけど細かい設定は付けれない
$v_id = array('func'=>vali::alnum,'error'=>'どうたらこうたら');
$id = vali::post('text', $v_id);
と、Cake風の書き方すれば、細かい設定もしやすいからいろんな事が出来る
そんなわけで、どんなバリデーション作ったら使いたくなる?

320:nobodyさん
11/01/08 01:02:08 .net
つくりかけ

var $VALIDATIONS = array(
'varname' => array(
'trim' => array(),
'ascii' => array(),
'unique' => array( '※すでに使われている名前です。'),
'blank' => array( '※必ずご記入ください。'),
'date' => array( '※正しい日時ではありません。'),
'range' => array(18,100, '※18から100の数字をご記入ください。'),
'length' => array( 0, 20, '※20文字以下でご記入ください。'),
'bytes' => array( 0, 40, '※40バイト以下でご記入ください。'),
'regex' => array('/^[a-z0-9\-\_]*$/i', '※英数字と -(ハイフン) _(アンダースコア) のみでご記入ください。'), //複数設定可??
'in' => array('OPTIONS', '※正しい選択肢ではありません。'), //複数または直接array??
'method' => array('model::method', '※正しい値ではありません。'), //うまいことやる!!
),
);


321:nobodyさん
11/01/08 01:22:31 .net
>>320
だいたいそんな感じになると思うけど
>trim
入力値の評価と修正が一緒にあるのは気持ち悪いかも
>unique
それはどっかDBとか見に行かなきゃいけないわけで汎用的にならないんじゃ?
>date
年月日が別のフィールドに分かれてたら3つフィールド名指定できる?
>blank
別のフィールドの値がXの時だけ必須入力とかはblankかmethodで対応できる?

322:nobodyさん
11/01/08 01:33:45 .net
>>trim
>入力値の評価と修正が一緒にあるのは気持ち悪いかも
なるほど。ちょっと考えてみる。ちなみに「ascii」も全角→半角変換のつもりw

>>unique
>それはどっかDBとか見に行かなきゃいけないわけで汎用的にならないんじゃ?
まーねー。確かに規約で縛りすぎるのも気持ち悪い。しかし、どう代替しようか。

>>date
>年月日が別のフィールドに分かれてたら3つフィールド名指定できる?
柔軟な日時クラスがあるので、$varnameはymdのarrayでもsqlでもatomでもなんでもおk

>>blank
>別のフィールドの値がXの時だけ必須入力とかはblankかmethodで対応できる?
methodはなんでも屋のつもりだけど、確かに連動必須項目はテンプレ化してもいいかもね。
ただ、シンプルなテンプレ化の方法は少し考えねば…

323:nobodyさん
11/01/08 02:54:32 .net
なんで既存の使わんの?

324:nobodyさん
11/01/08 02:56:33 .net
CakePHP式のバリデーションは便利だよ。
配列&正規表現を工夫すればフレームワークじゃなくて
単なるクラス(か関数)でも用意できる。

325:nobodyさん
11/01/09 18:56:19 .net
>>322
>unique
わざわざ用意するまでもなく単にmethodでやればいいんじゃないかな?
削除フラグが立ってない中でユニーク…とかを考えると大掛かりになるし

>$varnameはymdのarrayでもsqlでもatomでもなんでもおk
$_POSTを丸ごと渡すんじゃなくて、
前処理として $ymd = array($_POST['hoge_y'], $_POST['hoge_m'], $_POST['hoge_d']); 的なコードが別途必要ということかな

>ただ、シンプルなテンプレ化の方法は少し考えねば…
必須(blank)に関するチェックに条件が付く場合が殆どで、
他フィールドの値に対して定数との==、!=比較ができれば当分困らないと思う。
'blank' => array(... /*必須にする条件→*/array('eq', 'OtherField', '1')) みたいな

>>323
このあたり既製品じゃ対応しづらい要望が顧客から入りやすい

326:nobodyさん
11/01/09 19:03:41 .net
どういうバリデート?

327:nobodyさん
11/01/09 20:09:18 .net
> >unique
> わざわざ用意するまでもなく単にmethodでやればいいんじゃないかな?
そんな気がしてきた。すげーしてきた(笑)。

> $ymd = array($_POST['hoge_y'], $_POST['hoge_m'], $_POST['hoge_d']); 的なコードが別途必要ということかな
いや、フォームの段階で <input name="hoge[year]"... な感じ。

uniqueとかblankとか、少し条件が複雑なものは汎用的な中間methodでも作って…とかやりだすと地獄を見るかな(笑)

328:nobodyさん
11/01/10 01:29:42 .net
バリデート自体は大して実装コストかからないけど、
汎用的かつ、書きやすい構文を考えるのは結構面倒だよね。
汎用性を追求し過ぎると、大抵は既存FWのバリデーターに近い形に落ち着いてしまう。


329:nobodyさん
11/01/10 17:22:39 .net
ECCUBEのコード読んでたときに見つけたんですけど、

// {{{ requires

の {{{ って何ですか?

330:nobodyさん
11/01/10 17:42:06 .net
コメントなら単なる記号じゃねーの?


331:nobodyさん
11/01/10 17:47:29 .net
>330
なにか、ドキュメント生成系で使われてるのかな?と思ったんですけど、そんなことはないみたいですね。
ありがとうございます。

332:nobodyさん
11/01/10 20:32:02 .net
>>329
URLリンク(www.emacswiki.org)

333:nobodyさん
11/01/12 01:46:33 .net
>>332
なるほど、Emacsで使うんですね。
ありがとうございます。

334:nobodyさん
11/01/12 16:58:41 KnVXPSXC.net
Twitter Streaming API を使用して
指定したユーザ(例えば  testman )が呟いた内容を
テキストファイルに出力したいのですが
どの様に書けば良いでしょうか?

335:nobodyさん
11/01/12 19:48:32 .net
file_put_contents('text.txt', $tweet);

336:nobodyさん
11/01/13 17:17:41 .net
>>335 
Twitter Stremaing API を使用して
指定ユーザの呟きを取得する部分が
分からないです。
※テキストファイルへの出力コードはわかります。

337:nobodyさん
11/01/13 18:23:45 .net
それって初心者の質問じゃないのかな。
お前はとても上級者に見えないが。

338:nobodyさん
11/01/13 18:43:54 .net
>37

初心者の私上級者の方教えて下さい。

339:nobodyさん
11/01/13 19:42:36 .net
>>336
ドキュメントに載ってないの?

340:nobodyさん
11/01/13 21:14:10 .net
>>339
PerlやPythonといった言語での解説サイトはありますが
PHPでの実装方法を解説したサイトが見つかりません。

341:nobodyさん
11/01/13 21:23:18 .net
ドキュメント読んでないのね・・・

342:nobodyさん
11/01/14 01:13:37 .net
>>319
俺もオレオレバリデータ作ったことがある。
ワンタイムトークン的なものつくるとかとか、確認画面用に、値をセッションに格納して読みだして〜とかの機能とか
設定したバリデートルールを使って、Javascriptのコードも生成させて、クライアントサイドでも
バリデート出来るようにしたりね。

最近は、jQuery使って、CakePHPのヘルパとかでバリデーションルールをJSONにした物から
クライアントサイドでのバリデーションも連動するようなものを、作りかけた。

まぁ、書き慣れない言語はソースが迷子になって困る。


343:nobodyさん
11/01/14 03:57:17 .net
>>336

を解決することの出来る勇者はいないでOK?

344:nobodyさん
11/01/14 07:04:47 .net
>>342
ZFのバリデータ使えばいいと思う

345:nobodyさん
11/01/14 09:25:41 .net
>>343
勇者じゃなくて奴隷だろ?
無報酬で作業して欲しいんだから。

346:nobodyさん
11/01/14 12:33:04 .net
>>345
お前みたいな低レベルに聞いてない。

347:nobodyさん
11/01/14 12:34:31 .net
>>343
OK

348:nobodyさん
11/01/14 13:11:26 .net
>>346
なら、自分で解決しろよwwww

349:nobodyさん
11/01/14 13:30:20 .net
ここには上級者はいないでOK?

350:nobodyさん
11/01/14 13:32:44 .net
OK

351:nobodyさん
11/01/14 19:36:01 .net
しつこい奴だなw

352:nobodyさん
11/01/15 03:30:50 .net
上級者は下手な煽り程度では動じないのであった。

353:nobodyさん
11/01/15 04:22:53 .net
どうしても特定のユーザの発言をタイムリーに受信したいんだよね。
なんとかStreamingAPIを使用して

特定ユーザの発言を常にフックする方法を教えて下さい。

※上級者の方、宜しくお願いします。

354:nobodyさん
11/01/15 04:42:55 .net
Socketは扱えるかい?
HTTPプロトコル及びTCP/IPの基礎知識はあるかい?
PHPはCLI環境等で常駐させる事が可能かい?

>特定ユーザの発言を常にフックする方法を教えて下さい。
Twitter Streaming APIへ接続して、受信メッセージを順次ストリーミング処理するだけだが、
何が解らないのか解らない。

上記の基礎知識が無いなら説明しても理解出来ないだろうし、
基礎知識があるならAPIの仕様を読めば実装出来ると思うけど。

355:nobodyさん
11/01/15 10:29:40 .net
>>353
上級者はいないでOKになったんだから頼むから消えてくれよ
あれだけ失礼なこと言ってよく居座れるな

356:nobodyさん
11/01/15 16:38:23 .net
>>354
こういう奴に教えてやる必要ないって。
初級・上級の前に人間が腐ってる。

357:nobodyさん
11/01/15 16:44:03 .net
おまえら>>349-350のクオリティを大切にしろよなwww

358:nobodyさん
11/01/15 18:10:38 .net
>>354
基本的なツイッターAPIの呼出方については分かるのですが
どうしても Streaming API を使用して特定ユーザのついーとを
取得する方法が分かりません。

もし宜しければPHPで実装した人のHPや、
コードを載せて頂けないでしょうか?

>>355 >>356
お前らみたいなクズには聞いていない。

359:nobodyさん
11/01/15 18:35:33 .net
コード載せろとかww

360:nobodyさん
11/01/15 18:37:38 .net
>>358
OK

361:nobodyさん
11/01/15 18:39:01 .net
>>358
Streaming APIはREST APIのように単純には処理出来ない。
OAuthとかの実装は済んでるかい?

362:nobodyさん
11/01/15 19:38:05 .net
358=361

363:nobodyさん
11/01/17 16:06:13 .net
>>361
>OAuthとかの実装は済んでるかい?
こちらについてはアカウントも取得し
OAuthについては大丈夫です。



364:nobodyさん
11/01/17 23:34:45 .net
かい?かい?厨uzeeeeew

365:nobodyさん
11/01/17 23:43:41 .net
>>364
かい?かい?ほざいてないでサンプルコードのひとつでものせればいいのになw
ここでザコに訊くよりggrよks

366:nobodyさん
11/01/18 11:30:17 .net
>>363
アクセストークン利用して、取得したいストリームのURLをソケットなりで開いて、
その出力を延々と監視すればいいだけじゃねーの。
こんな所で数日待ちぼうけくらうより自分で試そうって気は無いのかねw


fopenとcontextの組み合わせで取得出来ると思うよ。

$fp = fopen($apiUrl);
while($xx = fgets($fp)){
// $xx に戻り値が入るので、時前でパースする。
sleep(1);
}

終わり。

367:nobodyさん
11/01/22 17:34:48 .net
PHPでLDAPS接続したのですが、TLS_REQUEST hardかdemandでも出来るんでしょうか?

368:nobodyさん
11/01/25 05:30:20 .net
{$tmp = $value . $num}
みたいな代入短縮系も超便利。

369:nobodyさん
11/01/31 03:28:36 .net
正規表現を使用してSQL内の特定の文字を取得したいと思っています。

具体的には、「TEST.sql」の中に以下の形式のクエリが多量に記述されているのですが
このファイルを読込み、 NUM_1 , NUM_2(のみ)の値を正規表現を使用して
高速に抽出したいのですが、どういう正規表現を適用すれば良いでしょうか?

1行ずつ読込み、正規表現を使用してそれらの値を取得したいと思っています。

INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES( 1 , 1 , 'TAROU1');
INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES( 1 , 2 , 'TAROU2');
INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES( 1 , 3 , 'TAROU3');



INSERT INTO TEST ( NUM_1 , NUM_2 , NAME ) VALUES( 1 , 1000 , 'TAROU3');


<取得イメージ>
1,1
1,2
1,3



1,1000


以上 ご教示願います。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

559日前に更新/133 KB
担当:undef