[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/25 06:50 / Filesize : 281 KB / Number-of Response : 1023
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はここに書き込みやがれ 4



1 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 23:25:33.88 ID:j4grSBgs.net]
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
www.php.net/manual/ja/

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 3
echo.2ch.net/test/read.cgi/tech/1447495088/
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

178 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 19:48:41.14 ID:vFEhZxRE.net]
>>170
セキュリティのために必要最低限のパーミッションを与える

179 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 20:36:50.97 ID:hB33GZnr.net]
>>170
通常実行権限はいらないよ

180 名前:デフォルトの名無しさん [2016/03/29(火) 21:37:58.05 ID:jyk5ZdaS.net]
winで制作したphpを公開Linux鯖にftp転送した後、phpのパーミッション変更なんてしたことがないな。
perlなら実行権限与えてやらないとそのままじゃinternal errorが発生するけど。
てかphpってパーミッションなんて変更してやる必要あるの?

181 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 21:43:09.44 ID:W1iwza/S.net]
phpからログ吐いたりファイルアップするなら
書き込み権限与えないとできんやろ

182 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 21:52:47.09 ID:uzyAT3MD.net]
phpファイル自身の更新権限でしょ?

183 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 22:44:35.78 ID:4928WWNs.net]
(´・ω・`)Loggerとか使ってログを吐く場合、loggerを呼び出すphpは全部7にしないとダメって事?

184 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 22:47:40.20 ID:4928WWNs.net]
間違えた 吐き出す先のファイルか(´・ω・`)

185 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 22:56:48.41 ID:BDGBq9XE.net]
>>177
ファイルは604、ディレクトリは705にしておけばいい

186 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 22:57:15.80 ID:W1iwza/S.net]
php自体の権限の話?
実行権限は確かにいらないね。

>>178
ログを吐き出したいディレクトリに
書き込みphpユーザから書き込みできるようにする。
しないと出力でエラー。



187 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 23:16:42.01 ID:4928WWNs.net]
>>179,>>180
そうそう、php.exeじゃなくて なんちゃら.phpっていうソースファイル(?)
write.php - 604(apache:apache)
log/ - 705(apache:apache)
って感じでいいのかな(´・ω・`)

188 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 23:31:58.90 ID:BDGBq9XE.net]
>>181
それでいい
書きこめるか試してみな
パーミッションについては自分でよく調べることだな

189 名前:デフォルトの名無しさん [2016/03/29(火) 23:42:07.24 ID:e0CNVUKY.net]
あなたの得意で、誰かを幸せに
みんなの「得意」を売り買いできる、モノを売らないフリーマーケットです
https://coconala.com/

占い・恋愛相談からロゴの作成・ビジネスのクラウドソーシングまで、
みんなの得意を500円から売り買いできる「ココナラ」

190 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 23:43:44.09 ID:hB33GZnr.net]
できればSELinux有効にしてこまめな設定しておいたほうがいいんだけどね。

191 名前:デフォルトの名無しさん mailto:sage [2016/03/30(水) 00:01:28.97 ID:njWzXt21.net]
cgiで動かしてる場合は実行権限が要る、のでは

192 名前:デフォルトの名無しさん mailto:sage [2016/03/30(水) 17:47:31.83 ID:Muyb9Qgo.net]
>>181
userをapacheにできるなら600と701でいいと思うが

193 名前:デフォルトの名無しさん [2016/03/31(木) 01:26:01.16 ID:GJ2QbDh0.net]
CGIとphpの違いってなに?

perl、ruby→CGIという。
PHP→CGIとは言わない?

194 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 01:39:01.14 ID:gTuU4O2h.net]
>>187
実行方法が違う

Nginxとかのことはよく知らないからApacheで喋るけど,

CGI: Apacheがmod_cgiからプログラムを実行する(ファイル先頭のシェバングのプログラムから起動)
PHP: Apacheがmod_phpから.phpファイルを読んで実行

レガシーなCGIではアクセス毎にインタプリタなり実行ファイルなりを起動するからパフォーマンスが極めて悪い
Apacheモジュールで実行すればサーバプロセスと一緒に常駐するからCGIより極めて高いパフォーマンスが実現出来る

尚, 最近はPHPでも高負荷環境下ではphp-fpmからFastCGI経由で実行されることが多い模様(シェバングは不要なのでレガシーCGIっぽくはない)

195 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 02:06:39.04 ID:tPwPmbpG.net]
>>187
なんか10年前にタイムスリップしたような質問だなw

196 名前:デフォルトの名無しさん [2016/03/31(木) 02:28:46.49 ID:i4QRtt5O.net]
むむむ、、難しい



197 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 03:09:22.24 ID:9egfbJrh.net]
すごくぼかしていうと、実行ファイルを動かすか、プログラムを読みこんで動かすかの違い

198 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 03:17:43.67 ID:+i7BlQ0K.net]
とりあえず言語は関係なく
実行方式の違いってことだけ知ってればいいよ
PHPだってCGIで動作するし
Perlだってmod_perlでApacheのモジュールとして動作する

199 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 06:17:49.36 ID:n9weBv5F.net]
Linuxのuptimeコマンドで得られるサーバの稼働時間を、PHPで表示させたいんだけどPHPド素人過ぎて全くわからん。

[root@ホスト名 ~]# uptime
06:04:10 up 5 days, ←この部分

uptime.phpとして
「5日6時間04分10秒、起動中です。」と表示させたい。

200 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 06:25:53.80 .net]
$uptime = shell_exec('/usr/bin/uptime');
あとはカンマで区切って頑張れ

201 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 07:48:14.72 ID:n9weBv5F.net]
>>194
マジでありがとう(´;ω;`)そういう風に取得するんだ。
shell_execすら見つける事ができなかった。
これはLinuxのコマンドを実行させるphpの関数かな。だいぶイメージが湧いてきた

202 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 08:12:49.01 ID:n9weBv5F.net]
7:59:13 up 5 days, 5:07, 1 user, load average: 0.03, 0.19, 0.30

途中に半角スペースやカンマが入っている長い文字列から
以下のものを取り出す方法が全くわかんないw
これさえ取り出せればあとはくっつけるだけなんだけど。。。

$day =5 (日数)
$hour = 5(時間)
$minute =07(分)

203 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 08:43:49.83 ID:dysJg4uT.net]
$pat = '/^.*up (\d+) days, (\d+):(\d+),.*$/';
$d = '$1,$2,$3';
list($day, $hour, $minute) = explode(',',preg_replace($pat, $d, shell_exec('/usr/bin/uptime')));
echo $day."\n".$hour."\n".$minute."\n";

204 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 08:48:23.85 ID:tPwPmbpG.net]
uptimeとか知ってるくせに正規表現すら思いつかんのかえ

205 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 08:50:01.21 ID:dysJg4uT.net]
「5日6時間04分10秒、起動中です。」という文字列を得たいだけなら
$patを工夫すれば、そのまま希望する文字列にできるよ

206 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 09:22:07.14 ID:n9weBv5F.net]
>>197
>>199
ありがとう(´;ω;`)
(¥d+)の意味すらわかってないから、phpの文法の基礎から勉強し直してくるよ



207 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 09:47:20.27 .net]
起動して1日経ってないとまた表示が違うから注意な

208 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 09:55:30.49 ID:NqUBDLqn.net]
デザイナー上がりの俺がコード書くと手続き型になってしまう
この前1000人〜くらいが使うシステム作ってみた
一人で作ってるから手続き型で困ることは一切ないんだけど、まあ動けばいいんだよね

209 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 10:14:49.77 ID:7iH4R6mM.net]
shell_execで思い出したけど
exec、shell_exec、passthru等って引数・戻り値・結果の取得方法以外はどんな違いがあるの?
実行時にたどるフローとか権限とか使うシステムコールとか生成されるプロセス/スレッドの扱いとか

210 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 10:53:54.43 ID:tPwPmbpG.net]
https://github.com/php/php-src/blob/master/ext/standard/exec.c
php_execのif (typeから始まるところらへんが差

211 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 12:37:49.17 ID:eK9DBRn+.net]
fwrite関数で大容量のログをファイルに書き込みたいのですが、内容が
128MBを越えるとファイルが作成されません。

原因がわかる方いらっしゃいましたら教えていただけると助かります。

環境
centos6.7
php7

212 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 12:43:17.19 ID:zV4jiE60.net]
PHPで128MBといえばmemory_limitが思い付くが

213 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 12:55:38.39 ID:gTuU4O2h.net]
逐次書き込め

214 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 14:26:35.21 ID:yy0681Er.net]
>>200
(\d+) は、PHPの文法というよりも、Python, Ruby, JS などで使われる正規表現

( )はキャプチャーと言って、マッチした文字列を後で、
$1, $2, $3 のように、番号を付けて使う。
\d は、数字にマッチする。[0-9] と同じ。
+ は直前の文字の、1回以上の繰り返しにマッチする

つまり、\d+ は、数字の1回以上の繰り返しにマッチする(最長一致)。
数字以外の文字が来たら、その直前までがマッチする

215 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 14:42:31.80 ID:7iH4R6mM.net]
>>204
ありがとう。後ろの方のshell_execまで読んできた

全部php_stream_fopen_from_pipeじゃねーか結果・リターンコードの扱いが違うだけじゃねーか
なんで関数名を分けてんだよこれ

216 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 18:22:20.07 ID:n9weBv5F.net]
>>208
list()や正規表現preg_replace()まったく分かってなかったんで勉強しなおしてる



217 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 19:35:48.87 ID:eK9DBRn+.net]
>>206-207
ありがと。メモリリークしてたわ。

218 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 22:27:35.98 ID:i8T5nkpN.net]
phpとcgiはそもそも比べるものではない
ビジネスマン(cgi)とスーツ(言語)って何が違うのみたいなもんよ
ビジネスマンは良くスーツ着用するけどそもそもその2つは比べられないよって言う話
俺も詳しく理解してないからよく分かんないけど phpとかPerl、Cなんかで書かれたプログラムをどうやってサーバー側で実行するかみたいな話しだったと思う

219 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 23:28:08.63 ID:gmE6pszy.net]
ウェブサイトでのPHPが普及し始めた時、
Perl/CGIとmod_phpの速度を比べて、PHP早い!Perlはクソ!って言ってる人がどれだけ居たことかw

220 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 23:33:38.39 ID:gTuU4O2h.net]
Perl/CGI時代に書かれたコードがmod_perlではまともに動かなかったからなー
あの時代の立場で言えばPerl/CGIとmod_perlは別言語だったから・・・・

221 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 23:39:05.69 ID:gmE6pszy.net]
今のスタイルで書けばそんなに問題起こらなそうだけどねー
PHP/CGIだと、そういう違いってあるのかな

222 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 23:52:53.66 ID:7iH4R6mM.net]
いや、変わりない
#!/path/to/php で動かすにしてもfpmで動かすにしても
同じバージョンのmodule版で動いてるものならソース書き換えなしで方式変更可能

223 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 01:56:08.60 ID:ZIYWI5KO.net]
つまんない話題そろそろ終わらせてよ

224 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 05:10:17.51 ID:NdnuNKsT.net]
はじめてAtomというテキストエディタを知った。すげえ
これ使うのと、NetBeans使うのとどっちがいいのかな?
併用するってのも難しいよー

225 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 05:26:16.14 ID:d9YSx1pe.net]
エディタ類はカスタマイズをある程度しないとまともに使えないでしょ。
ちゃんと自分流にカスマイズされればベストになる可能性はあるけど、
カスタマイズに自信がない人はIDE使ったほうが作業効率はいいだろう。

226 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 06:31:34.00 ID:PU9mDoTr.net]
そいつは正規表現だ
php以外でも同じように使う



227 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 11:57:09.68 .net]
AtomがWebサーバになって、書いたHTMLとJSがその場で動いたら面白い?のでは?
JavaScriptのEmacsとしてこの先生きのこれるか

228 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 12:37:20.32 ID:NdnuNKsT.net]
エディタがクッソ重くなる予感

229 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 18:29:01.39 ID:uCJ+Rmhu.net]
IDEのエディタ部分に不満をもったりしないのだろうか。

230 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 22:24:42.03 ID:ZIYWI5KO.net]
VS codeってどうなんだろ…

231 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 23:37:04.41 ID:9y/cXELu.net]
インテリセンス機能するんだっけ?

232 名前:デフォルトの名無しさん mailto:sage [2016/04/03(日) 04:04:48.56 ID:A3StH/M8.net]
phpstormが無料で使える(30日評価版ではない)って聞いたんだけど
やり方まとめてるサイトないかな?

233 名前:デフォルトの名無しさん mailto:sage [2016/04/03(日) 04:35:20.52 ID:Leps+2Do.net]
そりゃ海外サイトでごにょごにょしてくれば使えるだろうけど
有料ソフトウェアなんだからそんなことするんじゃありません

234 名前:デフォルトの名無しさん mailto:sage [2016/04/03(日) 05:33:40.35 ID:iNd2PQNq.net]
Adobe税にApple税に……大変だ

235 名前:デフォルトの名無しさん mailto:sage [2016/04/03(日) 22:25:24.56 ID:vWJbXXGn.net]
とりあえずNetBeansにしとくかな

236 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 06:40:50.08 ID:4hZuKlgI.net]
有料ソフトを無料で使おうなんて考える奴は
プロとして失格



237 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 09:44:25 ]
[ここ壊れてます]

238 名前:.62 ID:s52B3h8o.net mailto: いやいや金を使わず原価コストを下げて使おうってのがまたプロってもんだ []
[ここ壊れてます]

239 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 09:45:21.88 ID:s52B3h8o.net]
会社でいうと人件費(固定費)に金をかける社長は基本的に社長失格。向いてない

240 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 09:45:53.36 ID:s52B3h8o.net]
それと同じ

241 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 11:27:01.25 .net]
家賃と人件費は毎月掛かる費用だから、
100倍の金銭感覚で考えた方がええで、って
ばっちゃが言ってた

242 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 12:50:07.11 ID:tWTMiefV.net]
ttp://alfalfalfa.com/
このサイトみたいに記事の2chレスに対してのコメントを近くに表示するのってどうやるん?

243 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 12:55:59.98 ID:LrWEI3Rn.net]
JavaScriptでDOM操作するの

244 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 14:26:43.44 ID:+Zn59SDD.net]
PHPかんけーねーし、
ブラウザのソースみりゃわかんだろ

245 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 22:08:09.50 ID:1LILMCI+.net]
>>236
ほえーjavascript使うんっすね
ありがとう!

>>237
すまんすまん初心者なりに考えた結果PHP使うのかと思ってw
ソースも覗いてみるよ〜

246 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 22:12:34.35 ID:XmiF8pQ4.net]
まあサーバサイドとかクライアントサイドとか
基本のキすら学んでない人にとっては、間隔がつかみにくいんだろうな



247 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 22:35:56.66 ID:0+RtGrV4.net]
millkeyweb.com/if-mobile/
にある、
<?php if ($is_chrome) : ?>
// Chrome用コンテンツ
<?php else: ?>
// その他用コンテンツ
<?php endif; ?>
をWordPressで試しているのですが、Chromeで実行しても $is_chrome が
空のようで「その他のコンテンツ」のほうが表示されます。
なぜですか?

248 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 22:50:30.56 ID:LrWEI3Rn.net]
WPなんてしらんけど
$is_chromeっていうグローバル変数はちゃんとそのファイル内で使えるようになってんの?

249 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 22:54:41.79 ID:9uPoM1fV.net]
やってることを理解していない典型例
教えてもらったうえで何が理解出来るというのか

250 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 00:22:50.90 ID:PBrOQNL5.net]
WPで試してるんだから使えるんじゃないの
https://codex.wordpress.org/Global_Variables

UAに何送信してるか調べてみたら?

251 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 00:37:57.65 ID:aIjRskG1.net]
if文をコロン/セミコロン/endifで書けることを今知った
いやたぶん使わんけど

252 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 06:26:24.09 ID:w1a858Dh.net]
PHPだけに限ったことじゃないんだが、プログラミングやってると文字列ばかり見てめまいがする。
みんなは頭が基地外になってこない?オレは文字列の羅列を見るだけでめまいがする。

253 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 06:35:27.28 ID:hR4UL7wD.net]
>>244
PHP自体がテンプレートエンジンだから軽量な実装する場合にviewで割りとよく使われるぞ

254 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 10:35:42.12 ID:ppnKHRiK.net]
>>241
どうやればいいの?

255 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 11:13:51.20 ID:oEPANDny.net]
グローバル宣言してますか?

256 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 11:17:29.11 ID:ppnKHRiK.net]
>>248
特に何もしていません



257 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 11:21:27.14 ID:oEPANDny.net]
>>249
使う前に

global $is_chrome;

とおまじないを唱える

258 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 11:24:37.57 ID:ppnKHRiK.net]
>>250
出来ました。ありがとうございました。
グローバル変数を使う場合にわざわざ再宣言しなくちゃいけないのはなぜ?
phpって面倒臭い言語ですね

259 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 11:36:24.48 ID:hR4UL7wD.net]
PHPが悪いんじゃなくてWPの設計が悪いだけだろ

260 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 11:42:29.01 ID:oEPANDny.net]
>>251
PHPにおける変数のスコープを理解することは重要

>グローバル変数が自動的に関数で使用可能で ある C 言語と少々
>異なっていると気がつかれるかもしれません。C言語のような場合、
>グローバル変数を不注意で変更してしまうという問題を生じる可能性
>があります。PHP では、グローバル変数は、関数の内部で使用する
>場合、関数の内部でグローバルとして宣言する必要があります。

php.net/manual/ja/language.variables.scope.php

261 名前:デフォルトの名無しさん [2016/04/05(火) 12:08:31.00 ID:5k7a1AT7.net]
【OS名】MacのMAMP
【PHPのバージョン】5.6.10
【連携ソフトウェア】なし
【質問内容】
こちらのページの、ページ数がいくつあるかをスクレイピングで取得したいです。
www.amazon.com/gp/offer-listing/0996275460/?condition=new
このページの場合だと、4という数字を取得したいです。

<!DOCTYPE html>
<html lang = "ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>テストプログラム</title>
</head>
<body>

<?php
$dom = new DOMDocument;
@$dom->loadHTMLFile('www.amazon.com/gp/offer-listing/0996275460/?condition=new');
$xpath = new DOMXPath($dom);

$num_pages = $xpath->query('//ul[@class="a-pagination"]/li[last()-1]/a');

var_dump($num_pages);
echo $num_pages;
?>

</body>
</html>

262 名前:デフォルトの名無しさん [2016/04/05(火) 12:11:59.63 ID:5k7a1AT7.net]
続きになります。

PHPの入門書を何回か読んで、ネットの情報を読んで手探りで実践しているところです。
実行した所、このような結果が帰ってきます。
object(DOMNodeList)#3 (1) { ["length"]=> int(0) }

$num_pagesのlengthのintが0ということは、
どこかでミスがあり$num_pagesに何も格納されていないと思い、
いろいろ試してミスを探してみましたがわかりませんでした。

$num_pages = $xpath->query('//ul[@class="a-pagination"]/li[last()-1]/a');
の所にミスが有ると思い、いろいろなパターンで試してみました。

$num_pages = $xpath->query('/body//div[@class="a-text-center a-spacing-large"]/ul/li[last()-1]/a');
などと、
XPathの正規表現を確認しながら、
[@class=""]やlast()などを削除して余計なものをつけずに
なんでもいいから値を取得しようとしても取得できず、

いろいろなパターンを試してみましたが、
結果は
object(DOMNodeList)#3 (1) { ["length"]=> int(0) }
ばかりで変わりませんでした。

勉強不足で非常につまらない所で間違えているとは思うのですが、
今の私にはどこが間違っているかわかりませんので、
お知恵を貸しいただけませんでしょうか。

ご指摘いただけますと非常に嬉しく思います。

263 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 12:49:13.36 ID:PBrOQNL5.net]
>>254
まずは取得したHTMLの内容を見ること。
そしてそこに書かれている内容を読むこと。

264 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 13:01:19.31 ID:w0vmBuKb.net]
file_get_contents して正規表現で抜き出せばいい
php.net/manual/ja/function.file-get-contents.php

265 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 13:02:56.33 ID:hR4UL7wD.net]
>@$dom->loadHTMLFile('www.amazon.com/gp/offer-listing/0996275460/?condition=new');

@なんてつけてエラー制御してるから肝心なことがわからないんやで
503返ってきてるしBOTと見なされて拒否られてるってところだろう
ストリームコンテキスト作成してみるとかcURL使ってみるとか

266 名前: []
[ここ壊れてます]



267 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 14:11:45.62 ID:ruInOaYl.net]
カウントして、ファイルに書き込んでリダイレクトすると、カウントが1つ増えるんだけど、なにが原因でしょうか…

268 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 14:27:24.69 ID:F6iG++QK.net]
>>254
$dom = new DOMDocument;
@$dom->loadHTMLFile('www.amazon.com/gp/offer-listing/0996275460/?condition=new');
$xpath = new DOMXPath($dom);

$num_pages = $xpath->query('//ul[@class="a-pagination"]/li[last()-1]/a');

$num_pages がおかしいなら、その前の、$xpath もチェックする。
それもおかしいなら、その前の、$dom もチェックする

こういうように、周辺の変数の内容を、すべて見るのが早い。
それか、1行ずつデバッグして、変数の内容を見ていく

269 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 14:48:14.91 ID:hR4UL7wD.net]
>>259
コードも出さなきゃ答えようがない

270 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 16:31:14.94 ID:yO8yjDkc.net]
例えばなんだけど DBに接続するためのユーザー名とパスワードを記述したphpファイルがあるとして
/web/lib/userdb.php(600)
みたいな形にしてwebからアクセスできないようにすればたとえそのメインphpファイルがサーバーのミスやなんかしらの際に流出してもdbのIDとパスワードは守れる?

271 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 16:37:11.54 ID:Urfcnp8R.net]
>>262
dbのIDとパスワードが漏れても外部からアクセスできないようにしとけよ

272 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 16:41:19.57 ID:+K5F7tY8.net]
Webに公開されていないパスに置けば大丈夫では

273 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 19:24:34.83 ID:izAp1z4+.net]
>たとえそのメインphpファイルがサーバーのミスやなんかしらの際に流出しても

ファイル自体が流出したらパーミッション関係ないがな。

274 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 20:35:59.23 ID:H8S937SL.net]
WordPressなんかは、ユーザー名とパスワードを記述したファイルも公開領域だけどね。

275 名前:デフォルトの名無しさん [2016/04/05(火) 22:24:24.93 ID:cf9M5ih9.net]
MySQLの部分一致 
%ae%
とかやると
abcdeのレコードが一致してしまうんですがどうすればいいんでしょうか

つまり何が言いたいかというと
続いてない文字列が一致してしまう
先頭と端が一致してるのも取り出してしまう

276 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 22:34:15.27 ID:1mo6kAvy.net]
それはおかしい。
SQLとその付近のコードはどうなってんの?



277 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 22:34:20.37 ID:UC4UBEI8.net]
MySQLのほうのログ漁って
想定通りのクエリが飛んでるか調べるとか?

278 名前:デフォルトの名無しさん [2016/04/05(火) 22:38:27.01 ID:cf9M5ih9.net]
ああ、まじですか
やっぱりおかしいみたいですね
コードを見直してみます。
ありがとうございました

279 名前:デフォルトの名無しさん [2016/04/05(火) 22:42:55.17 ID:cf9M5ih9.net]
>>269
なるほど。。

280 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 23:00:19.33 ID:gOJOQ9cJ.net]
未だに開発環境でも常にApache+PHPでやってた骨董品なんだけど, PHPのビルトインWebサーバめっちゃ便利やな, 軽んじてたわ

281 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 06:32:29.83 ID:cc6aqB73.net]
全レススマソ
>>263 それだわ 有難う
>>264 一応そうしてるけどそれでもなんか怖くて・・・
>>265 エッ

282 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 06:58:14.77 ID:chXvhDzz.net]
メインの文字読み落としただけだから気にしないでくんろ

283 名前:デフォルトの名無しさん [2016/04/06(水) 11:48:54.09 ID:CSfgqPLP.net]
>>267ですが一日中考えた結果
前方一致と後方一致の両方が一致しているので取り出してしまっている

という結論に至りました
あいまい検索って本当にあいまいなんですね

284 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 11:58:30.75 ID:MS+65iNt.net]
>>273
えっ いや違和感あるんだが
メインのphpが流出する⇒db接続に使う資格情報が書いてあるっぽいファイルのパス・名前が流出する、ってことで
で、このdb用ファイルの内容をどのように取得する?

db用ファイルがwebからアクセスできる場所にある場合でも、生txtであったりあるいは設定ミス等によって
webから直アクセスして実行結果ではなくファイル内容そのものが読める場合でない限りは資格情報は盗まれない
<?php $id='user'; $pass='password'; ?> と書かれたファイルを.phpとして実行しても何も返されないわけで
逆に生txtか生txt同然であったならば、chmod 600してても何も防止できない

好きに.php等をアップロード&実行されてしまう状況ならばどこに置いても一緒

mod_phpやfpmからアクセス可能じゃなかったらそもそも使えない

あとはサーバに侵入される、あるいは雑居ビル状態の共用サーバ使ってる場合等
前者はroot権限かdb用ファイルの所有権がないならchmod 600も一応意味があるが侵入されてるなら時間の問題
後者は利用者ごとに実行ユーザを厳しく切り替えてるなら意味を見出せなくもないけど
DocumentRoot外にファイルを配置できる時点でなさげ

だいたいdb接続情報のパスが漏れたらその時点でやばいっつーならmediawikiとか使えなくね

285 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 12:43:28.61 ID:cc6aqB73.net]
サーバーのミスって.htaccessの設定ミスとかそう言う話だよ!
後は何らかの原因でユーザーログイン出来てしまった時にrootのパスワードがわからない状態でソースが覗けなければいいかな程度
そっから先は俺らの考える事じゃないし・・・

286 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 13:26:05.81 ID:K9SGMphy.net]
>>275
いやその結論はおかしい。mysqlスレいこ



287 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 14:09:25.41 ID:ZQg6xGn/.net]
>>275
んなわけないだろ
where句全部書いてみろよ
つかSQL作ってるコードを貼ってみろよ

288 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 14:58:23.75 ID:MS+65iNt.net]
>>277
領分で想定範囲に線引き入れるならばshellに入られる事態がすでにお手上げ状態だと言っても良いと思うが
それはそれとして、webから覗ける範囲に所有者以外が書き込み可能なファイル/ディレクトリが1つもないことの確認を推奨
メインの.phpにセキュリティホールがあればやはり全部無駄になるからこれも(ありがちなのがアップローダ機能)
ところで.htaccessでどんな設定書いてんの

289 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 15:28:04.17 ID:gq7o88bt.net]
ドット始まりのファイル名にしとけばよほどのことをしてもWeb経由では見られないんじゃね

290 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 16:07:22.70 ID:b8EzfBRn.net]
Laravelなら安心!

291 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 16:22:16.52 ID:zh0XMq5l.net]
>>281
これは隠しファイル扱いですよという一種の約束事なので、
知っていれば自由に読み書きできてしまう

292 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 18:58:39.31 ID:Y+jXv/sp.net]
超初歩的な質問で申し訳ないのですがXSS対策のエスケープで事前に
function h($s) {
return htmlspecialchars($s, ENT_QUOTES, 'UTF-8');
}
を作っておくことを学んだのですが
$sはそのphpでは上記部分以外では見つからないのですがどういう意味を持つ引数なのでしょうか?
また事前に$sの宣言を行わなくても良いのはなぜでしょうか?

293 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 19:22:28.16 ID:xAgh0Pyq.net]
引数って言葉使ってるけど、関数が何か理解してますか?

294 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 19:23:39.55 ID:b8EzfBRn.net]
Manual見よう

295 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 19:45:33.76 ID:ZQg6xGn/.net]
>>283
httpdのデフォルトの設定でドット始まりは見せないようになってるでしょ
.htaccess の設定ミス程度ではこの動作は変わらないから、余程のことをしない限りは安全でしょ

296 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 19:50:32.95 ID:xAgh0Pyq.net]
Apache限定の話だけどネ



297 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 22:06:02.77 ID:chXvhDzz.net]
PHPでは$_POSTなどのスーパーグローバルは直接操作するなと言われているけど、
書き換えることが出来てしまうということが、
バリデーターのテストコードを書く上で、物凄く便利であるということに気付いた春。

298 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 23:11:26.49 ID:q1HrDxSz.net]
javascriptやってて最近php始めたんですが、文字列や正規表現などの記述でphpはイライラします。phpは何でjavascriptみたいな柔軟な記述が出来ないのでしょうか?phpなんて作った奴は誰ですか?

299 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 23:20:26.16 ID:HSAkNgFK.net]
>>284
function h($s) {
return htmlspecialchars($s, ENT_QUOTES, 'UTF-8');
}
echo h($s);

function h($s) { の $s は、仮引数(parameter)であって、
関数のための受け渡し用の仮の変数だから宣言はいらず$vとか好きにしていい。
echo h($s);の $s は、実引数(argument)であって、
実際に流れの中で利用されている変数で、宣言や代入され値が入っている。

300 名前:デフォルトの名無しさん [2016/04/07(木) 00:34:49.43 ID:838jiYpM.net]
まずjsは柔軟じゃない。ガバガバなのだ

301 名前:デフォルトの名無しさん mailto:sage [2016/04/07(木) 03:41:23.49 ID:861uWPB3.net]
Apacheともう一個なんだっけ最近上がってきてたやつ あれの評判どうなんだろうね

302 名前:デフォルトの名無しさん mailto:sage [2016/04/07(木) 04:18:50.70 ID:PO5E9BnC.net]
スレチ 独り言 質問しっぱなしが最近大杉
こっちに引っ越してきてから過疎スレそのものだったのに
春休みで同じやつがやってるんだろ

303 名前:デフォルトの名無しさん [2016/04/07(木) 13:08:16.18 ID:O69mbgIK.net]
php-cs-fixerをインストールしたらPHPのバージョンが勝手に7に上がってました。OS標準(Mac)のバージョンに戻すことは可能ですか?
上書きされてしまったのでしょうか

304 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 13:57:00.23 ID:pJYoLHo6.net]
read.php ← conf.txt
write.php → conf.txt

こんな感じて特定の設定を保存しておきたいんだけど、おすすめの方法ないですか
自前で全部作らないとダメ?

305 名前:デフォルトの名無しさん [2016/04/11(月) 14:24:35.69 ID:2HwASHVN.net]
すみません、ページごとの閲覧数を表示できるPHPってありますか?
ワードプレスの「WP-PostViews」プラグインは知っていますが、ワードプレスではないサイトなので・・・

306 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 14:28:52.63 ID:cX0ZVNHx.net]
>>296
おれは設定を array にした PHPコードにしてファイルに書いちゃう手をよく使う。
書く処理は作らなくちゃいけないが、読む処理は include するだけでいい。



307 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 14:34:17.61 ID:pHIRjOY+.net]
>>297
tamae.2ch.net/test/read.cgi/php/1330980652/

308 名前:デフォルトの名無しさん [2016/04/11(月) 14:42:15.76 ID:2HwASHVN.net]
>>299

ありがとうございます。
質問してみました。

309 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 14:58:26.31 ID:zPYXS2gG.net]
>>298
書く処理を作るくらいならばいっそserialize()してしまったほうが良くないか
以前試したときは速度的には配列だけの.php読み込みもcsv読み込みもunserializeもほぼ変わらない
ただ、設定ファイルをそれなりに頻繁に手で書き換えるなら配列.phpやcsvのほうが確かに便利

310 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 15:28:56.19 ID:cX0ZVNHx.net]
>>296
設定ファイルの可読性を全く問わないなら serialize/unserialize を使うって手もあるね。
JSON形式で保存することにして json_encode/json_decode を使うって手もありそう。

311 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 15:34:31.20 ID:cX0ZVNHx.net]
おお、かぶったw

>>301
おれも計ったけど、unserialize は結構遅かったような。
設定ファイルじゃなくキャッシュだが、それで serialize 使ってたのを array を使うようにした。
と言っても設定ならどのみち一瞬で読めるから出来合いでやれる方がいいかな。

312 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 15:41:47.48 ID:cX0ZVNHx.net]
連投すまん
array でやるなら var_export が使えるのを思い出した。
おれは余計なスペースや改行だらけになるのを嫌って自前で書いたが、設定ファイルならむしろこっちの方がいいだろう。

313 名前:デフォルトの名無しさん [2016/04/11(月) 15:45:31.94 ID:YMrMfC9q.net]
ディブ アライン アライン

なんですかこれ

314 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 16:34:07.85 ID:PHHPdBbi.net]
JSのTypeScriptみたいな、PHPを別言語から変換して使う言語はないのでしょうか?
静的型付け言語出身なので、動的言語に慣れなくて・・・
本当はjava鯖がいいのですが、共用鯖だと使えないところが多いので

315 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 16:46:29.06 ID:zPYXS2gG.net]
>>303
実際やってることがほぼ変わらないからか、php5.6系ではいずれもほぼ同じだった
確認は定番のmicrotime(true)@cli、読み込むデータのサイズをバカみたいに大きくしても同様
真面目に考えるならopcacheとの兼ね合いを第一に考えるべき
…というかunserializeと他とで速度差が露骨に出るって.phpコード読み込みにopcache効いてましたってオチじゃなかろうな

var_exportは設定読み書きに使うにはちょっと読む処理を書かなきゃいけないような

316 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 16:50:34.64 ID:jGs+gPDI.net]
そんな1回あたり1ms未満の戦いしても意味ないんじゃないの
1万req/sec超とかなら話は別だが



317 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 17:45:50.42 ID:cX0ZVNHx.net]
>>307
ごめん、PHP5.1.6 で試したら serialize 結果をそのままファイルに吐いたのを userialize するのが一番速かった。
計った時のいろんな事情や条件がおぼろげで曖昧になってたよ。
速度比としてはこんな感じ。

A. serialize結果がファイル化されたものを、unserialize(file_get_contents('conf.txt)); する
B. serialize結果のデコードをPHPコード化(<?php $conf=unserialize([serialize結果の文字列化]); )したファイルを include する
C. var_export結果を PHPコード化(<?php $conf=[var_export結果]; )したファイルを include する
D. Cと似てるけど、余計な空白や改行を含まないファイルを include する

A 5.4
B. 14.7
C. 19.5
D. 12.6

サンプルデータは、適当なディレクトリツリーを array化したのにしてみた(A のデータファイルで 7KB規模)。

読み込みを include 一発で済ませられるようにするなら D、極簡単な読み込みコードを書くなら A だね。
データファイルの可読性や編集しやすさを取るなら C/D、読み取りパフォーマンス重視なら D、書き込みコードを簡単にするなら C だ。
JSON も試したかったけど今手元にあった環境では使えなかった。

>>308
それはその通り、ほ

318 名前:とんど影響の無い時間を稼ぐのに無駄に苦労するのはただのアホだわな。
おれの場合は処理済みデータのキャッシュ化に使ったから読み取りパフォーマンスを重視したけど。
[]
[ここ壊れてます]

319 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 18:38:16.01 ID:jGs+gPDI.net]
YAMLにしろよ

320 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 01:59:13.91 ID:vDLzdyvt.net]
PHPの勉強にweb巡回ツールを作成中なのですが
現在はfire_get_contentsでHTMLを取得し、DOMDocumentからLoadHTMLでDOMドキュメントに変換し、それをsimplexml_import_domでxmlに変換し、xpathで要素を指定するといった方法を取っています。
しかし変換したxmlの中身のデータに元のソースコードの食い違いなど不審な点があったので、中身の要素を全て表示してみたところ、htmlソースの「::before」「::after」で指定されている部分のソースコードが取得出来ていないという事が判明しました。
調べてみたところこのタグはCSSでいじる段階になってからHTMLコードを追加するといったタグのようで、fire_get_contentsで取得したhtmlには含まれていないようです
こういった表示段階になって始めて表示される要素まで含めた完全なHTMLソースを取得したいのですが、何か良い方法は無いでしょうか。
よろしくお願い致します。

321 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 02:12:44.98 ID:NLppiuAm.net]
>>311
PHPとは関係無い話になっちゃうけど、chrome かなんかのレンダラを使う方法があったような。
早い話、ブラウザのインスタンスを作ってそれを制御する感じ(もちろん物理的な画面は必要無い)。
スクリーンショットの取得なんかもできたと思うし、多分JSなんかで加工された後のDOMも取得できると思う。
やり方わかったら教えて。

322 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 02:20:26.21 ID:20poyVM6.net]
cssの擬似要素だけが問題なら自分で展開すりゃいいんでないの

っていうかjavascriptでUA判定して内容切り替えとかしてたらどうすんの

323 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 02:38:41.31 ID:vDLzdyvt.net]
>>312
やっぱり一旦ブラウザに読み込んでからhtmlを取得した方が確実みたいですね
設定作業が難しそうなので避けていましたが、セレニウムってのでそんな感じの事が出来ると思うのでもう少しやり方を調べてみようと思います

>>313
UAならリクエスト送る段階で偽装出来ると思うのですが、なるべく対応したいです
やっぱりページ更新のチェック位置が取得出来ない部分にあったら巡回不可能なサイトが出来てしまう訳ですし・・・

HTMLやCSSにはあまり詳しくないのですが、擬似要素での可変部分は内部的な記述で隠蔽しているという訳ではないんですね
自分で展開できそうならそちらも視野に入れて調べてみます、ありがとうございます

324 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 03:01:29.60 ID:20poyVM6.net]
>>314
スクレイパなどではなくてほんとに汎用web巡回更新チェックか。cssの擬似要素は単純っちゃかなり単純なのですぐわかると思う

ところで素朴な疑問なんだけど
rssを使うとかならともかく生htmlを使って巡回・更新チェックを行う場合、同じく生htmlに吐かれたアクセスカウンターとかどうすんの?
さらに生htmlに実データが無くデータ取得から整形までクライアントに負わせ同時に確実な広告表示を実現してるサイト等の場合も
更新に関わらず内容が変化しうる、これはjsエンジン等を突っ込んだー、だけじゃ解決できない気がするんだけどこの辺どうなんだろう?

325 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 03:29:34.82 ID:vDLzdyvt.net]
>>315
あまり詳しくはないのですが要素の位置に変化が無ければ値が変化しても特に問題は無いと思います
htmlが取ってこれればそれをdomに突っ込んでxmlに変換してxpath通せば特定要素だけを取ってくる事は出来るので
それでhtml上の更新時に必ず変化が起きる要素を一定時間ごとにチェックして変化が確認できたらログを保存してチェックデータを更新といった具合で実装しようと思っています

326 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 03:32:39.65 ID:w4romtCS.net]
思い込みで話すとだめという例



327 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 05:46:53.79 ID:vDLzdyvt.net]
しかしどうしても不思議なんだけど外部サーバから動かす時ってブラウザはどうやって用意するんだろ・・・
seleniumにブラウザのドライバがあってそれ使ってコマンド飛ばせばブラウザを動かせるってのは分かるんだ
そしてwindowsやらmacならフツーにfirefoxなりchromeなりインストールしたら使えるってのも分かる
しかし外部サーバにphpファイルをアップロードして使うって話になると肝心のwebブラウザはどうやって読みこませればいいんだろう
元からインストールされてるとも思えないしレンタルサーバにwebブラウザがインストール出来るのか、それともwebブラウザのexeファイルだけ置けば普通に使えるのか
そもそもレンタルサーバがGUI環境じゃなかった場合webブラウザってのはマトモに動くのか
php web driverってのがある以上何らかの手段はあるんだろうけど、レンタルサーバ上でセレニウムを動かすに当たって何をアップロードすればいいのかっていう必要なものが見えてこない・・・うーむ・・・

328 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 09:22:36.97 .net]
>>318
めんどくさいので、
(1)node.jsが使えるレンタル鯖を借りて
(2)JS+Node.jsによるWebクローラー/ネットエージェント と言う本を買いなさい

329 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 09:30:30.18 ID:K20+5BP2.net]
>レンタルサーバ上でセレニウムを動かすに当たって何をアップロードすればいいのか
いやいや、普通はルートでやるんですよ
VPSが最低要件
それとそこそこのメモリが必要になるでしょうね
そもそもクローラーをレンタルサーバでやる意味がわからないのだけれど・・・
自分のPCでいいじゃない

330 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 10:42:50.72 ID:PLXRZMCg.net]
レンタルサーバーでそれやられたら負荷が高くて同居人に迷惑だな

331 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 10:55:55.85 ID:NLppiuAm.net]
>>320
マナーの問題は置いておいて、こんな処理で root が必要?
パッケージマネージャみたいので入れるなら root を要求されるだろうけど、ディレクトリ一式上げれば動くんじゃないの?

332 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 11:55:03.31 ID:gTjFdqWa.net]
PhantomJSとかその派生は使わんの?

333 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 11:59:06.19 ID:uMcJYrhA.net]
>>322
FirefoxとXvfbが必要
結局JavaScriptで操作した分の対応ってだけで
DOMでない擬似クラスの:afterや:beforeはどうしようもないけど

334 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 14:46:55.51 ID:pjxLuk2S.net]
ログファイルを利用してwebサービス的なものを考えてはいたんですがseleniumは負荷が激増しそうなのでやめておこうと思いますお騒がせしました
むしろ読み込んだhtmlデータを確実に破棄出来てるか、メモリリーク起きてないかが気になってきました
今までは使った変数とか適当に放置してましたがunsetで確実に破棄して行こうと思います

335 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 16:06:33.46 ID:xc/VnKsQ.net]
レベルが高くで全然わからん
やっと$変数名っての覚えた

336 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 17:46:29.87 ID:ZuNPcNPl.net]
PHPやろうと思ったら仮想サーバーとかSQL?とかいろいろ設定しないといけなくて手が出せない
なんていうか全部パッケージされてて解凍かインストールするだけでPHP初められる開発ソフトって何かないか?



337 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 17:54:12.53 ID:xc/VnKsQ.net]
>>327
xampp

338 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 17:56:37.42 ID:pjxLuk2S.net]
>>327
WebMatrix3ってのインストールして起動して新規で空サイト立ち上げたらホーム→新規→新しいファイル→PHPっての入れて
phpコード書くっぽい部分にecho 'test';って入れてから作ったファイル右クリして「ブラウザで起動」選んだら動くよ
mysqlとかwordpressとかも大体入ってる

339 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 20:52:26.03 ID:VhrT22lj.net]
Propelって、コードを読めば読むほどアホが作ったんだなって分かる。
壮大なゴミクズだな。

340 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 20:57:22.23 ID:uMcJYrhA.net]
php4時代の産物に文句言ってもしゃーない

341 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 21:09:45.08 ID:FIX7kEEP.net]
何で今Propelなんや, Doctrineやろ

342 名前:デフォルトの名無しさん [2016/04/12(火) 21:33:32.50 ID:VhrT22lj.net]
既存プロジェクトだから。
新規ならDoctrineだって馬鹿らしい。

343 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 00:09:44.78 ID:pIZn+U3p.net]
>>327
PHPやるために仮想サーバやデータベースは必要じゃないよ。
仮想サーバが必要なら入れないといけないし、データベースもそう。
深く考えすぎじゃないでしょうか。

344 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 00:36:38.99 ID:eHbmdEvw.net]
>>333
おすすめORMおしえて

345 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 03:31:33.91 .net]
>>327
土日でわかるPHPプログラミング
と言う本やな
自分のパソコン側ではなくてVirtualBoxにPHPやらデータベース入れて動かす方法

346 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 04:22:33.01 ID:799QV5+T.net]
VirtualBoxで動作確認環境を構築するって仮想マシンのOSはLinux入れろってこと?
ローカルpcでphpのソース書いて、わざわざVM側にアップロードして動作確認するの?
開発する時はローカルにxampp入れてソース書いてはローカルで動作チェックしてってやらないの?
ローカルでチェックした後にLANにあるテストサーバや本番サーバにアップしたりしないの?



347 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 04:39:51.30 ID:SBj4pmRf.net]
最低限php -l script-fileできりゃいいや

最近のphpはwindows版バイナリがvcランタイム必須なのがちょっと面倒

348 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 05:45:48.69 .net]
>>337
Vagrantと言う仕組みが有って、ローカルのフォルダの内容をVM側に自動で同期出来る
ローカル側では秀丸エディタとかPhotoShopとか使えるわけで転送も不要、楽だろ

本番機との同期はGitにしなさい
ローカルで開発、SourceTreeでBitBucketにプッシュ、本番機でプル
バージョン管理もバックアップも出来る

349 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 05:51:50.27 ID:od2stSEV.net]
IDEの設定でサーバと連携させる
実行したらFTPなりSCPなりでデプロイしてIEでの実行結果がIDE内に表示される

350 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 07:30:03.80 ID:m+b23jHk.net]
>>335

一般に出回っているもので、まともなORMなんてPHPには無いよ。どれもこれもクソ。
PDOがとても優秀なんだから、PDOをラップしたライブラリを自作すればいいと思う。

何年か前にPDOをラップしたDataMapperの作り方を詳細に書いてくれてたページがgoogle検索の上位にいて、
オレはそれを参考に作って使ってる。
さっきちょっと検索してみたけど、今はどうでもいい内容の薄いページばかりが上がってきて、
ちょっと見つけられなかった。

351 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 16:10:54.68 ID:m2aMgexj.net]
初歩的で申し訳ないですがスマホ用ページとPC用ページでURLを変えたくない場合
一つのPHPにスマホ用とPC用のコード両方書いてもブラウザで判別して分岐させたら
処理は重くならないですよね?
ファイル分けた方が軽いんでしょうか

352 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 16:29:00.50 ID:V9vZnwrf.net]
重くなるってほど変わるような話じゃない
というか最近のトレンドは画面サイズで処理振り分ける方法
ようは全部スタイルシートでやる

353 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 17:30:50.08 ID:Qs0P8RGZ.net]
諸先輩方に質問なのですが
特定の文字列の末尾に[]で囲まれた0以上の整数値(最大値は不明)が入っている事があります
文字列にこれが含まれているかを判定して[]まで含めて除去したいという場合どのような処理を用いればよいのでしょうか

354 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 18:05:35.83 ID:KCoW39g8.net]
>>344
微妙に曖昧な点があるから、文字列の具体例と欲しい結果を書いてごらんよ

355 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 18:50:02.39 ID:SBj4pmRf.net]
>>345
曖昧な点がどこにあるか教えてもらえないでしょうか

356 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 18:53:10.23 ID:fbVZAWIt.net]
例を書けよ、オレもあいまいだから様子見してた
その探したい文字列は複数あるの?
全体は複数行なの?



357 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 18:59:33.89 ID:OSAV0HGg.net]
preg_replace('/\[\d+\]$/', '', $s)
とかじゃないの

358 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 19:04:16.19 ID:pIZn+U3p.net]
そうだと思うよ。
文字列のパターンによっては [ 以降を切り捨てるだけで解決する話かもしれない

359 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 19:20:04.40 ID:eHbmdEvw.net]
整数値と明示されていると/\[[1-9][0-9]*\]$/としたくなるな

360 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 19:20:44.70 ID:pIZn+U3p.net]
0以上の整数値だそうですよ

361 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 19:21:34.17 ID:eHbmdEvw.net]
Oh

362 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 19:30:22.40 ID:Qs0P8RGZ.net]
返答遅れましたが、具体例は'foo/bar[1]/qux/quux[3]'といった形で
'foo/bar[1]/qux/quux'だったり'foo/bar[1]/qux/quux[30]'だったりします
欲しい結果としては、どのパターンでも最後のカッコだけを切り落として'foo/bar[1]/qux/quux'という結果です

363 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 19:38:51.78 ID:Qs0P8RGZ.net]
>>348
今確認しましたがピッタリです。ありがとうございます

364 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 21:51:54.45 ID:Qs0P8RGZ.net]
度々申し訳ありません、再度質問なのですが
//foo[@id="aaa"]/bar/baz[@id="bbb"]/@xyz
といった文字列の中から、一番最後に出てきた[@id="xxx"]以降の文字列を取得したいのですが、これは正規表現で指定可能でしょうか
/\[@id=".*"\].+/で一番最初に出てきたid以降の文字列を取得出来る事は分かったのですが、一番最後のidを指定する方法が分からず困っています
検索文字列の中に[@id=""]が何度出現するかは不定、""の中に入る文字列も不定で何が入ってくるかは分からないという状態です
よろしくお願いします。

365 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 21:57:23.60 ID:pIZn+U3p.net]
先頭に .* つけとけばいいよ

366 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 22:06:18.52 ID:Qs0P8RGZ.net]
>>356
正規表現チェッカーで試してみましたが失敗しました
/.*\[@id=".*"\].+/ これで間違いないでしょうか



367 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 22:52:26.62 ID:pIZn+U3p.net]
>>357
/.*(\[@id=".*"\].+)/

368 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 23:05:42.73 ID:Qs0P8RGZ.net]
グループ化して前に.*を置くと配列の2番に欲しい要素が取れるんですね
何故これで取れるのかは少し理解が及びませんが、グループ内外の計算順序的な関係でしょうか・・・
ありがとうございます、とても助かります

369 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 00:20:33.95 ID:NDERo24Z.net]
でも多分、ちょっとテクい正規表現を使って書くより
素直にifやらforやらを使って処理したほうが幸せになれる。たぶんね。

370 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 00:59:09.74 ID:0z/54ctX.net]
クッソド素人な質問でごめん。

NetBeans8.1(PHPバンドル)+xampp5.6.19でやってるんだけど、デバックとかやったことがなくデバックの意味がよくわからなくて質問。

デバックってプログラムを途中で止めたり出来るってこと

ブレークポイント?で止めてその変数に何が入ってるとか見れたりするってことかな?
デバックを使うにはxamppのphp.iniを編集しないといけないみたいなんだけど、ということはレンタルサーバなんかの本番環境はphp.iniの設定がデバックできない設定になってるってことなの?

371 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 02:50:30.37 ID:nrccYQkH.net]
>>361
デバッグってのはプログラムが意図通りに動作しない原因を調べて修正する作業のこと
ブレークポイントとかで止めて変数チェック出来ると便利だけど別に出来なくても問題無い
要するに変数の中身が見たかったらechoとかprint_rとかで適当に変数の中身を出力してチェックするだけでも事足りる
むしろif文で更に条件絞り込めたりするからブレークポイントより使いやすかったりする
そういうデバッグ用の表示はif(DEBUG_FLAG){}とかで囲っておくとデバッグ終わったら定数をFALSEにすると一々コメントアウトしなくていいからラク
というか本番環境はデバッグ用に使っちゃ駄目じゃない?
問題が起きたらローカル環境でデバッグ済ませたコードで修正しようよ

372 名前:361 mailto:sage [2016/04/14(木) 03:57:13.82 ID:kAeel0Dm.net]
ありがと。php.iniにxdebug追加してNetBeansでデバック実行できた。
ブレークポイントの動かし方がいまいちわからなくて直感的に止めてやってみたけど変数の中身を確認する事ができた。
中身を見たけりゃデバックなんて使わずにechoするってのもわかった。

>本番環境はデバッグ用に使っちゃ駄目じゃない?
なるほど。そういうことなんだね

373 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 05:06:21.70 ID:3AVihPqE.net]
デバッグをはかどらせるためにデバッガを使っている。
これで用語が安定してくれるだろうか。
デバックのままな時点で注意力散漫なんだろうけど。

374 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 07:52:56.33 ID:NDERo24Z.net]
よぉし、エンバグなら任せとけ

375 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 07:56:28.93 ID:yvAyG8T7.net]
やめて!!

376 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 09:16:28.14 ID:Ut07vz2q.net]
デグレーダーと呼ばれた男



377 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 19:41:19.87 ID:V5OZRKDZ.net]
デグレとか気にしないためにも、テストコードはちゃんと書こうな! みんな

378 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 05:47:16.79 ID:AwudtfsZ.net]
いやでござる!

379 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 10:58:24.26 .net]
CSSのテストってどうすんやろか
よく「あれっinput textの角丸がなくなってるじゃん」とかなる

380 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 11:15:26.36 ID:hZLpy2lo.net]
ここがなんのスレだと思ってんだか

381 名前:デフォルトの名無しさん [2016/04/15(金) 14:41:36.55 ID:h/bEplyz.net]
PHP=WEB関連含むって思ってんじゃね?

382 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 15:32:55.87 ID:hZLpy2lo.net]
echo.2ch.net/hp/

383 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 16:16:21.15 ID:DHB605eu.net]
<form>
<input type="checkbox" name="s1">スイッチ1<br>
<input type="checkbox" name="s2">スイッチ2<br>
<input type="checkbox" name="s3">スイッチ3
</form>

こんな感じで複数のチェックボックスがあります。
これがチェックされているかいないか確認し、boolean型の配列で保存するにはどうしたら良いでしょう?
(スイッチの数は1〜1000くらいのあり不定です)

384 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 16:40:55.85 ID:vlLJvY6e.net]
nameを配列にする

385 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 16:44:16.32 ID:hZLpy2lo.net]
不定といってもチェックボックス数はわかるんでしょ?
<input type="hidden" name="checkbox_count" value="30">
みたいのを一緒に送れるなら作成する配列数がわかるし簡単でそ

386 名前:デフォルトの名無しさん [2016/04/15(金) 18:11:39.89 ID:CtWeAAug.net]
バージョンわからないが、そもそもPOSTできる数の上限があるの知ってんのかね?
まあ設定変更はできるけど



387 名前:デフォルトの名無しさん [2016/04/15(金) 18:32:22.00 ID:ckmbczRy.net]
無知な質問すまん
バッチファイル使って指定したバッチファイル強制終了させるにはどうすりゃいいの?

388 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 18:40:06.37 ID:AwudtfsZ.net]
端的にkill/killprocやtaskkillをexecで呼び出せばいいんでないの
事前にバッチ自身にgetmypidでpid吐かせといてもいいし、psやtasklistでプロセスの一覧拾ったり
あとは必要ならcrontab見て、Windowsだとatコマンドも使えたっけ

389 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 18:40:09.67 ID:KMLXrrkX.net]
>>374
<form>
<input type="checkbox" name="s[1]" value="1">スイッチ1<br>
<input type="checkbox" name="s[2]" value="1">スイッチ2<br>
<input type="checkbox" name="s[3]" value="1">スイッチ3
</form>


if(@$_POST['s']['2']) echo 'スイッチ2 はチェックされてるよ';

390 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 18:41:11.89 ID:KMLXrrkX.net]
ちょっと訂正

if(@$_POST['s'][2]) echo 'スイッチ2 はチェックされてるよ';

391 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 19:23:10.16 ID:nJ+BLq/e.net]
最近、新しい仕事でFuelPHPを使わなければいけなくなったんだけど、Webサイトや参考書を見てもいまいちピンとこない。
元々フレームワークなんか一切使わない、フルスクラッチ派のSEなんで、なんかMVCとかいうのが肌に合わないんだよなー。
もちろん時代の潮流としてフレームワークを使って作成したアプリ開発もしないといけないのはわかるんだけどさ。

fuelPHPを使ってゴリゴリにやっている若いエンジニアから、フルスクラッチ派を古株エンジニアのオレに対して小馬鹿にされるのがなんか切ない。

392 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 20:33:12.28 ID:fQgrroZ3.net]
@とかつかうのやめれ

393 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 22:15:50.32 ID:EFtvuIJr.net]
>>381
何でissetしないん?

>>382
車輪の再発明を毎回やってんの?

394 名前:デフォルトの名無しさん [2016/04/15(金) 22:22:10.68 ID:UZSoNJii.net]
>>379
サンクス
あと 指定したプログラムが終了したらそのbatも同時に終了する 的なbatはどうすれば作れるの?

395 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 22:29:02.96 ID:KMLXrrkX.net]
>>384
任意の値を取れる他の要素を使う場合も考慮して。
@ が遅いという留意点はあるけど、ここで示したい本質はそこではなく name の配列表現だから。

396 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 22:30:44.74 ID:7TuTTpcb.net]
@って正直自分も使いたくないんだけど、5系の環境で
$foo = @$bar ?: $baz;
はアリ? ナシ?



397 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 22:47:35.26 ID:AwudtfsZ.net]
今のphpは確かにname="value[n]"を$_POST['value'][n]にまとめてくれるけど
htmlソースがいかにもphp独自仕様です、って感じなので好きじゃない俺ロートル

>>385
情報が少なすぎるアンドなんかすでにphpの問題じゃない匂いがする

phpバッチにプロセス存否を監視させ続けるとか、
対象の別プログラムにロックファイルを生成させといてそれをチェックさせるとか(要clearstatcache()確認)、
そもそもphpバッチから別プログラムを呼ばせるとか、プログラムを監視して落ちてたらphpバッチを

398 名前:探して生きてたらこれを落とす別バッチを書くとか []
[ここ壊れてます]

399 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 23:57:49.68 ID:Bg5QZn6N.net]
自宅でwebクリエーターとして小さな個人会社向けにweb制作したいんですがHTML5+CSS3+Javascript+PHPだけで食えますか?
画像処理(デザイン)はめちゃくちゃ苦手でセンスゼロです。
wordpressのテンプレカスタマイズしたほうが食えますか?

400 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 00:14:57.05 ID:yp3MoCIl.net]
食うのに必要なのは、技術よりもまずコネと営業だ

401 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 01:18:41.49 ID:ESOj33QV.net]
受注してきました!→技術がないので作れません

402 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 01:32:20.87 ID:qRVltTpd.net]
→外注だ

403 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 02:51:57.19 ID:ESOj33QV.net]
利益がなくなりますw

404 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 03:08:54.48 ID:FFCasTRX.net]
>>382
MVCが肌に合わないから特定のフレームワークを使わないというのならわからんでもないが、
フルスクラッチ派だからMVCが肌に合わないというのはおかしな話じゃないですかね。
てか、そのフレームワークに関してはその若いエンジニアのほうが「古株」でしょ。

>>386
> ここで示したい本質はそこではなく
本質じゃないから余計なものを省いたということなら、
なおさら @ ないほうがよかったんじゃないでしょうか。

405 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 03:38:21.70 ID:CqNnK3O6.net]
>>394
本質じゃないから余計なものを省いたんじゃなく、本質を説明するための必要十分の例として @ を使ってるんだよ。
本質はお目当ての物が配列で参照できるということであり、そこが分かれば好きにコードを書けるでしょ。
その本質を示す手段としては @ だろうと @無しだろうと isset だろうと array_key_exists だろうとどれでもいいから、おれは @ で示したというだけの話だ。
ちなみにおれも普段は isset を使ってるよ。
さらに付け足すと、フォーム要素を配列で受けるのもあんまりしない。

406 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 14:39:46.43 ID:PpvjCwHN.net]
>>377
上限なんてあるの?



407 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 15:15:24.00 ID:yp3MoCIl.net]
データサイズなんぼとか、ファイル数なんぼとか、そういうのならあった

408 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 16:36:00.58 ID:qRVltTpd.net]
5.3.9以上で有効になってるmax_input_varsという設定があってな、まあこれだ
php.net/manual/ja/info.configuration.php#ini.max-input-vars

5.3.8以前では3000個だろうが10000個だろうが問題ない(ブラウザの制限は受ける)

409 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 16:46:43.81 ID:qRVltTpd.net]
もちろんHTTPの制限じゃなくてphpが独自に追加したDOS対策
POSTならphp://input読んで、GETなら$_SERVERでリクエスト読んだりapache_request_headers()使ったり
COOKIEだとそもそも複数個を連結できるしapache_request_headers()で取れるかも、という風に設定変更以外で回避はできるが

410 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 23:08:06.17 ID:yp3MoCIl.net]
ちょいと意見聞かせてくれ。

PHPでWebツール作ってて、内容によってはWeb上だけで完結させず、
別個のプログラムを用意して、例えばcronに投げたほうがいいって判断したとする。

このとき、同じくくりのプログラムだし、保守面も考慮して両方ともPHPで書く?
それともPHPではなくPerlなりPythonなり、そういう用途向き(?)の言語で書く?

とりあえずプログラマは複数の言語に習熟してて、
かつ処理内容も言語を問わないものという前提とする。

411 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 23:23:15.80 .net]
>>400
PHPでページからExcel出力するモジュール書いて
自動eMailでもそれ使ったりするよ

412 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 23:26:21.71 ID:yp3MoCIl.net]
>>401
ありがとう。
どうもPHP = Webサイト表示用 という意識が抜けなくてなあ

413 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 23:37:48.61 ID:FFCasTRX.net]
>>400
同じDB参照したりするだろうし、資産使いまわせるから便利だなと思うよ

414 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 01:38:56.11 ID:S2UekzcW.net]
そのオブジェクトが参照する変数のドットのメソッド名
と先生に習いました。
意味が全然わかりません。
obj1.method()?

頭が固くて固くてプログラミングに頭脳が向いていません。

415 名前:デフォルトの名無しさん [2016/04/17(日) 01:50:43.62 ID:sy21xjHh.net]
$記号をシフトキー押さずに入力する方法ありますか?
変数のたびに毎回シフトキー押す手間を省きたいです

416 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 02:15:00.06 ID:I4Bf6IMv.net]
>>400
バッチ用途でphpがperl・pyに劣ってる点おしえて



417 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 02:37:15.07 ID:LFk8XMyg.net]
>>400
好きにしろ

>>404
主文が抜けて何を聞きたいのかわからない

>>405
キーマップでggr

418 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 02:50:11.51 ID:5SdFsd1w.net]
>>406
別に優劣の話なんてしてないかと。
> PHP = Webサイト表示用 という意識が抜けなくて
なだけで。

JavaScript = Webブラウザ上のクライアントサイドスクリプトという意識が抜けなくて
という人もいるだろう。

419 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 03:04:32.12 ID:I4Bf6IMv.net]
>>408
>それともPHPではなくPerlなりPythonなり、そういう用途向き(?)の言語で書く?
ここから 少なくともphp = そういう用途向きではない と読み取ったんだが

まあ言語ごとのバッチサポートの様子を語ってくれるなら誰でもいいよ

420 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 03:59:55.77 ID:WVqY7eVD.net]
>>405
$ をコピーしておいて、$ を打ちたい場所で CTRL+V

421 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 05:50:07.84 ID:schrg1Ho.net]
if(0 == '@attributes'){
echo '一致';
}else{
echo '不一致';
}

このPHP文を実行するとなぜか一致してしまうんですがこれは一体どういうことなんでしょうか
バージョンは5.3です。

422 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 05:59:53.89 .net]
PHPで書かれたソースコードから見ると、入力にGET index.html 貰ってファイル処理して返すのと
標準入力からコマンド貰ってなんかしてechoすんのと
やることに変わりはないと思うんすよ

423 名前:400 mailto:sage [2016/04/17(日) 07:56:36.40 ID:SaVaSm2U.net]
>>409
優劣があると捉えられないように、慎重に言葉を選んだつもりだったんだけど
なかなか難しいね、すまん。

要はさ、もともとPHPはWebページ出力用として、Perlはバッチ処理用として、
あとは有名ドコロだと、Cは低レベル処理が可能な高級言語として生まれた、
……みたいなのあるじゃん?
優劣とまでは行かなくても、その生まれに適した部分(設計思想)って
やっぱりあったりするのかなって。

424 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 09:21:16.78 ID:I4Bf6IMv.net]
>>413
なるほど…なるほど?perlは"バッチ"処理用として生まれたのか?cの生い立ちはbと比べて機械語吐ける/型がある/高開発効率が欲しかったからじゃ?まあ細かいことか

機能的にはぶっちゃけ列挙されたものだとさしたる違いはないかと バイナリも扱えるしsocketも叩ける
ただ、少なくともphpについては基本的には同期処理一本で出来てるから
複数の処理を平行でやらせて全部終わったらこれやらせて…とかはちょっと

あとサーバの機能を分割するときに「あーphp入れなきゃな」とか「バージョン同じにしないと」「別verと同居させないと」「php.ini別に作って指定させないと」がある
pythonやrubyだと最小構成でサーバ作ってるとき「あーpython入れなきゃな」ってことは良くあるし、perlでも移すのに「cpanであれこれ入れなきゃ」が稀に良くあるけど
そういやphpだとpearで持ってこなきゃって経験はないな
んで、web利用が基本だからなのかメモリとか継続実行時間とかで設定(php.ini)に気を使わなきゃいけないことが若干多い…かもしれない

自分が決めていい状況ならあらかじめ問題があるとわかってる場合以外はphpを採用しちゃう
cで書かなきゃ速度的に辛いってこともそう無いし、メインもphpならphp以外が苦手な人にもまとめて投げられる

425 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 15:07:09.77 ID:vkBmD+Lb.net]
1,2,3,
この文字列を分解して数値配列にしたいんだけどどうすればいいの?

426 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 15:16:01.30 ID:CLrgwT7G.net]
$list = preg_split("/,/", "1,2,3,");

とか?
文字列として入るし、最後のカンマのせいで空文字が末尾につくけど



427 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 15:36:53.85 ID:YYhB6pHO.net]
みなさんPHPやり始める時は基本の基本から時間かけてやりました?
変数宣言の仕方とか、echoとprintの違いとかそこからやりました?
正規表現をいきなりやろうと思ってpreg_splitなどを調べてたりしたんですがチンプンカンプンなんですよね。

428 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 15:37:03.30 ID:MApiboDi.net]
カンマをtrimしてexplode

429 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 15:40:37.31 ID:MXiE5eIT.net]
正規表現は、仕様を理解できた範囲で使えばいいよ。
ワイルドカードを使わない文字列の検索や置換から慣れて行けば良い。
理解できないうちに複雑な表現を使うとメンテできなくなる。

430 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 15:41:30.72 ID:UjRxHr47.net]
$array=explode(´,´,´1,2,3´)

431 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 16:01:01.71 ID:vkBmD+Lb.net]
できました。
ありがとうございました。

432 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 16:06:20.13 ID:r8zM09th.net]
>>411
==演算子を使っていいのは何やってるか分かっている人間だけ
分からんなら===演算子を使え

433 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 16:11:31.64 ID:CLrgwT7G.net]
>>411
どうぞ
php.net/manual/ja/types.comparisons.php

434 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 18:33:57.46 ID:SaVaSm2U.net]
>>417
今月からPHPプログラマとして仕事してるけど
休日にパーフェクトPHPを1冊読んだくらいかな。

それでもちょっとしたツールを作れるくらいにはなったよ。
もちろん細かい仕様とか、セキィリティ界隈とかの話とかはまだ怪しいところもあるけれど
最初からクリティカルな仕事を任されるわけでもないし。

435 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 19:17:40.22 ID:LFk8XMyg.net]
>>411
数値と比較してるから@attributesはintにキャストされてると思えばいい
当然@attributesの前に何も数字がないので0になる
booleanで比較したいのなら!!をつけるとか
型まで考慮する場合===で比較するといい

436 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 19:33:09.25 ID:S2UekzcW.net]
>>424
他に何かプログラミング経験はあったんですか?
Cをやってたとか



437 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 19:44:45.16 ID:SaVaSm2U.net]
>>426
うん。仕事で使ったといえるのはC、C++、C#、Perlくらいだけど

438 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 00:19:52.32 ID:tA63gAjN.net]
数値 == 文字でやった時の結果って 数字があるなしだったのか
10年近く勘違いしてたわ・・・

439 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 15:41:37.77 ID:3MBtO9g0.net]
バッチ処理にPerlやPythonがよく使われてるのは
デフォルトの環境でインストール済みが多いからだ
PHPはインストールされてないことのほうが多い

440 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 16:48:18.20 ID:Py/QbWo6.net]
php ruby perl python なら python がほぼ確実に入っているでしょう。

> 最小構成でサーバ作ってるとき「あーpython入れなきゃな」ってことは良くある
何のディストリつかってるんだろう

441 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 16:55:31.74 ID:V0FZFOjy.net]
MacOSの中には PHP入ってますね

442 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 17:07:57.24 ID:looFcgiP.net]
php単体で動かすことあまりないからな
基本的にapache

443 名前:がはじめから入ってる環境でないと・・・ []
[ここ壊れてます]

444 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 21:14:51.29 ID:qDtmsg1l.net]
Perlはもともとawkの代替ってのもあるんじゃね

445 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 12:36:16.06 ID:6K/M8riZ.net]
>>432
PHPにはビルトインWebサーバ付いてるぞ

しかしバッチ処理は2000年代まではPerlで書いてたけどPerl 6が正式に出た以上新規には書きにくくなったなー
Pythonは兎も角Rubyは趣味に合わないから専らPHPで書いてるわ

446 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 22:50:20.52 ID:IoSLlNnO.net]
もうどうしていいか検討もつかないから助けてください。

$fp = fopen("list.csv", "r");
while (!feof($fp)) {
$line = fgetcsv($fp);
mb_convert_variables("UTF-8", "SJIS", $line);
echo "Title:$line[0] Date:$line[1]";
}

こんな感じでlist.csvからデータを読み込むことはできました。
問題は
1.Titleをクリックできるようにして、クリックでされたら対応するDateを返すこと
2.50件まで表示させて残りは次のページに表示させること
list.csvは4万件以上のデータがあるらしくページ番号で移動もおそらく必要

list.csvは
aaa,a000
bbb,b111
ccc,c222
……

こんな感じになっています。



447 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 23:05:59.46 ID:vjTai48k.net]
>>435
csvファイルはtitle,dateの2列だけ?
a000がdateなの?

[title],[date]
aaa,a000

448 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 23:19:30.67 ID:9i1atlZ9.net]
問題がある、わからないところがある、じゃなくてただの丸投げだな

449 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 23:26:25.28 ID:IoSLlNnO.net]
>>436
はい
その通りです。

>>437
すみません。
PHPは昨日まで触ったこともなくて…
昨日環境作ってドットインストールで勉強して
今日から作ってたんです。

450 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 23:43:55.16 ID:pETlWi8B.net]
「Titleをクリックできるようにする」と「Dateを返す」の2つの意味が分からない

妄想はできるけどw

451 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 23:48:02.32 ID:6Xufz3Pd.net]
何がしたいかよくわからんな。
htmlのテーブルで表でも作る?
クリックはAタグ?

452 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 00:20:19.71 ID:hJ4omFpR.net]
list.csvから内容を取得
HTMLのテーブルで読み込んだ内容を上から50件のTitleをリストのように表示
(残りは次のページで表示させる・ページ番号で移動できるようにする)
Titleは<a>で囲いリンクにする
リンクを選択するとDateの部分が画面に表示される

説明下手だな…
わからない部分をまとめるとこんな感じになる。

453 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 00:39:10.82 ID:1rGPQiSA.net]
Dataの表示とページ番号で移動とが繋がりにくい
ページ移動せずにDataを表示しないといけない感じ?

454 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 00:44:45.90 ID:W+moKoI4.net]
ページング php とかで適当に検索してこい
phpどころかHTTP/htmlすらわかってるか怪しいのに内容エスパーも追加とか役満レベル

455 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 01:02:38.69 ID:Hoj62ndF.net]
1、Titleとその行数を返すPHPを作る
2、1を開始行数、取得行数を与えてその範囲の値を返す関数に改造する
これでデータ一覧およびページングができる
3、行番号を与えるとDateを返すPHPを作る
4、2を元に作られた一覧から、TitleのAタグをクリックしたら3にアクセスし値を取ってくるJavascriptを作る

456 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 01:19:22.25 ID:QFZZ7CGm.net]
どうしたらいいかわからないなんてのは
たいてい身の丈にあってないことやろうとしてるだけで
基礎的なところから勉強していくしかないわけで



457 名前:デフォルトの名無しさん [2016/04/20(水) 01:27:31.57 ID:hNTaWlcr.net]
くだらない質問ですみません。

WordPressのフォーム云々の説明文があった場合、
WordPressでフォームというと、メールフォームのことを指すのでしょうか?

PHPでフォームというと、HTMLの<form></form>タグで、
そこから送信されたデータの処理することを指すと思うのですが、どうなのかなと。

458 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 01:35:54.43 ID:3QX7LeE6.net]
$total = $total + 1
これを見た時「んんん?成り立ちません」って思ったおれは頭が硬いんだよね。ブログラマ向いてないよね

459 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 01:39:34.86 ID:3QX7LeE6.net]
よくソフトウェア関係やIT関係の会社の入社試験で暗号化とか推理判断とか全然ついていけなかったもん。
aabbbccccdddeeこんなのみたらめまいがしてきてたよ

460 名前:デフォルトの名無しさん [2016/04/20(水) 01:55:50.19 ID:hNTaWlcr.net]
>>447

大丈夫、そのぐらいの誤読は誰でもやるし、どんな時にでも起こりうる。
本当のプロは、普通だったらやらないだろう、普通だったらわかるだろうということさえ、
注意して確認を行える人。
そうならないために、普段から変数名に「no」ではなく、「id」を使ったりする。

461 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 02:40:12.55 ID:jyo5QKfK.net]
>>446
> HTMLの<form></form>タグで、
> そこから送信されたデータの処理する
メールフォームはそれに含まれるよ。

462 名前:デフォルトの名無しさん [2016/04/20(水) 03:25:37.50 ID:hNTaWlcr.net]
>>450
うん、だからWordPressを使う人は、
フォームと聞いたら、メールフォームだけを限定していうのか、
<form></form>タグで行う処理全般を指すのか、
その境目の認識がよくわからないです。

まあ、某掲示板でこんなやり取りがあって質問したところです。
A「WordPressのフォームに関して……」DBが必要云々の質問
B「メールフォーム如きにWordPressを使うのはオーバースペック」
僕(あれ、メール以外にも色々あるよね。てかWordPressって、PHPで動いているCMSだよね
  それだと、フォームから来たデータを基に、DB登録とかCSV作成とか、データ編集とか色々あるよね?)

463 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 03:55:52.29 ID:TcGBKumn.net]
Wordpress特有に文化をここで質問するのってどうなん

464 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 03:57:25.84 ID:3t709hpA.net]
まともな質問はねーのか

> ID:3QX7LeE6
人生相談じゃなくてPHPの質問しろ
IQは個人差あるから仕方ねーよ
雑談スレ池

> ID:hNTaWlcr
PHP=WPみたいに語るんじゃねーよ
俺には投稿フォームであるコメント欄のイメージが浮かぶし
WPスレ池

465 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 04:03:47.18 ID:2dGZ41Su.net]
>>453
PHPだよ

$total = $total + 1

466 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 04:05:29.57 ID:3t709hpA.net]
それの何が質問なの?



467 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 06:40:41.54 ID:w5hbs5qX.net]
>>435
Paginator の話だろ。
CakePHP, RoR などのフレームワークを使う

>>447
>$total = $total + 1

文法なんて、単なる取り決めに過ぎない。下なら理解しやすいかい?
$total ← $total + 1

468 名前:デフォルトの名無しさん [2016/04/20(水) 06:52:36.18 ID:hNTaWlcr.net]
>>453

少なくとも、イコールではないけど、PHPで行う範囲の中に、
WordPressは含まれるよ。
WordPressで作成したコンテンツの改修は、PHPの理解が薄いと限界があるわけだし。

469 名前:デフォルトの名無しさん [2016/04/20(水) 06:56:48.91 ID:hNTaWlcr.net]
>>402
PHPはバッチ処理の実行やシェルスクリプトような使い方もできるので、
Apache上では、いろいろ動けますよ。
とはいえ、そういうところは、基本的に表にでないし、動作確認がログファイルだけになるので、
そういう使い方があるという知識と実例をみないと結びつきにくいです。

470 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 07:02:35.08 ID:3t709hpA.net]
PHPで行う範囲の中にってまるでPHPerにとってWPは必修みたいな言い方だなwww
それともWPはPHPで書かれてるっていう当たり前のことをドヤ顔でいってみたのか?
とりあえず専スレでやれ

471 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 12:53:23.84 ID:jyo5QKfK.net]
>>451
何でその人にメールフォームじゃないよという話をしなかったのかがどうにも解せないんだけど
フォームはフォームであって、メールフォームは含まれるだけだ。

472 名前:デフォルトの名無しさん mailto:sega [2016/04/20(水) 15:14:06.00 ID:spVU+LpI.net]
PDOで、プレースホルダが展開されて
実行される直前のクエリを確認したいんだけど
どうしたらSQL文を見ることができますか?

473 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 15:18:23.34 ID:oXU9Jk7I.net]
>>461
使用しているデータベースは?
データベースによっては、展開されない場合もあるし(こっちが多数派?)

474 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 15:51:29.35 ID:g9fYYFr2.net]
展開の有無はエミュレーションのON/OFFで切り替えられるけど
どっちにしてもそのまま展開後のSQL文は取れないとは思う

475 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 15:53:23.66 ID:pQik9E63.net]
これからPHPの基本からもう一度はじめるんだけど書籍は何がオススメ?
何年も前にweb制作の民間の職業訓練に行ったことがあって
xhtml1.0/css/Javascript/PHPを一通り勉強した。
xampp入れてphpmyadminから簡単なデータベースをGUIで作ってそれをphpからどうやって接続するのか?
どうやってデータベースからデータを取得するのか?
など本当に基本的なことをした。
ライブラリとフレームワークの違いも理解できてなくて、
当時は確かPEARってのを使ってた記憶がある。
ほんとにプログラミングド素人

476 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 15:56:31.25 ID:pQik9E63.net]
その時に買わされた書籍は
基礎PHP (改訂3版) WINGSプロジェクトって本
これ今でもいい本なのかな?



477 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 16:05:12.08 ID:TcGBKumn.net]
>>464
公式マニュアル読んどけ

478 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 16:15:15.39 ID:w5hbs5qX.net]
山田祥寛(よしひろ)、翔泳社
10日でおぼえる jQuery 入門教室 第2版
10日でおぼえる PHP 入門教室、第4版、2012

この2冊は、必須

479 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 16:47:04.98 ID:pQik9E63.net]
今の開発環境
NetBeans IDE 8.1 (PHPバンドル)
notepad++
Xampp5.6.19 (PHP5.6.19)

本番環境(自宅サーバ/CentOS6.7)
Apache 2.2.15
MySQL 5.1.73
PHP 5.3.3

480 名前:ヲレンタルサーバも5.3 []
[ここ壊れてます]

481 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 16:48:15.76 ID:pQik9E63.net]
>>467
ありがとう!

482 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 16:56:38.76 ID:TcGBKumn.net]
PHP5.3とかサポート終わっとるやんけ

483 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 17:50:24.79 ID:pQik9E63.net]
>>470
レンタルサーバは5.6利用可能たった。
自宅サーバーCentOS6.7はyum updateしても5.3.3が最新ですってなる。

484 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 18:12:22.87 ID:W+moKoI4.net]
tarとってきてコンパイルして使えよ

485 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 18:28:17.08 ID:XJ2suwVk.net]
リポジトリ追加すりゃいいだろ
epelとかrpmforgeとか

486 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 18:48:27.95 ID:pQik9E63.net]
epelを追加してphp56をインストール中です。
今までphpのバージョンとか全く気にきにしていませんでした。
5.3,3が最新って出るからそれでいいやって使ってました。
5.5以上じゃなきゃ使えないもの(使えない関数?)ってあるんですね。今までそういうのに遭遇した事がなかったので。



487 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 19:13:53.26 ID:spVU+LpI.net]
>>462-463
マジすかDB依存でしたか

MyちゃんSQL使ってるけど、DB側でPDOでもクエリログ取れるかどうか
ちょっと実験してくるわ

488 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 19:27:34.85 ID:1zVoxsrg.net]
セキュリティがよくわからんからFuelphpとやらを使ってみることにしたけど面倒だね

489 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 22:19:53.77 ID:vRaGgTgt.net]
phpの初歩的な質問が2つあります。

外部phpファイルをincludeし、HTMLタグの出力を行いたいのですが、
直接アクセスされた時に表示を防ぐ、スマートな方法はありますか?
先頭でif( empty(変数) ){ exit; }というのは考えました。

また、テンプレートを使って作れるようなページを、
わざわざphpの1ファイルずつにHTML展開しているソースがあるのですが、
あまりに冗長なので、何か将来的な個別変更を想定している意図があるように見えたのですが、
PHPの界隈の人たちには当たり前の事なのでしょうか?

490 名前:デフォルトの名無しさん [2016/04/20(水) 22:20:23.71 ID:vRaGgTgt.net]
ageさせていただきます

491 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 22:40:53.37 ID:c8GcwH6R.net]
>>477
includeしただけで表示するのではなくて、出力部分を関数化やクラス化して
関数(メソッド)実行をしなければ表示されないようにするのも一つの手法。

下の質問は、単に横着してコピペした結果だと思う。
当然、PHPでもバッドノウハウだよ。

492 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 22:46:29.32 ID:1rGPQiSA.net]
>>477
include対象のphpファイルは、外部からアクセスできない所においても大丈夫だよ

493 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 22:52:58.88 ID:vRaGgTgt.net]
>>479
回答ありがとうございます。
関数で括る事は考えたのですが、PHPを読めない人にもHTML編集しやすい方法が良いと思いまして、
PHPコードの少ない方法を求めてました。

もう一つの方は、明らかにコピペの手間の方がかかっているような内容で、
コード冗長化に伴う労力の増加が一見してわかるようなコードでしたので、
もしかしたら、コードの水増しをする意図があったのかも知れません。

494 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 23:00:30.46 ID:vRaGgTgt.net]
>>480
それは知りませんでした。しかし現在の環境ではDocRootより上にファイルを置くのが無理ですね。
でも他の時にかなり有効に使えそうです。ありがとうございます。
ところで、PHPプロセスの権限ってhttpdとは別になっているんですか?

495 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 23:02:13.50 ID:59Aeov/b.net]
httpdの一部として動かしてるなら、基本的にはhttpdじゃねぇの

496 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 23:05:00.33 ID:W+moKoI4.net]
httpd使ってるならば、いっそmod_rewriteとかでメイン以外へのアクセスをメインに飛ばしてしまうとか



497 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 23:06:18.70 ID:qspjNJo7.net]
>>477
a. 拡張子を変えて、サーバの設定で見られなくする
b. includeされるファイルをサブディレクトリに入れて、そのディレクトリを見られなくする

おれは a と b の合いの子みたいなやり方だな。
templates みたいなディレクトリ作って .htaccess 置いてアクセス禁止にして、そこにファイル名も form.tpl みたいにして置いてる。

498 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 23:27:33.87 ID:hJ4omFpR.net]
昨日質問した>>435です。
皆さんから色々なアドバイスを頂きなんとか形になりました。
ありがとうございます。

また質問で申し訳無いのですが、
CSVでデータを取得したところにデータを書き込みたいのですがどうやればできるでしょうか?
行数は分かっているので、CSVのn行目のデータを書き換えると考えてください。

499 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 23:37:29.80 ID:vRaGgTgt.net]
>>483
ということはwww系に読み込ませる権限で置いておけば良いんですね。
何がリモート呼び出し的な物を使っているのかと思いました。

>>484
ググりました。ありがとうございました。
前にnginxで似たような事やったことあります。確かにこれもいいですね。

>>485
ものすごいわがままを言いますが、起動にothers権限が必要なのと、
運用が自分一人でないので、できれば.htaccessをも使わない方法を取りたいのです。
それでphp側で被includeを検出してくれるような物がないのかなと質問した次第です。

しかし、普段いわゆるフルスタック的な物を使ってるので、
どちらの設定方法も勉強になりました。ありがとうござました。

500 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 23:39:48.31 ID:aNm9/fCb.net]
>>486
お前に付いた会社の教育担当に聞きなよ

501 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 23:51:49.83 ID:qspjNJo7.net]
>>487
起動に others権限とかいまいち事情がわからんけど、例えばなんかの入力フォームを作ったとして、htdocs 配下の formX ディレクトリにそれを設置するとする。
で、/formX/form.php で一連のロジックを実装するとして、その画面は /formX/templates/ に nyuryoku.tpl、kakunin.tpl、kanryo.tpl として置くことにする。
で、この画面テンプレートを見えないようにするため、/formX/templates/.htaccess を置いてこんな内容にする。
order deny,allow
deny from all

というだけの話なんだけど、起動の話も複数人でやる話も何も関係ないように思うんだがどうだろう?

502 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 23:53:29.77 ID:hJ4omFpR.net]
>>488
私の会社でPHPがデキる人は誰もいません。
私はJavaとか専門です。
ブログやってると言ったらHTMLができるならPHPもできるだろ?
という感じで私がやってるだけなのです。

503 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 00:00:13.56 ID:DGudhj+q.net]
>>490
Javaでやれるなら、同じようなことを PHP でやればいいだけじゃない?
そうするに当たって何が分からないの?

504 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 00:06:53.83 ID:8VEbZp8D.net]
>>489
私も正直よくわかりませんが、httpdプロセスそのものがothers扱いなのだと思います。

それと内容は理解しているつもりなのですが、
連携が疎なのと、権限の問題でこちらが自由に変更できないので、
.htaccessへの依存はできるだけ避けたいのです。

505 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 00:09:41.62 ID:8VEbZp8D.net]
>>492
語弊がありますが、プロセスがothers扱いというのは、
もちろんOS上でという意味ではなく、抽象概念としての意味です。

506 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 00:12:05.54 ID:DGudhj+q.net]
>>492
画面(>>489 で言うところの nyuryoku.tpl とか)は好きにいじるんでしょ?
.htaccess も同じ権限で好きにいじれると思うんだけど、なんか特別な制限でもあるの?ただのファイルだよ?
まあどうしても .htaccess は使いたくないというなら、画面を納めてるディレクトリ名を templates なんて安易な名前じゃなく、知ってないとわからないような名前にしちゃえばいいんじゃない?

つか、.htaccess 使わずに mod_rewrite 使うの?
そっちのがハードル高くね?



507 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 00:22:07.96 ID:DGudhj+q.net]
あーもしかして、.htaccess って htdocs直下に置いてサイト全部の設定を書いて置いておくようなものだと思ってる?
別にそんな決まりはなくて、必要なディレクトリに必要な設定だけを書くこともできるよ。
>>489 で言ってるのも、画面開発チームの持ち物である templatesディレクトリに自分の持ち物として .htaccess を作り、自分の持ち物である templatesディレクトリについてだけのアクセスコントロールを書くんだよ。

508 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 00:24:42.12 ID:DGudhj+q.net]
すまん紛らわしくなった
自分=画面開発チーム ね。
なんにしても .htaccess は必ずしも共有資産じゃないってことだ。

509 名前:デフォルトの名無しさん [2016/04/21(木) 00:37:05.85 ID:0BsNpmsh.net]
.htaccessは、フレームワークよっては標準的に付随するものもあります。
だから、必要に応じて、どこにでもおくことは可能です。

510 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 00:45:44.53 ID:8VEbZp8D.net]
>>494-496
えーとですね、.htaccessは理解してないのではないですが、使えません。
そもそも画面開発者も別にいて、チームではなく、密な連携は取れません。

ロジック部分を変更できるのが恐らく自分だけなので、phpの方が安心なんです。
そもそも自分は運用保守担当じゃないので、誤って導入されなかったり、
削除したときでも普通に動いてしまう恐れがある時点で使えません。

511 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 00:55:18.34 ID:8VEbZp8D.net]
それと誤解があるようですが、mod_rewriteも使えません。
サーバー設定を変更できない理由も知りません。

512 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 00:56:55.82 ID:tJ+xMH9p.net]
>>498
それで mod_rewrite はおkなの??
意味ワカンネーw
.htaccess を置き忘れる心配はするけど、画面開発者にとって意味の無い if のオマジナイを忘れる心配は無いの??
マジ意味ワカンネーw
.htaccess なんてお前がロジックと一緒に置いてやればいいだろw

513 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:00:50.80 ID:OuYl89GW.net]
まあhttpd.conf側だと他者が何のファイルかわからずに消去ってこたないな
一部で使わせると調子に乗ってあれこれやりたがったり俺も俺もも出てきやすいと危惧してるのかもしれん

ところで>>477後段はどんな感じなんだろう
includes/header.php includes/footer.php includes/menu.php とかでそれぞれ中身はベタhtmlとかだろうか
だとするとそれなりに利点はありそうだけど

514 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:06:33.64 ID:8VEbZp8D.net]
>>500
もちろん同時に置くのはいいんですけど、それで足りません。

515 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:08:53.97 ID:DGudhj+q.net]
>>499
あ、.htaccess を使いたくないというより、使えない環境を意識してるわけね。
だったら作業者だの権限だの言わずにそう言えばいいのに。
だったら推測されづらいディレクトリ式で充分じゃないかな。
画面側のスキルなんかを考慮してコードを分離してるにに、画面側にセキュリティーがらみのおまじないを要求するというのはナセンスだと思うよ。
サーバ設定で回避するのが一番確実だけど、事情を鑑みるにそれもやりづらいんだろうし。

516 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:10:45.71 ID:t1TQTu7E.net]
DocumentRootの外にも置けない.htaccess程度のものも使えないっつうならおたくの環境で出来るように好きなようにやれば?って話なんだがな
そんなまともじゃない環境でやるならまともじゃない方法採るしかないんだし



517 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:15:03.61 ID:OuYl89GW.net]
要は誰が判断するかの問題だなあ
httpdに判断させるか、.phpなり.htmlなり自身に判断させるか、クライアントに判断してもらうか
原理的にhttpd判断以外はどうしても <?php if(empty($var)) exit; ?>的な記述の追加は避けられない

jsにやってもらってもコード書き忘れたらNG&クライアント側の処理を外せるわけじゃない
httpdだと組織的なあるいは立場的な制約がありうる
画像とか.datとかに拡張子を変えておく手もあるけど確か今でもIEにはhtmlとして表示される

自身判断だと例えばheader();で転送させたりmeta http-equiv="refresh"で飛ばすなどしつつ、
本来の読み込み時にincludeではなくfile_get_contentsする手もある 読み込みは煩雑になるけど混入コードは減る

518 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:15:36.58 ID:DGudhj+q.net]
>>501
よくやるよ
header やら footer なんてバンバン include するし、その画面表現の為だけの関数定義なんかもしちゃったりする。
例えば数値はカンマ区切りでマイナスの値は ▲ で表示する、みたいな特定数画面でしか使わないけど多用するルールとか。

519 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:19:31.32 ID:OuYl89GW.net]
あ、includeするファイル自体をドットファイルにしてしまうって手もあるか(.htaccess同様の .filename 形式)
特に変えてなければhttpd.conf標準状態で通信対象外になるから
「設定変更」じゃないってことで場合によっては有効

520 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:23:49.82 ID:DGudhj+q.net]
>>507
そのファイル名を端的に扱えない作業環境(windows とか)もあるから、画面みたいに量産するやつだと面倒この上ないかも。
.htaccess はがんばってひとつ作って、あとはコピーして使い回すw
編集だけはそのファイル名のままできるからな。

521 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:30:03.07 ID:VGCuKfTM.net]
もうPHPの話じゃなくてWebサーバの話やな

>>507
デフォルトのフィルタは .ht* だから注意な

522 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:36:31.11 ID:8VEbZp8D.net]
>>501
部品化している中身がコピペなのではなく、ページ単位のコピペをしていて、
中身も冗長ではあるものの、初心者とは思えない物でした。
それで水増しなのかなと。

>>503
>だったら推測されづらいディレクトリ式で充分じゃないかな。
テンプレート程度なら確かに問題でませんけど、さすがに現代でこれはちょっと…。

>>504
それはものすごくわかります。
ただ実際なってみると、結局相手の無理解ゆえに、
自分にもかかるリスクがあるのでそうできないんですよね…。

523 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:41:44.87 ID:8VEbZp8D.net]
>>507
それいいですね。
それなら相手のファイル操作ミスでも問題出ませんし。
当初の方法とはかなり違いますが、確かに使えそうです。
これは今度試してみます。ありがとうございます。

524 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:42:00.82 ID:DGudhj+q.net]
>>510
え、画面をロジックと分離する前提で、画面のコードへの直接アクセスで中身が見えちゃうことの対処をしたいって話じゃなかったの?
テンプレート(≒画面のコード)以外に何を置こうというの?

525 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:43:29.19 ID:VGCuKfTM.net]
>>510
「環境はまともじゃないけど自分にリスクのない方法を使いたい」なんてアホなこと言ってないでまず環境の改善を要求しろ
プログラムの問題じゃなくてコミュニケーションの問題だなんてよく言われるだろうに

526 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:46:07.62 ID:8VEbZp8D.net]
>>509
ファイル名の制約あったんですね。
そもそもよく考えたら別の人間がdotfilesを適切に扱えないのだから駄目でした…。



527 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 01:57:33.76 ID:8VEbZp8D.net]
>>513
要求とかそういう段階の話じゃないです。
そもそもコミュニケーション語るなら、
相手に合わせて柔軟な対応するほうが賢明だと思いますよ。

528 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:01:10.38 ID:DGudhj+q.net]
>>515
じゃあこんなところで聞いてないで相手に聞けよ
それがコミュニケーションだ

529 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:10:22.55 ID:VGCuKfTM.net]
>>515
相手が理解して要求してりゃな
それなら開発側も要求内で好きにすりゃいいが理解してないなら後から何言われるか分からんのだから, それでも唯々諾々と従うのが賢明だなんて思うのか?
最低限おたくの要求普通じゃないんで普通のものにはなりませんよと伝えるのが開発者としてはまともなんじゃないかね?

それでも唯々諾々と従うのを是とするならあなたがあなたの思いつく範囲で, 頂戴している要求に合わせて上手にやればいいんじゃない?

530 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:11:34.16 ID:8VEbZp8D.net]
>>516
何を聞くんです?

531 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:15:09.63 ID:8VEbZp8D.net]
>>517
>最低限おたくの要求普通じゃないんで普通のものにはなりませんよと伝えるのが開発者としてはまともなんじゃないかね?
だからそういう段階はとうに過ぎてるんですって…。
そもそも相手は可能な限り説明してくれてて、対応に不満があるわけじゃないし、
こっちもさらに要求するつもりもありません。

532 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:16:38.08 ID:DGudhj+q.net]
>>518
何をどこまで許容するのか、責任分担はどうするかに決まってんだろアホか

533 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:21:39.28 ID:VGCuKfTM.net]
>>519
そんなら相手はまともじゃないことを十分理解してるってことだろ
実装はスマート云々を考える状況にない, どんな手法もスマートにはなりえない
ここで出た方法がイヤだとか出来ないだとかいうならご自身でやりたいように考えていただくのがよろしいのでは?

534 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:28:36.64 ID:8VEbZp8D.net]
>>520
だから相手のせいだけにできないって言ってんだけど、
あほあほ言いながらコミュニケーション云々語る前に人の話聞きなよ。

535 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:38:20.03 ID:DGudhj+q.net]
>>522
アホなどとは一度しか言ってないがな、繰り返し言っておいてやった方がよかったな。
例えば必要なサーバ設定は誰がするんですか?
そこに誤りがあったことによって事故が起きた場合だれが責任を取るんですか?
お前にリスクが振りかかる可能性があるとするならば、本当におまえがやるべき範疇だったか、責任分担を明確にしてなくていいように言われた時だけでしょう?
他の要素についても同様、相手のせいだけにできないとか曖昧なこと言ってる時点で相手とコミュニケーションが取れてないんだよ。
ただ線引きもできてないことを柔軟なて言葉で誤魔化すんじゃない。

536 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:40:03.87 ID:8VEbZp8D.net]
>>521
ごめんなさい、ちょっと頭が悪くて理解ができません。
参考になったレスは十分ありましたし、
スマートな物が無いと断言できる理由もわかりません。
最終的に自分で考える、と言うのは当たり前の話です。



537 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:45:52.42 ID:VGCuKfTM.net]
>>524
うん, 口が悪くて済まなかったね, まぁ好きにやればいいと思うよ

538 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 02:55:09.52 ID:8VEbZp8D.net]
>>523
何言ってるのかよく分からんけど、コードに責任がある以上、
セキュアにしておかない時点で駄目。
言質取ろうと実際に訴えられればどう転ぶのかなんて分からん。
で、その上で相手の良心に任せるだけの事を聞いてどうするわけ?

539 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 03:16:42.64 ID:DGudhj+q.net]
>>526
お前はコードに責任を持つんだろう?
そのコードは何らかの前提条件に適合するように書くんだよな?
逆に言えば、動作環境が前提条件と違っていたりコードの問題じゃなかったりした場合にはお前が責任を問われることは無いよな?
.htaccess は使えるようになっていると言われていたのに使えないとか、こういうファイル名パターンは見えないようにすると言われていたのに見えちゃったとか、お前が責任問われるべき話じゃないわな?
にも関わらずお前の責任が問われるって、例えば前提条件に合う環境を誰が用意するかとか、そういうところが曖昧になってたってことだよな?
言質とか仰々しいことでもなく相手の良心なんてもんでもなく、そういう線引きは当たり前のこととしてはっきりさせるよね、特に仕事でやってるなら。
おれも3点ほどアイディアを出したし他の人からもアイディアが出てる、おまえ自身も1つ出してるけど、どれも前提条件があって成り立つものだよな?
自分にリスクが降りかかるかもなんてうだうだ言うなら、こんなところに何かを聞く前に相手とそこらへんハッキリさせるのが先だろ?
そうしようともせず相手に合わせて柔軟?
あのな、そういうのはルーズって言うんだぞ。
そこをよーく考えた方がいい、そういういい加減なことをされると相手も不幸だし、おまえ自身もひどい目に遭うぞ。

540 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 03:47:16.08 ID:8VEbZp8D.net]
>>527
何が言いたいんだ?理想論を語りたいの?
べき論で語ろうが、何か起きたときには自分も対応せざるを得ないし、
それでやらなきゃ仕事無くなるだけ。で、何を聞くの?

541 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 03:51:54.25 ID:DGudhj+q.net]
>>528
はいはい、サーバのハードウェア故障の責任も取ってればいいと思うよ。
もうお前に言うことなど何も無い。

まあここで質問して何人かの頭は使わせたんだ、どういう方式を採ったかくらいは後で報告してくれよ。

542 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 03:55:31.13 ID:8VEbZp8D.net]
>>529
はいはいって、全く話が見えないんだけど、一体何の話してるの?
直接委託の話でもしたかったの?

543 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 10:47:09.02 .net]
はいはい下流國民乙

544 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 11:05:54.88 ID:c8GjQG2Z.net]
うまくいってなくてイライラしてんだろ

545 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 14:02:48.69 ID:S+2T/sm2.net]
めっちゃ伸びすぎて読む気失せるが
下の3レス見てケンカしてんがよくわかったわ

546 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 14:34:53.07 ID:S3Ke5d3Q.net]
>>477
> 直接アクセスされた時に表示を防ぐ、スマートな方法はありますか?
リクエストのメソッドを調べて、GETだったらexit

> あまりに冗長なので、何か将来的な個別変更を想定している意図があるように見えたのですが、
・テンプレートのことなんか知らない
・テンプレートを適用する実行時間がパフォーマンス上問題になる
とか



547 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 18:44:36.65 ID:slmqLM1N.net]
include対象のファイル名を .ht* にするというトンチ以外に頭を使ったようなレスは無いかなぁ。

>>477
バックトレース拾えば直接呼ばれたのかどうかは判断できるわけだし、
その場合は 403 でも返しておけばいいんじゃない?
公開ディレクトリ以外にファイルを置けないという環境は辛そうだけど、そういうことならしょうがない。

548 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 18:53:03.60 ID:z/J61xkG.net]
なんでバックトレース?デバッグ作業でもしてんのか?
直接呼ばれたかどうか知りたいなら$_SERVER見ればいいじゃん

549 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 21:03:26.50 ID:HeS5HApN.net]
しかしimagecopyresampled()は、何度見ても基地外みたいなパラメター渡しだな。

550 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 21:43:30.76 ID:NgnSmYD5.net]
>>535,536
そんな

551 名前:面倒なことするなら >>477 で充分だし、
それですら画面側の作業者に書かせるのはナンセンス。
なんだか他人のミスも自分がかぶる想定みたいだし。
[]
[ここ壊れてます]

552 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 01:05:29.47 ID:HzL1UgzJ.net]
自宅サーバのCetOSテスト環境構築やっと終わり

Apache2.2
MySQL5.6.30 (MySQL Community Server)
PHP 5.6.20
phpMyadmin 4.4.15

環境は整ったんだけど、HTML5やった事ないんだよね。PHPはすこーしだけある。
で、やりたい事(作りたいもの)がなくて何作ろうかなって思ってる。
PHPのまえにweb制作やwebデザインの基本としてHTML5からやるべきかな?
PHPうんぬんもだけど個人会社のwebサイトが作りたいんだよね。

(1) ローカルpcのxamppとnotepad++で開発
(2) ローカルpcで動作確認
(3) LAN内のテストサーバにアップし再度動作確認
(4) 本番環境のレンタルサーバにアップ

なぜ(3)を構築したかというと、外部非公開のLAN内専用のサイトを作ったり、テストサーバとして動作確認をやるために構築した。
普通は(3)を飛ばして、(4)なのかな?

553 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 01:37:22.50 ID:vh1qxiTR.net]
1,2を3でやればよくね

554 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 02:32:29.42 ID:HzL1UgzJ.net]
>>540
(3)のテストサーバ上で直接開発やればよくね?ってこと?
それってクライアントからターミナル(SSH)で接続してviでソース書くってこと?
そんなことやってる人いるのかな?

555 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 02:49:00.23 ID:1YoQR0YC.net]
NetBeansとかでFTP設定するとか、VMwareで鯖建ててフォルダ共有するとか

556 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 02:49:01.09 ID:4mUicHSB.net]
たまにやってるが何か問題でも



557 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 03:13:51.66 ID:HzL1UgzJ.net]
>>542
NetBeans IDE 8.1でテストサーバにFTPしようと思ったんだけどFTPSに対応してないよね?
FTP鯖をFTPS(Explicit)のみ接続許可にしてるから。

VMwareやVirtualBox使ってローカルPCに鯖立てるなら、xammpの方が簡単だしやってることは同じだよね。

558 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 03:14:12.38 ID:GI428x51.net]
>>541
やってるよ。というかそれでしかやってない。

559 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 03:20:29.27 ID:GI428x51.net]
編集方法はどうであれ、ローカル、テスト、本番と環境を3つに分けるならVCS導入しといたほうが先々の苦労が減るよ。
知識があるのか無いのかよくわからないので、学習コストを割くキャパがもう無いなら後でもいいけど。

560 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 03:44:32.29 ID:HzL1UgzJ.net]
>>546
なるほど、ターミナル使ってサーバ上で直接開発やったりもするんだね。何となくソース書きにくそうだけど。

自分はプログラマーでもなんでもなくて趣味でネットワーク構築とSoftether VPN構築なんかをやってるなんちゃって知識レベルなんだ。
なんでソフトにはほんと疎い。
だからプログラムや現場の開発環境やノウハウなんかはよく分からないんだ。
VCSってのは初めて聞いた。ググってみるよ

NetBeansでFTPSできた。ごめん

561 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 05:47:58.18 ID:qHzjITsw.net]
環境構築やPHPとは関係ない質問が初心者スレだとどうしても多いし
初級脱した人向けのPHP質問スレ作りたい

562 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 05:56:14.94 ID:kW8L0cx9.net]
くだらない質問と明記してるからそうなるのは仕方ないし、レベルでスレ分けするのも悪い判断ではないと思うけど、
まずそういうレベルの質問をしてみたらどうかな?

563 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 06:07:40.31 ID:qHzjITsw.net]
よし分けよう

564 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 06:15:27.88 ID:kW8L0cx9.net]
>>550
初心者に邪魔され充分に話を進められなかった話題を示すのが先。
phpなんてその性質上レベルによらず環境の話題は付き物だろう。

565 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 06:20:01.70 ID:qHzjITsw.net]
別に邪魔だとかそういうことを言ってるわけじゃなくて
もっと上の話したい人もいるでしょうっていうこと

566 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 06:31:44.27 ID:kW8L0cx9.net]
ここでもそういう話をできるんだから、まずそういう話を振ってみなさいな。
ボリュームが充分あるならスレを分ければいいだろう?
自分から話題も無いくせにスレを立てようとしてるわけではないんだろ?



567 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 06:32:24.51 ID:qHzjITsw.net]
なんでそんなかたくなに拒否するんだw

568 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 06:34:51.37 ID:qHzjITsw.net]
じゃこの板では立てないでWebProg板行くよ
それでいいだろう

569 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 06:42:36.50 ID:o7fkiimI.net]
初級より上の話とはたとえばどのようなものか
初級より上の話をするにあたって現状でどんな不都合があるのか

理屈でいくならこの辺だな

570 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 06:44:26.53 .net]
>>547
ローカルで開発してokならgit push/pullするんやで
やべえバグ仕込んだと思ったら、git revertするんや

571 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 06:45:36.75 ID:o7fkiimI.net]
vscはcvs:バージョン管理システムの打ち間違いだと思う

572 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 07:12:47.16 ID:eGGBknni.net]
>>554
お前の方こそどうしてこのスレに書くことを頑なに拒否するんだ
本当にこのスレと一千を画すはなしがあるのか?

573 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 07:16:06.16 ID:qHzjITsw.net]
PHPの質問ですらない質問のふるい効果はあるよ
ここは回答者の自己満足にはいいかもしれないけど
学ぶ場所としてはいまいちだからね

574 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 07:21:47.51 ID:kW8L0cx9.net]
いやだから、ゴタクはいいからお前の言うもっと上の話をしてみろってばよ…
なぜそんなにスレ立てばかりしたがるんだ

575 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 07:32:45.26 ID:qHzjITsw.net]
なんで質問もないのにそんな話をしなきゃならないのか
あんたにネタを提供してやるほど暇じゃない

576 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 07:42:18.84 ID:eGGBknni.net]
質問も話題も無くスレ立てw



577 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 08:22:47.31 ID:zqMIUqUF.net]
なんで質問でも何でもないこと書き散らしてる側が文句言ってるのか

578 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 08:36:11.29 ID:D266k8l5.net]
>>539
Apacheは素直に2.4にしとくべきよ

最近だと開発用サーバ上にはGitLab立てといてソース管理して, テスト/ビルドはDockerコンテナ内でやってるわ
テスト通過後の動作試験も試験用のコンテナでやってる
多人数だから独立な開発用サーバ立ててるけど個人でやるなら開発用サーバごと仮想化して実働環境以外は単独で完結させてもいいかもね

>>558
CVS(Concurrent Versions System)は固有名詞でVCS(Version Control System)は一般名詞だろう

579 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 12:15:59.88 ID:kW8L0cx9.net]
>>564
文句じゃなくて >>548 の発案に対して意見を付けてるんだが、このスレは質問専用で返答も議論も禁止か?
むやみにスレを分散させると過疎化して誰の得にもならないから、今話題があるわけでもないなら様子を見ろと言ってるんだが。
どこの板にもいるだろ、むやみにスレを立てたがり、立てただけで満足して寂れさせてる迷惑なやつ。
しかも WebProg に相応しいのはむしろこっちのスレだろうしな。
つーか書くことも無いくせにスレ立てしたがってるやつを見て >>564 みたいな書き込みをする理由がわからんわ。

まあもう立てちゃったみたいだけどね。
やった以上過疎化しないよう責任持って盛り立ててくれよな。

580 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 12:21:39.11 ID:zqMIUqUF.net]
>>566
自分が該当するという自覚はあったわけだ。

581 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 12:49:38.22 ID:kW8L0cx9.net]
>>567
他に違う主張をしてる誰かいるのか?

582 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 12:51:32.04 ID:zqMIUqUF.net]
質問でも何でもないこと書き散らして、文句言ってると自覚しているのですよね。

583 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 12:55:24.35 ID:kW8L0cx9.net]
>>569
お前が >>548 に事実上反対している書き込みを指して言ってるんだ

584 名前:うと思ってるよ。
たった数人と何件かの書き込みしか無い中で誰を指してるんだろうと普通の頭で考えればそう推定できるわな。
で、それがなんだ?
[]
[ここ壊れてます]

585 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 13:14:28.00 ID:Wbb4rxFq.net]
議論してる中で非常に恐縮なのですが、
みなさんフレームワーク(cakePHPとか)って使われてますか?
私はフレームワークを未だにイマイチ使い方が分からず、
コードを書くときは自前の汎用関数を使いまわしたりしてます。
(1)何のフレームワークから始めるべきか
(2)どういう時にフレームワークは役立つのか
その他、押さえておくべきポイントがありましたら、ご教示ください。

586 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 13:26:29.98 ID:zqMIUqUF.net]
>>571
回りの人間がどう言ったかより、自分がやったほうが数倍理解できるし、
各々の都合に対しての優劣も分かるというもの。
やってみて、役に立たないな 使わないって思うかもしれないし、
そのときに、俺がいいよと進めてたからって使う?



587 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 13:33:34.79 ID:m2fejYZc.net]
>>572
何も知らない自分がちょっと使ってみた範囲で理解できることと、先人の知恵を聞くことの
どっちが有用だと思う?

588 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 13:39:52.59 ID:zqMIUqUF.net]
>>537
自分に分からないことがあるから従おうって人と、
自分に使えなきゃ意味がないなって思う人が世の中にいるとしたらどう?

589 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 13:40:27.79 ID:zqMIUqUF.net]
・・・番号ミスった 申し訳ない

590 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 13:49:00.49 ID:m2fejYZc.net]
>>574
意味わからんし。
言葉遊びしたいなら誰か他の人にしてくれ。

ちなみに俺は>>571には答える気はない。
>>571は「PHP フレームワーク」(期間:1年以内)でググって、上位2,30ページを読め。
1,2時間もあれば読めるだろ。

591 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 13:58:31.03 ID:Wbb4rxFq.net]
ご回答・ご教示くださり、ありがとうございました。
皆さまがくださりました、アドバイスに従ってみたいと思います。

592 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 13:58:31.58 ID:zqMIUqUF.net]
>>576
な、分からないこと言われたって従うわけがないだろ?

593 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 14:04:44.97 ID:m2fejYZc.net]
自分にわからないことがあることと、人がわからないことを言うということの違いもわからんとは。

594 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 14:08:20.32 ID:zqMIUqUF.net]
それが人によるっていってるのよ。 アンタは、先人の知恵が有用だって言ったんだろ?

595 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 14:19:11.42 ID:m2fejYZc.net]
>>580
1, 2時間で収集できるレベルの先人の知恵よりも、1, 2時間自分であれこれ試す方がいいてことか。
まあ、お前がそうしたいならすれば。

596 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 14:21:42.40 ID:zqMIUqUF.net]
だから、俺がそう思うかは 質問者がどう思うかと違うって話だろうが・・・
俺の回答だって、先人の知恵。  お前はさっきから何と戦ってるんだ。



597 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 15:11:26.96 ID:yHcO4kd5.net]
ららたん使ってるんだけど 他のプロジェクトのコンフィグの値読み込むのって辞めたほうが良いのかな?
それぞれのページを総合的に管理するようなの作りたいんだけど・・・

598 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 15:24:59.98 ID:dFG2RycI.net]
抽象的な質問で悪いんだけど
for文使ってarrayの中身表示して確認してから
手動で順番を入れ替えたい(内容がすぐ反映されると良い)
どんな感じでプログラムを組んでいけばいいと思う?

599 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 15:44:52.56 ID:GI428x51.net]
>>571
(2) 少なくとも複数人で開発するときにはフレームワーク自体が共通言語として働くので楽。

600 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 15:57:29.21 ID:GI428x51.net]
>>583
ララベルのことかな。
用途も明確だし、一方通行の依存関係である限り、別に問題も起こらないかと。

>>584
https://jqueryui.com/sortable/
updateイベントで通信、保存。

601 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 16:34:31.57 ID:dFG2RycI.net]
>>586
これはすごい
調べてやってみます。

602 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 17:58:18.38 ID:q0EEHlyB.net]
荒らすのやめて><;;;

603 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 17:58:41.81 ID:q0EEHlyB.net]
あれIDが変わってるw

604 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 20:25:58.73 ID:yHcO4kd5.net]
>>586
それです。らら先なんて呼んでいいか分からなくてOTL
問題なさそうと聞いて安心しました。ありがとうございます!

605 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 21:12:55.83 ID:Ao/xcglq.net]
らららむじんくーん らららむじんくーん ららら

606 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 21:38:54.62 ID:BXwkjbli.net]
PHPを基礎から体系的に学べるおすすめサイトある?
PHPの文法基礎→目標とするダミーサイト完成例まで



607 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 21:55:15.22 ID:wDJ3AUBc.net]
少し前に、おいらはパーフェクトPHPをおすすめされた

608 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 22:22:12.83 ID:tVIyRjEN.net]
>>592
サイトならドットインストールがおすすめ

609 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 22:49:55.24 ID:BXwkjbli.net]
>>593
アマゾンのレビュー見てみたらパーフェクトPHPは初学者には難しいと書いていた。
すでにある程度何かしらプログラミング経験がある人が肉づけする感じなんじゃないかな。

>>594
ドットインストールはお世話になってるよ。Atomのプラグインでもドットインストールを閲覧するプラグインがあるね。
でもドットインストールは教えている人がプログラマーなのか知らないけど早口だし、コーディングの雛形ばかり教えて具体的なサイトを作っていこう的なのはないから微妙なんだよね。

610 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 23:08:14.37 ID:tVIyRjEN.net]
>>595
パーフェクトPHPが初学者には難しいのはその通り。
そもそも「目標とするダミーサイト」や「具体的なサイト」が、
何を指すのか、自分が何を作りたいのかにも依る。

611 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 00:54:51.80 ID:+bvzWzGN.net]
>>596
>「目標とするダミーサイト」や「具体的なサイト」が、
何を指すのか、自分が何を作りたいのかにも依る。

確かにその通りだよね。初学者にとって一番難しいのが何を作りたいからなんの教材を買うかだよね。
一通りデータベースを使ったブログのようのようなサイトを作りたいって思ってるけど具体的なものが浮かんでこない。
wordpressを使ってやるのか、使わないのかがまた選択が難しい。

612 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 01:06:35.68 ID:bBSWXEGa.net]
ブログを作るだけだったらそんな難しい話でもないような

つーか君らが必要なものはphpの知識技術じゃなくて設計の仕方だろう
phpハウツー本なんて読んでもそりゃダメなのが当たり前

613 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 02:29:54.25 ID:OtrZRag7.net]
ちょっと今から訳の分からない質問するけど、これは冗談でもなんでもないから出来たら真面目に答えて欲しい
HTMLファイルをXMLに変換したXMLオブジェクトの多重配列があるんだ
このオブジェクトは元々オブジェクトだったけどJSONエンコードとデコードで変換して全ての要素を連想配列に直してあるんだ
こいつにxpathってのを適用すると配列の好きな要素を取ってくる事ができるんだ
次にXMLオブジェクトにprint_rを適用すると、最初のHTMLファイルには含まれていたのに変換の過程で欠け落ちてしまった要素ってのが確認できるんだ
そんで次にこのXMLオブジェクトにxpathを適用して、欠け落ちた要素を探してこいってやると、何故かどこにも存在しない筈のデータを取り出せるんだ
存在しない筈のデータが取り出せるって訳が分からないと思うけど俺が一番意味が分からない
PHPの連想配列はカプセル化が出来るのか名前が付けられてないがデータの含まれたメモリ位置が存在するのか
この症状に何か心当たりがある人がいたら、なんでもいいからヒント下さいマジでお願いします

614 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 02:34:40.06 ID:OtrZRag7.net]
変数を使う為にロックされた一定範囲のメモリ内容をダンプって出来ないのかな
ホントに存在しないのか名前が付けられてない/データが隠蔽されててアクセス出来ないだけなのか確認したい・・・

615 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 03:22:16.53 ID:akYZMgly.net]
マジレスすると再現する最短の手順を作るべき。

616 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 03:27:14.44 ID:RHlV/dKw.net]
>>599
> JSONエンコードとデコードで変換して全ての要素を連想配列に直してあるんだ
> こいつにxpathってのを適用すると配列の好きな要素を取ってくる事ができるんだ

自分で答え書いてるがな



617 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 04:01:52.26 ID:OtrZRag7.net]
>>601
ちょっと作ってみる

>>602
その連想配列の中身をprint_rで全表示しても出てこない要素がxpathだと取ってこれるってのが問題なんだ

618 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 04:48:43.52 ID:OtrZRag7.net]
再現出来たのでソースコード貼ります。
まずこれがテスト用のhtmlコード、名前は「htmltest.html」

<!DOCTYPE html>
<html>
<body>
<div>testA
<span>testB</span>
</div>
</body>
</html>

619 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 04:49:37.95 ID:OtrZRag7.net]
次にこれが同階層に置いたphpコード
<?php
//httpリクエスト送信
$html = file_get_contents('./htmltest.html');

echo "html内容ダンプ<br>";
echo "<textarea>";
echo $html;
echo "</textarea>";
echo "<br>------------------------------<br>";

//dom作成
$dom = new DOMDocument('1.0','UTF-8');
//domへhtml読み込み
@$dom->loadHTML($html);
//xml書き出し
$xml = simplexml_import_dom($dom);

echo "xml内容ダンプ<br>";
echo "<pre>";
echo print_r($xml);
echo "</pre>";
echo "xmlオブジェクト内には「span」タグと「testB」要素が含まれていない<br>";
echo "<br>--------------------------<br>";

$node_list = $xml->xpath('//body/div/span');
$node = $node_list[0];
echo "xpathで「span」タグ直下の「testB」を指定<br><br>";
echo $node;
echo "<br><br>何故か取れてしまう";
?>

620 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 04:51:52.54 ID:OtrZRag7.net]
そしてこれが実行結果
html内容ダンプ
<!DOCTYPE html>
<html>
<body>
<div>testA
<span>testB</span>
</div>
</body>
</html>
-----------------
xml内容ダンプ
SimpleXMLElement Object
(
[body] => SimpleXMLElement Object
(
[div] => testA


)
)
1
xmlオブジェクト内には「span」タグと「testB」要素が含まれていない
-----------------
xpathで「span」タグ直下の「testB」を指定
testB
何故か取れてしまう


xmlに対してxpathを実行してる筈なのにprint_rでxmlをダンプした内容に含まれていない「testB」が取得できてしまってる

621 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 04:57:01.07 ID:OtrZRag7.net]
ちなみにこれの何が問題かっていうと
今やろうとしてる事はこのxmlオブジェクトの全要素を走査して検索内容に一致した要素を見つけたらそこまでのxpathを自動で吐くっていうのを作ってるんだ
そしてこのxmlオブジェクトの全要素を走査してもtestBに当たる要素はどこにも見つからない
そのくせしてxmlオブジェクトに対してxpathで指定するとなぜか取れてしまう
xmlオブジェクトのどこかにデータは残ってるみたいだけど何故アクセスできないのかがサッパリ分からず困り果ててる

622 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 05:06:44.21 ID:zvfFpwGo.net]
デブロイってなんですか?デバッグとは全く関係ありませんか?

623 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 05:10:14.22 ID:zvfFpwGo.net]
つまり本番状態のサーバにアップロードするって事でしょうか?
テスト環境ではデブロイって言わないんですか?

624 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 06:40:54.79 ID:bBSWXEGa.net]
>>607
なぜってXMLじゃ一つの要素の中には要素とテキストを同時並列に入れたらあかんからじゃないのか

625 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 07:02:51.59 ID:hBMS6FdV.net]
>>610

それは規格上の理由

OtrZRag7が求めているのは構造上の理由

626 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 07:12:43.53 ID:hBMS6FdV.net]
で、simplexml_import_dom()で得られるのはObjectで連想配列じゃないから
情報が全部キーバリューなわけじゃなく、print_rしたところで無駄無駄無駄なだけだな。

別に不思議でもなんでもない。



627 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 08:06:11.62 ID:bBSWXEGa.net]
>>611
ああ。

構造的にはそのオブジェクトが元テキスト持ってるんじゃなくてsxeが使ってるlibxmlが持ってるとかじゃないか?
sxe::xpathはlibxmlが持ってる元テキストみて吐いててmixedとか考慮しないからspanも吐いちゃうとか(想像)
しかし自分はlibxml側のデバッグ方法とかまるでわからん

628 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 08:36:58.34 ID:hfDo0ds0.net]
>>608-609
要は「店頭に並べる」「リリースする」とかの仲間なわけで。

あと、よくよく見たら何かおかしい。
deployな。

629 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 09:31:28.50 ID:xGbfup/7.net]
>>607
dom になってるなら、基点エレメント取得してそこから first_child とか next_sibling その他の要素取得メソッド使って走査していけばいいんじゃね?

630 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 13:33:35.98 ID:OtrZRag7.net]
>>615
domって変に資料少ないので不安ですがそれしか無さそうですね・・・配列じゃなくてもforeach回せるかな・・・
しかし、実際にこういう書き方してるページがあるのにXML規格上の理由で読み込めないって酷いなぁ

631 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 16:08:32.93 ID:71zFnUl/.net]
$xml = simplexml_import_dom($dom);

$xml = $dom->saveXML();
でいいんじゃねーの?

632 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 16:42:44.94 ID:RHlV/dKw.net]
>>603
json言うから混乱したが、言いたい事は分かった
テキストノードの歯抜けはSimpleXMLElementだけのせい
XMLの問題じゃない
print_r(object)やらvar_dump(object)やらforeachでイテレート出来る要素やら
みなobject側の自己申告に基づいている
気になるならphp-srcを読もう

633 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 16:43:15.58 ID:wskZ51OW.net]
HTML扱うならphpQueryとか使えばいいじゃない

634 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 16:58:19.98 ID:akYZMgly.net]
>>616
読み込めてるよ
print_r($xml->body->div);

635 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 17:06:45.27 ID:OtrZRag7.net]
>>617
要素は全部取れたんですがHTMLタグが消えるみたいでXpathの抽出はちょっと無理そうです

>>619
JQueryの知識が無いので除外してましたがDOMを扱うならそっちの方が良さそうですね
XMLなら多重配列っぽくてラクだと思ってたらこんな落とし穴があるとは

636 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 17:42:03.32 ID:OtrZRag7.net]
>>620
やっぱり隠れてるだけで直接指定し



637 名前:て呼び出せば普通に出てくるんだ・・・
けどforeachのループに組み込めないんじゃ利用できない事に変わりは無さそうですね・・・
[]
[ここ壊れてます]

638 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 23:42:13.84 ID:WTdhzJIA.net]
無限ループしてしまうプログラムを書いてしまった場合って、***.phpにアクセスするとサーバ上では無限ループしてるんだよね?
どうやって止めたらいいの?

639 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 23:48:32.17 ID:hfDo0ds0.net]
設定にもよるけどタイムアウトがあるっしょ
あとはsshとかで繋げば?

640 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 23:58:18.93 ID:RLEkkPM/.net]
max_execution_time

641 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 00:43:28.02 ID:YOklMNkc.net]
PHP無料鯖でも使えるところそこそこあるけど、IDEが何故か有料の多いよね・・・
javaは無料IDEで十分使えるのに

642 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 00:46:23.95 ID:bi4aOyNo.net]
文章が繋がってないぞw

643 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 00:49:09.18 ID:M2BOTgSX.net]
>>622
class xxx {

protected $dom;
protected $xpath;
protected $nodes = array();

public function __construct(DOMDocument $dom) {
$this->dom = $dom;
$this->xpath = new DOMXPath($dom);
$this->search();
$this->display();
}

function search($q = '/') {
foreach ($this->xpath->query($q) as $key => $val) {
$xml = simplexml_import_dom($val);
$arr = json_decode(json_encode($xml), true);
if (count($arr)) {
foreach ($arr as $key2 => $val2) {
$this->nodes[] = $q . '/' . $key2;
$this->search($q . '/' . $key2);
}
}
}
}

644 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 00:49:30.37 ID:YOklMNkc.net]
本当だ。おかしいw
眠い時はROMっておこう。。

645 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 00:49:30.91 ID:M2BOTgSX.net]
続き
function display() {
$xml = simplexml_import_dom($this->dom);
foreach ($this->nodes as $q)
{
echo $q."\n";
foreach ($xml->xpath($q) as $key => $val)
{
echo ' ['.$key.']=>'.trim($val)."\n\n";
}
}
}
}

646 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 02:37:07.04 ID:qUIbZUVT.net]
何これすごい
domってこんな感じで利用できるんだ・・・



647 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 09:57:54.50 ID:g74rSyHb.net]
パーセントエンコード“だけ”してくれる関数ってありますか?

648 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 10:59:08.36 ID:bi4aOyNo.net]
「だけ」ってうけど、具体的に何がOKで何がダメなん?

php.net/manual/ja/function.urlencode.php
php.net/manual/ja/function.rawurlencode.php
例えばググって真っ先に出てくるこれらがダメな理由は?

649 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 16:06:30.65 ID:0YAFICdU.net]
ないなら作るだけなので質問に答えるだけで結構です

650 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 16:55:31.84 ID:tFJMPISe.net]
激しくうざいから答えてやらんし意味のないレスだけはしてやるよ

651 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 17:02:58.52 ID:sMannWf/.net]
最近回答者おせっかいがすぎるんだよな
そんなんだからこんなクソスレになってしまったのだろう

652 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 17:14:48.16 ID:dXv2CRDJ.net]
それは仕方が無い
報酬をもらっているわけじゃないし

653 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 17:17:39.61 ID:dleZE7oF.net]
どの辺がおせっかいなんだろう

654 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 17:26:57.56 ID:dXv2CRDJ.net]
分からないならレスつけるなって事かな?

655 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 17:30:38.71 ID:sMannWf/.net]
聞かれたことに答えてればいいってこと
また疑問があれば聞き直すだけで先読みなんてしないでいい

656 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 17:51:33.43 ID:dleZE7oF.net]
たとえば>>633のレスの、1行目はいいが残りはだめだということか。



657 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 18:36:31.03 ID:zD3pdbnL.net]
>>636
>最近回答者おせっかいがすぎるんだよな
具体的にどの回答?レス番はどれ?

>おせっかいだからこんなクソスレになってしまった
おせっかいだとクソスレになる理由は?

658 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 18:43:42.82 ID:qpp6dhOr.net]
むしろ「これさえもわからないの?」みたいな回答者ぶった嵐が気になる

659 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 18:51:01.76 ID:dXv2CRDJ.net]
そういうのは煽っているだけだから、相手にしなくてもいいと思う

660 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 19:11:45.17 ID:OCwvzkS2.net]
質問に頼りきったなかなか進歩しない質問者がずっと質問してる感じに見えるな
1ヶ月近く繰り返してんじゃねーよという
環境構築の人とDOMの人

とりあえず>>254に答えとけばおk?

$ctx = stream_context_create([
'http' => [
'method' => 'GET',
'header' =>
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0\r\n".
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n".
"Accept-Language: ja,en-US;q=0.7,en;q=0.3\r\n"
]
]);
$src = file_get_contents('www.amazon.com/gp/offer-listing/0996275460/?condition=new', false, $ctx);
$pages = preg_match('/.*olp_page_(\d+)/s', $src, $match) ? $match[1] : call_user_func(function($src) {
return (strpos($src, '404.html') !== false) ? 0 : 1;
}, $src);
echo $pages;

661 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 22:56:50.18 ID:YOklMNkc.net]
クラスの責任を重視した設計をすると、クエリーが多くなってしまうんですが、クラス設計のお手本みたいな物はありますか?

662 名前:デフォルトの名無しさん mailto:sega [2016/04/24(日) 23:32:18.76 ID:Tp4+Mibw.net]
あるメソッドが性的に呼ばれたのかそれとも
オブジェクトのメソッドとして呼ばれたのか
区別する方法ってありますか?

663 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 23:43:36.61 ID:qv1H2ydw.net]
>>647
静的でないメソッドを静的に呼ぶ可能性, 或いはその逆があり得るということか?
それはそもそも設計ミスでは?

664 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 23:57:01.63 ID:dleZE7oF.net]
>>647
何のために?

665 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 00:16:09.69 ID:n9/ggnWY.net]
>>648-649
申し訳ありませんが、理由は秘密です。

純粋に技術的な疑問だと思ってくれ。

666 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 00:24:21.67 ID:d03Y1t3Y.net]
なんだそりゃ。
$obj->static_method() は合法。知るとすればバックトレース(確実)、もしくは$thisについて調査するコードを入れる。
classname::instance_method() は違法。警告出せばすむ。

これでいいか?



667 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 01:23:36.77 ID:VJsPEWqG.net]
>>622
木を探索するって、深さ優先・幅優先のどちらなの?

Pythonでは、forなどのiterator(反復子)で、
反復できるオブジェクトを、iterable(反復可能体)という

反復可能体は、Cの配列のように、メモリアドレスが連続しているか、
Cのリストのように、ポインタで次の要素(next)を指せるもの

木はリストだろ。nextが深さ優先・幅優先のどちらを指すか?
つまり、nextが長男(子)・次の弟のどちら?

木構造のすべてのオブジェクトを、自動的に反復するなら、
そういう特殊な木用の、再帰的なforループがあれば、それを使う

668 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 01:34:32.92 ID:VJsPEWqG.net]
>>646
疎結合だから、CakePHP, RoR, JSP/Servlet などのMVC。
モデル(データ・ロジック)とビュー(見た目)は、直接アクセスしない。
必ずC(制御)を通す

疎結合(中央集権)は、スパゲティ・泥団子にならないので、開発費を抑えるけど、
Cを通すから、間接的になり遅くなる

669 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 02:14:06.58 ID:oGqxCmgH.net]
>>653
それはいわゆる似非MVCでは

670 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 03:54:36.04 .net]
モデルから変数読んでビューに書き写すばっかりになっちゃうんすよ

671 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 08:36:03.25 ID:tw90Nc2v.net]
そもそもアクセス毎に処理が完結するなら普通の意味で言うMVCなんて要らないし・・・・

672 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 09:28:37.47 ID:9Cqasf4k.net]
Web業界でPHP使ってると恥ずかしいってことに1年位前に気付いた
MacでRuby使うとドヤ顔できるのに、なんでPHP使うとバカにされるのかね?

673 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 09:47:03.41 ID:AOaHAs2l.net]
言語関係なさそう

674 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 09:51:18.46 ID:sePdmzHQ.net]
理由も分からず恥ずかしいとおもうアホがいるからじゃね?

675 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 09:56:39.06 ID:VDmdIfOu.net]
1年前に気付いたのか・・・
失った君の青春は二度と戻ってこないよ

676 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 10:31:36.27 ID:6w8XRfV1.net]
Webデザインやろうと思ってるんだけどPHPって覚えたほうが良いのかな?
HTMLとCSSしかわからない



677 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 10:35:18.04 ID:VDmdIfOu.net]
Web構築を分担してやれるなら、覚えなくても大丈夫。
一人でやらないといけないなら、覚えた方がいい。
それほど難しいわけじゃない。と言っても、
プログラム言語に関する知識を多少必要としてます。

678 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 12:39:16.78 ID:0xpbBk2N.net]
>>661
PHP ももちろん強みになるけど
その前に Javascript まで広げてクライアント側をしっかり固めるべき

679 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 14:37:53.68 ID:LzcFYIqF.net]
>>661
テキストとか画像を組み合わせて作る静的なページなら要らない
ユーザがなんか書き込んだらコメント表示するとかの動的なwebサイト作るならその手の知識は大体必要
サーバ側に処理させるならPHPとかのサーバサイド、ユーザ側のパソコンに処理させるならJavaScript、javaと名前似てるけど別物
PHPは基本サーバ上でしか動作しないので入門の敷居は比較的高め、動作環境整えれば割と適当に書いても結構マトモに動くので扱いやすい
web上で動くプログラムはそんな複雑な事しないからCSSが扱えるなら同じノリで行ける

680 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 14:49:17.55 ID:jyux2xKh.net]
>HTMLとCSSしかわからない

こう言える人なら、覚えるのは難しくはないと思う

681 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 16:22:21.10 ID:TdHq/qrU.net]
phpのif文で、html文の見出しやリストなど含んだ広い領域を表示非表示切り替えたいです。
1文1文printで囲む以外の方法は何かありませんか?

682 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 16:27:20.21 ID:f8Qx4Ikq.net]
>>666
ヒアドキュメント、もしくは外部ファイルにしてinclude

683 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 16:31:30.92 ID:TdHq/qrU.net]
>>667
回答ありがとうございます。
ヒアドキュメントを調べてみます。

684 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 17:32:10.99 ID:AOaHAs2l.net]
<?php if(isset(食欲)): ?>
<p>ペペロンチーノ</p>
<?php endif ; ?>

685 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 18:31:24.99 ID:iyRenNZ6.net]
去年か一昨年、phpカンファレンスみたいなのにいって気持ち悪い連中ばかりだったんだよなあ
昔はWebスクールといえば可愛い女子もいたんだが、今やキモ男ばかりの業界だから
Webやってるとか口が裂けても言えなくなってしまった

686 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 18:33:39.60 ID:+1Mb+9kq.net]
なんかしらんけど、このスレ気持ち悪い奴だらけになっとる



687 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 21:38:04.62 ID:Eggj/uto.net]
>>670
Rubyはもっとやばいぞ

688 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 21:54:32.47 ID:Ps5j2E75.net]
<?php if( condition ){ ?><tag>text</tag><?php } ?>
<tag value="<?php echo $var ?>"><text><?= $text ?></text></tag>

みたいな書き方を最近しなくなってたけど
こういう埋め込む書き方と変数に入れたり追記したりして最後にどばーっと吐くのとどっちが早いとかあります?
逐一吐くとHTTP headerが…というのはわかる、出力バッファあたりはほとんど理解してない

689 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 22:06:10.48 ID:Eggj/uto.net]
MVC意識するならviewは分けてテンプレート使ってやったほうがいい
つまり最近しなくなったというそんな感じの書き方
早さだけを求めるなら変数に連結してやる昔ながらの方法がいいだろう
単純なテキストのみにして変数にhtmlのコードを含めるべきでないと個人的に思うけど
まぁ自分が問題ないならなんでもいいんじゃない
自分は保守が大変になるからまずやらないけど

690 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 23:44:28.31 ID:NebOi/I+.net]
M→C→V 表示
↓←←↓
V→C→V データ入力
↓←←↓
V→M→C→V  データ登録 おしり

でいいの?よくわかんね

691 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 23:46:13.31 ID:NebOi/I+.net]
B→C→M→C→V
→B→C→V
→B→C→M→C→Vか

692 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 00:03:00.66 ID:MxUl9hit.net]
>>675
アクセス毎に新しくView作るからModelの変更をObserveする必要はない
Controllerが適当なModelに処理を振ってその後でView作ればいいだけ

693 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 00:37:52.85 ID:TdeFOcNs.net]
通知というかコントローラーがモデルの作業が終わったか確認する感覚でええのん?

694 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 01:19:08.81 ID:MxUl9hit.net]
Modelの処理が必要なだけ終わってからView作ればいいじゃん
Controllerにフィードバックすることなんて何もないだろ

695 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 05:51:09.25 .net]
>>679
ModelはViewのこと何も知ってちゃいかんのでは
データを依頼されて書いたり読んだりするだけでは

696 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 09:34:20.45 ID:qFjspT6z.net]
という、何が大事なのかを全部無視して、 MVCとはこうだからって思考停止しちゃうんだよね
PHPで作る1ページ如きだと合わないこと多いのに



697 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 09:43:36.57 ID:RYmsvRC4.net]
だったらMVCとか言わなければいいでしょ

698 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 10:19:36.11 ID:SbyRb/iR.net]
>>673 の質問の
こういう埋め込む書き方と変数に入れたり追記したりして最後にどばーっと吐くのとどっちが早いとかあります?

これの答えはどうなの?
MVCうんぬんは置いといて

699 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 10:34:29.29 ID:RYmsvRC4.net]
>>683
速度が気になるなら作ろうとしたものに則した処理手順で自分で測ってみればいいでしょ。

ただわざわざ(遅い)PHP使ってやる意義は、画面とロジックの分離が簡単にできるという点にあると言っても過言ではないと思うよ。

700 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 10:35:55.16 ID:7aPQW1AR.net]
>>684


701 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:42:05.04 ID:+nUKWOY4.net]
>>683
PHPとして実行するんだからどちらも変わらん
HTTPヘッダーもリクエストに対して1回だけっしょ

702 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:49:00.49 ID:RYmsvRC4.net]
>>686
ヘッダって Content-Length を設定する話なんじゃないのかな。
速度については print と echo でも違いがあるくらいだから、やってみないと分からんというか、実際に比べてみると意外な発見ができるかもよ。

703 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:53:20.89 ID:t6CRhrbh.net]
え、echoとprintって速度違うの?

704 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:58:50.87 ID:/KGvpl9k.net]
なんで試せばわかることを何度も何度も聞くかね

705 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 15:16:53.61 ID:jdnJGqSu.net]
一寸だけ、echo の方が速い、だっけか

706 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 20:18:20.06 ID:MxUl9hit.net]
>>680
いやいや, ModelがViewを作るんじゃなくてControllerがModelに投げてからControllerがView作るってこと
PHPで普通に書いてれば非同期な処理なんて起こらないんだからControllerがModelを監視する必要もないでしょ



707 名前:デフォルトの名無しさん mailto:sega [2016/04/26(火) 21:22:43.10 ID:7SchGkHm.net]
>>651
isset($this) やってみたけど、staticなメソッドだと $this無いのな
よく考えれば当たり前なんだろうけど、最初よく考えてなくてびっくりしたわ

708 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 21:26:25.46 ID:7SchGkHm.net]
なんかこんな感じになった

class A {
static function hoge() {
$s = isset($this) ? "object" : "static";
print("$s\n");
}
}

A::hoge(); // static

$n = new A;
$n->hoge(); // static

709 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 02:40:04.50 ID:rxhLW16a.net]
staticはインスタンス化しても問題ないけど
インスタンスメソッドをstaticコールは出来ない
これキホン

710 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 03:08:04.76 ID:cC09CvPn.net]
>>692
selfになるんやで

711 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 06:01:03.24 ID:fhjp6oCD.net]
>>693

なかなか迷走してるな。がんばってw

712 名前:647 mailto:sage [2016/04/27(水) 13:55:53.37 ID:N2IMd1ky.net]
結局のところ、区別は絶対につかないことがわかったよ

static function hoge() {
と真面目に宣言してるメソッドはどう呼んでもstaticになる

713 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 13:58:26.28 ID:N2IMd1ky.net]
staticつけずに定義してるメソッドなら ちゃんと区別がつく
が、これはWARNING出るし ちょっと砂糖構文ぽくていや


class A {
function hoge() {
$s = isset($this) ? "object" : "static";
print("$s\n");
}
}

A::hoge(); // static

$n = new A;
$n->hoge(); // object

714 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 14:11:05.42 ID:iS2uJpqo.net]
>砂糖構文
ちょっとまて

715 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 16:00:44.09 ID:ryCjRle9.net]
まあでもsyntactic sugarだからなんでも良いよね感

716 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 16:15:22.09 ID:xA/Pm/zW.net]
staticが未だにつける理由わからない
つけなくても動くんだよなあ
なんでつけないといけないの?



717 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 16:16:41.33 ID:qPjzNyja.net]
$val1 $val2に それぞれ "200",200,0,"0","00",nullの値がランダムに入ってくるとして
必ず答えを400〜0の間にするにはどうしたら良いんでしょうか

718 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 16:17:02.38 ID:iVl8Oq0H.net]
>>701
既にDeprecatedだから近い将来動かなくなるぞ

719 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 16:55:08.90 ID:E0M63uPa.net]
>>702
$var1,$val2は何に使うんだ?

720 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 17:10:50.51 ID:xA/Pm/zW.net]
>>703
わかるけどつけなくても実質的に問題ないのになんでわざわざつけないと動かないようにするんだろ

721 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 17:25:02.73 ID:iVl8Oq0H.net]
>>705
静的メソッドとインスタンスメソッドなんて役割全く違うのに実質的に問題ないとは?
インターフェイス見ても静的かインスタンスか分からんようなAPIなんて害悪そのものだろう

そもそもstaticキーワード無しでも静的メソッド呼び出し可能なのはオブジェクト指向言語だなんて口が裂けても言えないようなPHP4時代の名残でしかない
他のクラスベース言語で同じことやってる言語がいくらある?

722 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 18:00:00.00 ID:qPjzNyja.net]
>>704
$input_val = array[ "200","0","00",null,0,200]
$val1 = $input_val[rand(5)];
$val2 = $input_val[rand(5)];

$ret = $val1 + $val2

echo "合計". $ret. "人です\n";
みたいなイメージ "200" + "00" = "20000"とかになりそうで怖い・・・

723 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 18:16:52.79 ID:VZ0i7jHG.net]
文字列の連結はそのために . にしてんじゃないのかな
ホント色々いいたくなるよねw

724 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 18:43:31.59 ID:af0ErLk2.net]
DateTimeクラスとMySQLのdatetime型の相互変換を行いたいです

725 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 19:14:15.60 ID:E0M63uPa.net]
>>707
各所文法間違いはともかく、 それでだいたいお望みどおりに動くでしょ。

726 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 19:34:27.65 ID:Knpnj6tL.net]
>>707
整数型にキャストすればいい
$ret = (int)$val1 + (int)$val2;



727 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 20:33:47.80 ID:Vo6vNlrx.net]
>>705
staticじゃないものをstaticで呼ばれたら
インスタンス変数参照できないじゃん

728 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 23:50:13.73 ID:JpY/0o50.net]
>>698
> classname::instance_method() は違法。警告出せばすむ。
って書いたんだけど

729 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 11:41:36.25 ID:ON9UC2Yh.net]
>>706
>他のクラスベース言語で同じことやってる言語がいくらある?
C++とかできるよね。 そういうことじゃなくて?

class A {
public:
static int hoge(){ printf("hoge\n"); }
};

int main() {
A::hoge();

A *a = new A();
a->hoge();
}

730 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 11:48:15.94 ID:CCEipRZl.net]
>>714
逆だろ

731 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 20:45:41.13 ID:i2B24aI1.net]
>>714
staticキーワード書いてりゃ静的であることは分かるんだからさぁ・・・・・
>>705の言い方も「付けなくてもいいじゃん」てことだろ?

732 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 13:59:46.38 ID:P3UdCaB8.net]
WPというか、phpの問題かもしれないが、
ウインドウサイズを認識した分岐ができるようになってほしい。
ソースレベルでも入・出力を振り分けたい。

733 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 14:41:21.66 ID:phDms4a6.net]
>>716
A::hoge();
a->hoge();
のどっちで呼ばれたかを関数内で知りたいんだけど、どうすればいいかな

734 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 14:50:34.66 ID:b810C973.net]
>>717
phpの問題でもwpの問題でもない、どっちかっていうとhttpの問題か
初回アクセス時にjavascriptを使ってウィンドウサイズを得てcookieに入れてもらって即リダイレクト…とすれば不可能でもないか

735 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 17:22:48.24 ID:yjKpOv8B.net]
>>717

本物の馬鹿降臨

736 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 18:26:03.44 ID:dByELugU.net]
ウィンドウサイズによってサーバ側の処理を分岐させるなんて聞いたことないな



737 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 18:47:27.22 ID:yivpch89.net]
携帯サイトの場合なら、渡される端末の画面サイズ情報に応じて表示を変えると

738 名前:言うのはあったな []
[ここ壊れてます]

739 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 19:44:38.07 ID:3OPJ3853.net]
>>718
言語として区別する必要がない(staticであれば静的に呼ばれればよい)
呼び出し元の情報を関数が知っているべきでない

まとめるとバックトレースでも見て呼び出し元のソースから判断するしかない
そして無意味

740 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 19:48:01.23 ID:e7v6KggY.net]
PHPではユーザーエージェントで振り分けが一般的だろう

741 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 23:16:19.66 ID:AWs6LkoN.net]
>>722
ソースを見ると、携帯端末の名前それぞれに対応する画面サイズ情報とかがズラリならんでるんだな…
うっ、頭が……

742 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 23:44:35.82 ID:t6EmjZl2.net]
無駄に大きな画像をDLさせないようにってことじゃないの?
レスプンシブやめてそれぞれデザイン変えたいとか、そういう時のやつ。
すごい簡単なやり方あったけど忘れたわ。
確かにPHPでやってたのは覚えてる。

743 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 01:33:45.96 ID:CH7eTZMG.net]
ガラケー…W20H30…1ページのバイト数…cookie不可…ガラケー用HTML…えもじ…

744 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 02:50:12.26 ID:x6ExceOd.net]
>>727
二度と戻りたくない世界だな…

745 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 09:51:40.14 ID:x6hKSksA.net]
>>723
無意味かどうかはオレが決めるさ

746 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 10:22:12.00 ID:gSvXp03E.net]
>>717
出来るから。勉強不足すぎるわ。デバイス判定、画面サイズ判定普通に出来るから。
おまえの問題でしかないだろバカ



747 名前:デフォルトの名無しさん [2016/04/30(土) 12:06:51.69 ID:uVz81x78.net]
GitHubで匿名通信(Tor、i2p等)ができるBitComet(トラッカーサイト不要でDHTだけで日本語検索可能)
みたいな、BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenant(純粋P2Pのファイル共有ソフト)の完成が待ち遠しいプログラミングできないアスペルガーw

748 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 12:16:40.22 ID:pZkow9Wr.net]
配列とイントランスの参照/実体渡しについて、c#と比較して教えて欲しいです
配列は参照渡しだが、書き換えるとコピーされるので、実質値渡し
イントランスはc#と同じ値渡し
という認識であっていますか?
ggってもいまいち分からなかったので

749 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 12:23:07.44 ID:QAEI/5KM.net]
>>732
そんな感じ。適当だから厳密にならないように、ラフな感じでよろしく!

750 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 12:41:04.99 ID:CH7eTZMG.net]
イントランスってなんだインスタンスのtypoか?

少なくともphp5以降ではオブジェクトは参照渡しだったはずだが

751 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 12:41:27.47 ID:WqN5QD+I.net]
>>732
イントランスじゃなくてインスタンスな
インスタンスは参照渡しだぞ
php.net/manual/ja/language.oop5.references.php

752 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 12:51:53.13 ID:pZkow9Wr.net]
間違って覚えてた・・・恥ずかしい
ありがとう

753 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 13:49:14.61 ID:qRXZq22J.net]
これはさすがに >>736 が可愛すぎて吹いた。

馬鹿も度を越すと本当に可愛く見える。

754 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 13:54:26.27 ID:kBEc2ffr.net]
不勉強で。単に自分の知らない用語があったんだなと思って眺めてたら

755 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 13:57:31.12 ID:n4Sz1TLc.net]
違うよ、世の中には可愛い馬鹿と可愛くない馬鹿が居るだけ
ついでに言えば、可愛い馬鹿でも度を超した馬鹿は絶対に関わり合いになりたくない

756 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 14:18:06.12 ID:MNX3bmo/.net]
お前ら、一度も間違えて覚えていた事がないの?
お客に間違えたまま話してて、指摘されたkともないの?
部下から、「それ違うんじゃ」って言われたこともないの?

そう本気で思っている奴いたら、100%天然の○○だぞ



757 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 14:21:27.49 ID:X7oVJKeu.net]
この業界は他人を見下すやつ多すぎるからな
技術あるやつほど人格終わってるのが多い

758 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 14:49:32.58 ID:pZkow9Wr.net]
もう一ついいですか?
sha256の16進数文字列をを短くするために、64進数文字列に変換したいです
文字列→sha256ハッシュで16進数文字列を取得→hexdecで10進数に変換→ネットに落ちていた10進数と64進数の相互変換関数で64進数に変換
としているのですが、intの範囲を軽く越えるので、hexdecで実数が返ってきてしまい、上手く変換出来ません
何か方法ないでしょうか?

759 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 15:22:14.42 ID:qRXZq22J.net]
>>740,741

> お客に間違えたまま話してて、指摘されたkともないの?

あるわけない。

まともな人間ならお客さんと話す前には内容をイメージトレーニングするから
話す内容に間違いがないか、その時点で下調べくらいする。
よくわからんアイドルの名前を間違えることなどはあるかもしれないが、それは寧ろ、話題がにつながっていいかもしれない。

これはあらゆることに関しての原則だが、
どう見ても馬鹿なことをしておいて他人から「馬鹿だ」と言われて腹が立つ奴は絶対に何事も大成しない。
自分が馬鹿だと自覚した時が成長のチャンスなのに、くだらない自尊心がそれを阻害しているから。

もっというと、知らない単語が出てきた時に意味や何故その名前になっているのかを調べずに
字面で覚えているやつは、プログラミング技術は絶対に向上しない。

そういうあたりまえのことを分からず、
「人を見下す奴こそ馬鹿」みたいな自分に甘い感情論を言う奴は間違いなくクズグラマ。

760 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 15:26:10.15 ID:qRXZq22J.net]
>>739
>ついでに言えば、可愛い馬鹿でも度を超した馬鹿は絶対に関わり合いになりたくない

だって、pZkow9Wr には現実に関わること絶対ないもん。度を越してても可愛い可愛いで済んじゃうよ。

761 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 15:28:30.11 ID:MNX3bmo/.net]
>>743
あんたの言っている事は大筋その通りだと思うから、反論しないけどさ

>他人から「馬鹿だ」と言われて腹が立つ奴

少なくとも、今この話題でこういう人はいないでしょ?
話題となった当人は恥ずかしくて恐縮してますよ

762 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 15:29:20.36 ID:pZkow9Wr.net]
何か荒れてしまってすみません

763 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 15:31:21.77 ID:qRXZq22J.net]
言い出すときりがないからもう一つだけにしておくけど、

> "ネットに落ちていた"10進数と64進数の相互変換関数で64進数に変換

こういう事平気で言う本物の馬鹿は、本当にどうしようもない。
先人に対する敬意もへったくれもないし、本当に努力することもありえないから
何か教えるだけ無駄。

764 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 15:33:31.88 ID:qRXZq22J.net]
>>745
>少なくとも、今この話題でこういう人はいないでしょ?

>>740なんか、自分に投影して腹たったからああいうこと書いてるんでしょ? 普通に解釈して。

765 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 15:39:28.80 ID:MNX3bmo/.net]
何を持って腹が立つと受け止めたのかな?

オレが言いたいのは、バカと言っているけど、
誰でもありがちな勘違いで、
本人も間違いと気がついて謝罪しているのに、
まだ続けるのかなって疑問を感じたから書いただけなんだけど

766 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 15:46:56.21 ID:x6hKSksA.net]
>>748 >>749
バカ同士仲良くしようず



767 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 15:50:46.67 ID:MNX3bmo/.net]
確かに賢い人は、人の誤りを見てにやっと笑い
「オレならしない」と独り言を言って立ち去るね

768 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 16:10:52.65 ID:n23D/+7R.net]
>>742
hex8桁ずつ処理すればとりあえず少しは短くなるよ。

769 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 17:46:10.80 ID:TD0Cn9Rr.net]
>>742
SHA256をバイナリで吐いてからBase64

770 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 18:15:52.02 ID:pZkow9Wr.net]
>>752でも、>>753でも出来ましたが、なるべく自分のソースだけで終わらせたいのでbase64を使う事にしました
ありがとうございます

771 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 15:55:08.26 ID:/HxbZLaJ.net]
外部キー制約はInnoDBだけで使え、複合主キーAUTO_INCREMENTはMyISAMだけで使えるようですが、両方使うのは無理なのでしょうか?

772 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 16:21:54.96 ID:53diw1JY.net]
はいどうぞ
echo.2ch.net/db/

複合キーのAUTO_INCREMENTって使ったことねぇなあ

773 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 21:30:37.95 ID:i9g3iqjk.net]
if ($found) {return false;}
return true;


上の式を三項演算子にしたいのですが、以下の式では正常に動作しませんでした。
どこがダメなのでしょう
$found === true ? false : true;

774 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 21:40:52.47 ID:FDPPvimu.net]
>>757
returnしていない

775 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 21:44:50.81 ID:d53mXAAU.net]
return !$found;

776 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 21:47:15.64 ID:i9g3iqjk.net]
できましたありがとうございます。



777 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 21:54:22.94 ID:SOjV5rld.net]
質問への直接的な解答としては

上:真と判断されるものなら何でもいい
下:厳密に「TRUE」が入ってないとダメ

っていう、微妙な条件の違いに起因してるんじゃねーかな。
それ以上は実際にどういう値が入ってるか分からんと答えにくいけど。

778 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 22:12:15.39 ID:6p3XpW5A.net]
if ($found)とか!$foundってやめたほうがいいよ

779 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 22:14:41.94 ID:t9/6jK5v.net]
>>762
そこまで言うのは大きなお世話
bool以外でやられるとアレだがboolであることが確定しているなら別にいいと思う

780 名前:デフォルトの名無しさん [2016/05/03(火) 13:22:46.86 ID:wezBEewb.net]
複数プロセスから処理を1個ずつおこないたいので
メッセージキューを使ってるんだけど
キューごとに優先順位をつけたいときは
どうしたら良いのか

781 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 13:25:30.38 ID:7aVuKy9g.net]
優先度付きキューにすればいいじゃん

782 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 13:53:05.38 ID:POacCwFX.net]
誰が考えても同じ答えしか出ないものをわざわざ
掲示板で質問しなければならない人は、
自販機で買うジュースも人に聞かなければ選べないほどの病人だと思うの。

783 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 14:45:35.55 ID:wezBEewb.net]
>>765
phpの優先度付きキューってプロセス跨げないよ?

784 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 15:13:12.54 ID:pcOhaWKy.net]
じゃあそれを言おうよw

785 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 15:26:04.64 ID:wezBEewb.net]
>>768
補足で msg_* やSplPriorityQueueのこと書こうと思ったんだけど
誰が考えても同じ答になるそうなのでちょっと待機してた

786 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 16:45:25.34 ID:elGKthlc.net]
優先度の異なる複数のキューを管理するクラスを作ったことならある
その時はPHPじゃなかったけど、同じようなことはできるんじゃないかな



787 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 17:13:35.76 ID:B2CuE2Il.net]
都内でぼっちでphpやってるんだけど、せっかく都内にいるから勉強会とかそういうのに出ようかなあと
ただ開発環境がwindowsなんだけど、そういうの集まるとみんなmacだよね?
やっぱmacじゃないと仲間はずれにされたりイジメや無視されたりする?

788 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 17:35:10.37 ID:elGKthlc.net]
へぇ、みんなmacなんですか。
そんなんで仲間はずれにする人しかいない勉強会なんて願い下げでいいよ。

789 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 17:53:39.85 ID:BSm7UqFn.net]
リナックスユーザーの存在

790 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 18:10:05.67 ID:wAl7mTD5.net]
勉強会行くより仕事しろテスト書け

791 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 18:51:01.85 ID:1OXiQfcM.net]
>>771
開発環境はFedoraですけど

792 名前:デフォルトの名無しさん [2016/05/03(火) 19:27:29.80 ID:G9XEXQGe.net]
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrent(Covenant)が活発な情報交換・交流コミュニティでオープンソース開発されています(プログラマー募集中)

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise氏)がそういう人と話したいそうなので、よろしければツイートお願いします<(_ _)>
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできない情報発信好きアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません


793 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 00:28:16.20 ID:hEDk15uI.net]
情報発信好きがマルチポストをするとはすごい時代になったものですね

794 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 01:21:06.77 ID:mu28jnAT.net]
みんなはhtml(今ではhtml5)からはじめた?
それともphpを単独ではじめた?
というのもphpって拡張子を.phpにして、htmlの中に<? ?>で書いていく感じが多いじゃん?
なのでhtmlも並行に学んでる?

795 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 02:10:16.07 ID:qX1/u2G+.net]
自分はつい最近になってから、仕事で使うためにPHPを学び始めたので
HTMLの基本は当然ながら知ってた。
まあ、WordやExcelが使えて当然みたいなもんだろうし。

ところで、HTMLファイルの中にピンポイントで埋め込むような形式って
使ったこと無いんだけど、実際どうなの?

796 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 03:21:35.27 ID:Ei88mNMV.net]
>>779
少なくともモダンな書き方ではない。が, 簡単なものならそれでもいいと思う。
ある程度以上の規模になってきたらPHPはロジックだけ書いて表示はテンプレートエンジンに投げるわ



797 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 03:54:58.33 ID:qX1/u2G+.net]
ありがとう
MVCどころか、せめてMVは分けるべきだよなあって感じで
使ったことなかったんだ

798 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 11:36:01.99 ID:D79M6+1d.net]
phpが最高すぎてつらい

799 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 12:16:24.48 ID:0znskkiV.net]
webシステム開発はまだPHPが良いの?
海外では人気ないって聞いたけど

800 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 12:23:41.06 ID:umZZ3q0x.net]
それ聞いたやつに聞けよ

801 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 12:38:15.77 ID:0znskkiV.net]
どうなの?って聞いただけでも余裕がないと言うことか・・・

802 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 13:00:48.15 ID:p/7XQ3tJ.net]
身近に聞ける人がいるならそいつから聞いた方が確実なんじゃない?

803 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 13:24:28.90 ID:j6q0yXrL.net]
>>785
脳みそ空っぽですか?

804 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 13:25:49.27 ID:AB8NUDGJ.net]
言語なんてただの手段だからPHPで十分

805 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 13:33:58.84 ID:0znskkiV.net]
傾向はわかった

806 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 13:39:43.30 ID:3+sO+UIY.net]
ホームページ作る時ってhtml使わずに全部phpで書くの?
例えばこんな風に
echo <html>
echo <header>
echo <title>



807 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 13:53:55.93 ID:qX1/u2G+.net]
PHP初学者な俺が答えてみる

・静的なページはHTMLでいいじゃん
・ヒアドキュメントでぐぐれ
・テンプレートエンジンとかフレームワークというのがあるよ

808 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 13:58:00.03 ID:m9xtPxtQ.net]
>>790
<? ?> を使わなければ全部HTMLだよ

809 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 14:04:51.06 ID:NPwMSLhK.net]
フレームワーク使いたいけど行き詰まったときに進めなそうで躊躇するなあ

810 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 14:37:24.75 ID:qX1/u2G+.net]
>>793
一度フレームワークを採用すると,そのサイトではそのフレームワークでしか動かせなくなる、
なんてことは無いんじゃないかな

811 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 15:14:55.86 ID:NPwMSLhK.net]
>>794
なんで?
別のフレームワークで再構築するのもかなり苦労しそうだけど…

812 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 15:17:22.83 ID:qX1/u2G+.net]
すまん、>793の意味を理解してなかったみたいだわ

813 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 15:32:04.93 ID:NPwMSLhK.net]
>>796
そっかww

814 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 17:55:48.51 ID:PjMZUCXr.net]
>>790

シンタックスエラーです。

815 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 17:59:30.19 ID:PjMZUCXr.net]
>>787

頭が空っぽなことはあったとしても、
脳みそが空っなことは無いと思う。

816 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 18:39:22.05 ID:D79M6+1d.net]
>>790
phpにしたいところだけ<?phpと?>で囲めばいいんだよ
その他はHTMLタグでもいい
でもファイルの拡張子はphpにしなきゃだめだよ



817 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 18:45:59.92 ID:BQgscAQu.net]
mb_send_mailを使って、メールを送れるようにしたんだけど、ヘッダーのFromを適当なアドレスに変えてもメール送信できてしまうのはなぜ?
実際はどのメールアドレスを使ってメールを送信してるの?仕組みを教えてほしい

818 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 18:47:46.42 ID:D79M6+1d.net]
送信先があってれば、ちゃんとアドレス解決されて相手のメールサーバーに届くんだよ
送信元はどうでもいい

819 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 18:50:36.56 ID:D79M6+1d.net]
>>801
現実世界でも同じ
封筒の宛先は正しくて、裏面の自分の名前とか住所適当でもちゃんと届くでしょ?
でも正しい返信はもらえない

820 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 19:02:59.57 ID:BQgscAQu.net]
返信ありがとう
もう少し細かく聞きたいんだけど、メールを送ってるのはメール送信プログラム.phpを動かしたサーバーからなの?
できれば、サーバー側から送信したメール数やメールの内容を借りてるサーバー付属のメーラーみたいなのから確認したいんだけど、それは無理かな?

821 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 19:04:44.29 ID:Ei88mNMV.net]
>>801
PHPが行うメール送信は, 適当なヘッダを付与してphp.iniで指定したMTAに投げるだけ
通常FromヘッダやReply-Toヘッダは送信側が付与する自己申告でしかない
処理を投げられたMTAはSenderヘッダを付与してメール転送を行う

822 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 19:11:29.33 ID:Ei88mNMV.net]
>>804
メーラーってのはPOP3とかIMAPを使ってサーバとメールボックスの内容をやり取りするソフトウェアだぞ?
SMTP経由でMSAを叩くことはあるが, 基本的には送信と同時に送信済みトレイのようなメールボックスに記録を書き込んでいるに過ぎない

PHPを用いたメール送信では, 単に直接MTAを叩いているだけなのでメールアカウントやメールボックスは必要ない
(adminでもない限りは)送信履歴を知りたければ自分でそれを記録する仕組みを実装せねばならない

823 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 19:12:44.29 ID:BQgscAQu.net]
二人ともありがとう
すっきりしました

824 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 19:16:21.77 ID:p/7XQ3tJ.net]
CCとかBCC使えば良いんじゃ?

825 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 01:32:25.51 ID:1Fw8lEK/.net]
>>790
あまりに馬鹿すぎて釣りかと思ったぞ

826 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 08:04:08.44 ID:EXZ7EHt5.net]
質問なんですがphpってなんで echoもprint、それどころかhtmlの様にクオーテーションも使わずタグを直接<html> <body>見たいな書き方出来るんですか?
perlだと一々httpヘッダ返してたような・・・

echo <<< HTML
<html>
<body>
<h1>初めてのホームページ</h1>
HTML;

みたいにecho的な物なくてなんで動くんです?



827 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 08:07:18.54 ID:PKr2xLG/.net]
<<< は、ヒアドキュメント

<<< hogehage


hogehage;

は、hogehageからhogehage;までの間をダブルクオートで囲ってるのと同じ意味

ヒアドキュメント自体はPHPに限らず多くの言語に搭載されている。

828 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 08:23:39.65 ID:PKr2xLG/.net]
>> perlだと一々httpヘッダ返してたような・・・

HTTPヘッダは全く別の問題

829 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 08:35:17.14 ID:jemhh2fV.net]
phpってなんでphpなんです?と聞いてるに等しい気がする
なんでっつーか、そもそもそういう使い方したくて作られた言語

830 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 08:41:59.08 ID:8xagvOEy.net]
>>810
<?php 〜 ?>で囲まなければ普通のHTMLとして書けたり、
他の言語と違ってHTTPヘッダが省略できたりするのは、
もとがテンプレートエンジン的な発想で作られてるからじゃない?

831 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 10:06:41.04 ID:nbA95sOS.net]
PHPはHTMLの中にプログラムを埋め込むって思想だからね。

832 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 12:05:09.03 ID:t5LH2BEu.net]
HTMLを出力するために多くのコマンドを記述する (C やPerl のように) 代わりに、
PHPのページは

833 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 12:06:25.19 ID:t5LH2BEu.net]
HTMLを出力するために多くのコマンドを記述する (C やPerl のように) 代わりに、
PHPのページは "何か" (この例では、"Hi, I'm a PHP script!" と出力) を
行うコードを HTML に埋め込むことになります。
php.net/manual/ja/intro-wh

834 名前:atis.php []
[ここ壊れてます]

835 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 12:15:44.69 ID:7dEyD0UL.net]
perlとかはデザイナーさんとの協業きつそうだな

836 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 12:18:11.35 ID:PKr2xLG/.net]
まぁ、だからPerlは廃れたんだろう。



837 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 14:37:50.14 ID:euu0RITH.net]
昨日のmb_send_mailの者です

プログラムファイルは細かく分けた方がいいかな?

メールアドレスを入力するページ→メールアドレスをデータベースに登録し、入力されたメールアドレスへメールを返信するページ(ファイル)と分けようと思ってるんだけど

838 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 15:13:34.62 ID:8xagvOEy.net]
>>818
デザイナーさんは別にプログラム部分いじらなくない?
テンプレートの使いやすさとかはあるかもしれんけど

839 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 15:22:09.22 ID:8xagvOEy.net]
>>820
自分なら、ユーザがアクセスするページ(index.php)は共通にするかな。

で、内部的には、それぞれの機能を別ファイルに書いておき、require_onceなりで呼び出す。
メールアドレス登録くらいなら1ファイルに詰め込んでもそんなに問題なさそうだけど。

840 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 16:02:40.55 ID:euu0RITH.net]
>>822
なるほど
ありがとう!

841 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 17:01:23.50 ID:3wAjz+y3.net]
本職デザイナー、php独学でWebアプリ作って700人ユーザーいるけど頑張ったと思う!
一人でよくここまでできるようになった
phpに関してはまだまだだけど、どうやって学習したかとかアプリについてとかなんでも聞いてくれ

842 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 18:58:25.89 ID:4op0HH4D.net]
>>824
じゃあ遠慮なく・・・
Webアプリのジャンルは?
会員制サイト?
作成からの期間は?
オブジェクト指向?
役に立ったPHPの本は?
1日のページビューは?
月間の収益は?

843 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 19:21:26.55 ID:3wAjz+y3.net]
>>825
アプリは会員制、ジャンルはある分野の管理ツール
作成期間は半年
99%手続き型、オブジェクトはほぼなし、完全に思いつきで作ってる
いちおうAjaxな作り
デザイナーだからGUIはそれなりな見栄え
書籍はまったく見なかった
参考にしたのはひたすらネットで検索
役に立つのはStackOverflow、教えてgoo、たまにテラテイル
Mysqlはゼロから6時間だけ他人に家庭教師してもらってあとは独学
もちろんセキュリティは素人レベル
ページビューは知らない、というか気にしてない
収益は約700人×(月額3000〜15000円)

844 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 19:48:43.19 ID:4je1U+qY.net]
>>826
Webアプリ名は?使ってみたい。

845 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 19:59:21.99 ID:4op0HH4D.net]
>>826
参考になる。ありがとう。
デザインの見栄えがいいのはポイント高いね。羨ましい。
ただ会員制ならセキュリティ関係はより強固にした方がいい。
つーか1ヶ月に200万円以上を稼ぐのはすごいね。

846 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 20:34:40.65 ID:PKr2xLG/.net]
>>826

クソだな、と思って読んでいたが、

> 収益は約700人×(月額3000〜15000円)

ここで目が輝いた。



847 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 21:08:31.39 ID:7dEyD0UL.net]
>>826
すげえな。それ一本で食っていけるじゃん
サイト公開から初めての有料会員ができるまで何ヶ月?
そして700人になるまで何ヶ月?

848 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 21:22:33.30 ID:3wAjz+y3.net]
>>827
すまんムリ

>>828
ほんと見た目だけは最近の流行りのデザインだからね
中身はクソだけどw
セキュリティは誰かにお願いしようかと思ってる

>>829
プログラミングのド素人だから中身はほんと酷いよ

>>830
まだ公開して3ヶ月経ってないんだ
スケールアップどうしようと思ったけど今の10倍来ても専用サーバーだから大丈夫っぽい
ただしデータベースが肥大化してく…

849 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 21:39:43.25 ID:vgfVBBtA.net]
ここでサイト名晒してもマイナスにはならないと思うが
俺もビジネスモデル知りたい

850 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 23:27:41.69 ID:hd3jTl8m.net]
>>832
いや損にしかならないからこんなところで晒すわけねぇだろ
誘導していただこうとか無能な乞食はすっこんでろよ

851 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 23:42:31.30 ID:NeiUFsGk.net]
>>831
肥大してくってもたいした量じゃないと予想するんだが、
とりあえず100万件単位になるまではまず不安に思わなくていいよ。

852 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 00:04:19.19 ID:HFUPBWY3.net]
デザイナーがサーバ言語とJS覚えたらプログラマーは完敗だからね
ベーシストがギター弾けないのと同じで逆は難しいんだよ

853 名前:デフォルトの名無しさん [2016/05/06(金) 00:12:02.04 ID:3OzCd6+q.net]
やっぱりペチパは馬鹿だなあ
ギター弾けるベーシストは腐る程いるけど
ベース弾けるギタリストなんかプロでも数える程しかいねーよ

854 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/06(金) 00:12:38.69 ID:HhxzYC09.net]
依頼主が単語をいくつか組合せる。人工知能が単語にぴったり
のレイアウト・色彩・フォントのホームページを自動的に作成する。
これならデザイナーもプログラマーも要らないよ。

855 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 00:15:07.60 ID:wPJwNWAJ.net]
でもセキュリティーガバガバらしいやん
ちょいとヘマしたらえらいことになるで

856 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 06:15:48.85 ID:V/xhXv/O.net]
セキュリティーとか気にする様な奴らがデザインやってるとは思えないっす



857 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 10:57:31.22 ID:u5m6Baf4.net]
>>834
もう少しで100万件に届きそう
DBバックアップはcronで定期的に実行してるけど、この大量のsqlをリストアしたことないから何かあったら不安…

>>835
ほんと中途半端に覚えたから基礎ができてないんだよね
見た目はきちんと動作してるから今のところ問題は起きてないんだけど
あとサーバーのことはよくわからないからバカ高いマネージド専用サーバーで運用してる

>>838
そろそろセキュリティについて勉強始めようかな

ちなみにこれからは機能をどんどん追加していく感じ

858 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 12:12:36.45 ID:mFPgLSt9.net]
>>840
うちは1テーブルで800万件くらい扱ってるけど今のところ問題ない。
フルバックアップもできてるし。

ところで、マネタイズが難しいんだけど決済手段は何を使ってる?
銀行振込とかペイパル?

859 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 12:33:20.13 ID:f2yhxO8i.net]
おれもそこが知りたい

どうやって集金してるの?
詳しく教えてほしい

860 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 12:38:09.97 ID:n/L4oBy1.net]
自分で調べろ

861 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 12:49:24.67 ID:u5m6Baf4.net]
>>841
ペイパルだよ
ペイパルもきちんとプログラムしてサイトの中で決済ボタンも作って、ペイパルサイトで決済したら
自分のサイトに自動で戻ってデータベースに支払い済みが登録されるようになってる
ただし実際に決済されたかはきちんと確認しないとダメ
これも確認できる方法がペイパルに用意されてるんだけど面倒だからそこまではやってない

862 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 12:53:39.02 ID:EDudo8XY.net]
決済の前にセキュリティの方をやるべきじゃないの?
商用環境ならぶん殴られるレベルだな

863 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 13:01:57.54 ID:u5m6Baf4.net]
ちなみにSSLってなんですか?レベル
知ってはいるんだけど設定方法知らない
だけどお客様から文句言われたことないんだよなあ…

864 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 13:03:50.03 ID:mFPgLSt9.net]
>>844
ありがとう。結構、高度な処理っぽい。
作成期間も半年かけてるし、実はしっかりしたWebアプリなんだろうね。

865 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 13:18:17.88 ID:3wMS96JF.net]
初めましてのPHP初心者です
PHPによる2chへの書き込みをテストしています

【テスト】PHPで2chにHello Worldを書き込む 2
tamae.2ch.net/test/read.cgi/php/1362790136/
↑ここへの書き込みは成功しましたが、

競馬
yomogi.2ch.net/keiba/
↑この板の任意のスレへの書き込みが失敗します

2ch内で板によって仕様が異なるということなのでしょうか
その辺りをご指導、説明しているサイトの紹介などお願いします


なおソースは↓を修正して使っています
tamae.2ch.net/test/read.cgi/php/1362790136/575-576

866 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 13:18:20.08 ID:u5m6Baf4.net]
>>847
うーん、ペイパル自体は開発用アカウント(管理者、ユーザー)も簡単に作れるし
仕様読むのはかなり面倒だけど一度理解できたら、ああそうなんだって感じだったよ。
ちなみにペイパルの前はWebPayってやつ使おうと思ってWebPayの中の人に聞きながら作ってたけど
LINEに吸収されたからなんだかんだいってペイパルのほうがいいんだなって思った。
認知度も高いしね。



867 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 13:27:22.61 ID:mFPgLSt9.net]
>>849
サンクス
前に挫折したけどもう一回やってみる!

868 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 13:42:25.89 ID:n/L4oBy1.net]
>>848
そもそもAPIが変更になってからそういうの2chから許可もらったやつじゃないと
無理になったんじゃなかったっけ?

869 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 13:43:25.22 ID:n/L4oBy1.net]
>>846
やべぇなそれ

870 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 14:14:59.50 ID:f2yhxO8i.net]
>>849
ペイパルと連携してる部分を晒しても問題ない範囲でソース書いてほしい。参考にしたい。

871 名前:デフォルトの名無しさん [2016/05/06(金) 14:21:23.51 ID:3OzCd6+q.net]
なんでド素人を自認してるやつに質問しとんねんw

872 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 14:25:00.20 ID:n/L4oBy1.net]
>>853
こんなところで訊いてるお前みたいな無能には無理

873 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 14:29:33.44 ID:u5m6Baf4.net]
>>853
ソースはぐちゃぐちゃだからw
ユーザー登録部分に入り組んでるんだけど
それよりペイパルのサンプル見たほうが確実だよ

874 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 14:34:15.04 ID:u5m6Baf4.net]
ちなみに業界からはスーパープログラマーって言われてる。
実際にはスーパー(ド素人)プログラマーなんだけど、見た目や動作はたしかに法人用システム並に動いてるから
作れない人にはすごいと思われてるんだろうなあ。
あとこの規模なら複数人で作るところを一人で作ったってのがあるかな。
いちおうシステム開発は引っ張りだこだよ。

875 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 14:35:47.23 ID:n/L4oBy1.net]
商用サービスで使われてるプログラムのソースが実は2chですとかアホかと
無能でもはり合わせで何となくできた気になってる脆弱性maxなwebサービスが
巷には溢れてるわけだ
おそろしい世の中だな

876 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 14:42:03.75 ID:QtueP+kp.net]
>>851
APIがどーたらこーたらで面倒なのは.dat通信とログインしての書き込み
ブラウザで普通にできてることは特に何も考えず.phpで出来て当然っしょ



877 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 14:44:34.66 ID:u5m6Baf4.net]
どうせでかい企業が作ったってお漏らしするんだし、適当に集めた派遣プログラマーがぐちゃぐちゃにしたコードで
どこでバグでてるのかもわからんようなのたくさんあるよね

それならそこそこ動いてて見た目バッチリなアプリ作って問題出たらゴメンナサイ、バレなかったらほったらかし
でいいんじゃない?って思ってる

878 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:00:02.47 ID:f2yhxO8i.net]
>>856
そっか、残念。

客側は毎回クレジットカード番号を入力してサービス料金を払うの?
「3000円のコースを支払う」みたいなボタンを押すと決済されるようになってるの?

879 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:00:07.11 ID:8xAviQH0.net]
本職デザイナーで>>826>>840>>844までやってりゃ十分だろ
言語が手段にすぎないことを知ってる勝ち組
どう作るかより何を作るかだよ

880 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:03:27.57 ID:f2yhxO8i.net]
>>856
>>844で書いてたね、ごめん。

881 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:05:30.79 ID:u5m6Baf4.net]
>>861
俺の場合は定期購読って奴だから一回申し込みすれば毎月自動的に引き落としになるようにしてる
解約するのもサイトにボタン作ったほうがいいんだけど、なるべく解約させないためにユーザーが自分のペイパルから解除するか、こちらが管理画面から解除するかにしてる。

どっちにしろ本当に支払ってるか、決済されてるかは自分で確認しないといけないんだよね。
それも自動的に確認する機能が法人向けの有料版にたしかあったはず。
俺は面倒だからやってないけど。

あと毎月確認するの嫌だから月額やめて半年か年払いにしようと思ってる。

882 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:14:38.76 ID:n/L4oBy1.net]
ID:u5m6Baf4 は保険入っとけよ

883 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:25:39.20 ID:0hFielSC.net]
>>840
> もう少しで100万件に届きそう
> DBバックアップはcronで定期的に実行してるけど、この大量のsqlをリストアしたことないから何かあったら不安…
全然たいしたことないよ。

ちなみに、全部で100万レコード以上ある手元のデータベースをダンプしたら4秒で終了。
$ time pg_dump hoge > hoge.sql
real 0m4.150s

hoge.sql: データベース定義+1行1列のデータ+α

$ wc -l hoge.sql
1391681 hoge.sql

リストアはちょい時間かかるけど40秒ちょいで終了。
$ createdb fuga
$ time psql fuga < hoge.sql
real 0m41.915s

884 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:39:27.25 ID:f2yhxO8i.net]
>>864
サーバー代は月々いくらくらい?

885 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:42:10.91 ID:QtueP+kp.net]
dbのダンプ/リストアが怖い状況ってリレーションが複雑で主キーとあいまってややこしくなる場合じゃないの
もしただの馬鹿でかいcsvな内容だったら確実に早くリストアできて当然

886 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:44:47.76 ID:QtueP+kp.net]
連投すまんけどついでに>>866
それインデックス再構築の時間入ってないんじゃね



887 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:57:16.60 ID:0hFielSC.net]
>>868
> dbのダンプ/リストアが怖い状況ってリレーションが複雑で主キーとあいまってややこしくなる場合じゃないの
ダンプしたものをそのまま読めないようなRDBMSなんてないと思うが。

>>869
$ grep 'CREATE TABLE' hoge.sql | wc -l
112

$ grep 'CREATE INDEX' hoge.sql | wc -l
48

888 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 15:59:19.60 ID:u5m6Baf4.net]
>>866
>>868
ありがとう、安心した!

>>867
3万くらい

889 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 20:28:12.19 ID:es3Ss1KG.net]
オレはぶっちゃけグラマなので
DBのリストアとかやった事ないからよくわからん…
レプリケーションもわからん…

890 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 20:36:44.30 ID:HlF6I7nV.net]
でもテキストファイルの扱いならまかせてや…

891 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 22:01:14.66 ID:MaHvIWJS.net]
>>826
ある分野の管理ツールという事だけれど月額3000円からって結構高めだよね。
もっと低価格や無料で類似のサービスなどは無いの?
そう言う心配が無い非常にニッチな分野なの?

892 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 22:31:29.99 ID:lGw6lAiu.net]
うまく商売にして稼いでるのが羨ましいのはよくわかる(おれも羨ましい)が、いい加減スレチ過ぎるだろう。
そもそも儲け方を根掘り葉掘り聞くなんて浅ましいことは自重しろって。

893 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 22:45:06.38 ID:lqFn8ml+.net]
>>872
マだからといって避けないで、そのうちどぞ。
やれることかなり広がるし、むしろDBありきで設計するくらいには考え方変わるよ。

894 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 08:48:37.87 ID:Tfh/0iZx.net]
片山博文って誰?w

895 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 15:35:22.02 ID:rAsmYtub.net]
あーあ、止まっちゃった…

喧嘩ならいざ知らず、盛り上がってる時に水さすもんじゃ無いと思う。
所詮2chなんだから型にはまらない方が
参加者も運営も嬉しいんじゃ無いかな?

896 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 15:37:58.37 ID:rAsmYtub.net]
PHPなんだから、型にこだわらない方がいいんじゃ無いかな?

と、言うべきだった…

まあ、PHPだからこそ型を意識しなければいけないんだけど。本当は。



897 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:04:46.21 ID:pBBnydGZ.net]
>>875
覚えてサイト作るの目指してるヤツが多いのに、スレチっておまえバカ?

898 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:08:06.95 ID:6IXt9uZe.net]
ビジネスモデルと言語は関係ないからね

899 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:08:07.77 ID:1XEkqAZJ.net]
いやスレチなのは間違ってないだろw
下手に水をさすのはスレチより悪いとは思うが

900 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:09:41.25 ID:pBBnydGZ.net]
>>882
じゃあまたゴミスレにもどってどうぞ。

901 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:17:38.94 ID:rCqt5XGU.net]
ビジネスがうまいやつはただでライバルを増やすような馬鹿なことはしない
ここで情報入手しようと必死な姿が浅ましい

902 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:23:10.28 ID:pBBnydGZ.net]
>>884
単純に面白いだろ、おまえのゴミみたいな投稿とは比較にならん。まぁスレチだけどな。
まぁ肩の力抜けよ。

903 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:26:59.32 ID:6IXt9uZe.net]
面白かろうが何だろうがスレチには変わりないんだから落ち着きなさいな

904 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:32:52.54 ID:pBBnydGZ.net]
>>886
スクリプトデリミタの使い方も間違ってるペチパーのウンコみたいな質問もうイヤですよ。
実際に運用してるヤツの話しが聞けて楽しかったの!!

>>884
完成まで作れない人が9割だから。君も含めて。まぁオレも含めてだがな。
少し落ち着けやゴミが。

905 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:35:19.01 ID:mzfrj+Ng.net]
くだ質だからなぁ・・・・

あと実際設計/コーディングする人間は運用にはあまり携わらないし・・・・

906 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:41:09.94 ID:rCqt5XGU.net]
>>887
落ち着いてないのはあなたでしょう



907 名前:デフォルトの名無しさん [2016/05/07(土) 16:45:30.27 ID:8kiHQWJT.net]
ID:pBBnydGZ←こいつが一番面白いw

908 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:52:11.96 ID:oJFlbAHv.net]
だいたい >>824 に聞きたいところは PHP と全く関係無いところだし、
その聞きたいところには答えるつもりも無いんだから引っ張っても無駄だということに早く気付け。

909 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:52:53.67 ID:YVzhxVlg.net]
なんか「レベル高い話がしたい」君のにおいがする気が

910 名前:デフォルトの名無しさん [2016/05/07(土) 17:05:25.08 ID:37koFAHB.net]
PHPDocで可変引数はどうやってコメント書けばいいの?

911 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 17:12:34.25 ID:mzfrj+Ng.net]
>>893
https://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.param.pkg.html

912 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 17:29:25.52 ID:37koFAHB.net]
>>894
ありがとう
これでうちのおばあちゃんが作った関数にコメントがつけられるよ

913 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 01:52:01.39 ID:p2bQRvkc.net]
$leap_flg = date('L');

914 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 01:53:21.41 ID:p2bQRvkc.net]
>>896のつづきですけど
って$leap_flgにはどのような値がはいっているのですか?
if文の条件になにいれるか不明なんですけど…

915 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 02:08:56.42 ID:trCfsxUy.net]
ダンプしろハゲ

916 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 03:10:25.86 ID:YMoJEced.net]
>>896
php.net/manual/ja/function.date.php
ダンプする前にマニュアルを見よう。



917 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 09:52:10.38 ID:T8bQ9WHB.net]
mysqlのtime型から検索する機能で、
H:i〜H:iの間のデータをbetweenで抽出するという機能を作っています。

検索フォームからH:iを2つ取得できたものの、そこからどう文字列に(例えば"15:00")に変換すればよいのかわかりません
調べて色々試してみたのですが、いっこうに成功しませんでした。

どなたかお願いします。

918 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 09:54:25.55 ID:T8bQ9WHB.net]
解決しました

919 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 11:47:43.97 ID:H8xAg3Jw.net]
2分w

920 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 12:07:09.79 ID:n3Nh2GSe.net]
何なんだろうね
質問を書いてる時間がもったいない
質問を書いてる間に頭が整理されて分かっちゃうこともあるけど

921 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 12:53:00.87 ID:iQ9cFpLd.net]
>>903
それ大事
テディベアとコードレビューするやつな

922 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 14:16:50.68 ID:WiyOtAwJ.net]
たしかにまれによくある。
ベアプログラミング(テディベア効果)というのか。
ペアプログラミングではなくて。

923 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 18:22:07.68 ID:H8xAg3Jw.net]
と、いうことは、まぁ、このスレが何らかの役には立ったのだろう。

924 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 19:25:24.84 ID:eiW4bgLe.net]
中身が空で適当な要素数の配列を確保するのはどうするのでしょう?
Cで書くと
T *p = calloc(n, sizeof(T));
みたいな感じのこと。
とりあえず
$a = array_fill(0, n, NULL);
って書いてみたんですが。

925 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 19:51:53.55 ID:yxmWn5Ei.net]
それでいんでね?専用の構文ないし
必ずしも前もって配列長明示して確保しなくてもいいと思うけど
foreach( $array = array_fill(0, 10, null) as $key => $value ) $value = $source_data[$key + 5];
とかするためかね

926 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 20:39:41.14 ID:H8xAg3Jw.net]
か、可読性が…



927 名前:907 mailto:sage [2016/05/08(日) 21:52:16.40 ID:eiW4bgLe.net]
ありがd。

実は$aは配列の配列で、
if (!key_exists($k, $a[$i])) ...
みたいな処理をするので、あらかじめ$a[$i]が存在していて欲しかった、っていう感じです。
まぁ警告出るだけで予め配列作っておかなくても動くんだけれど

928 名前:も。 []
[ここ壊れてます]

929 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 21:57:51.62 ID:X ]
[ここ壊れてます]

930 名前:QojpZYz.net mailto: >>910
これでどう
if(!isset($a[$i][$k]))

多少判定条件が違うので使えないケースもあるけど、array_key_exists より isset の方が速いよ
[]
[ここ壊れてます]

931 名前:907 mailto:sage [2016/05/08(日) 23:48:43.60 ID:eiW4bgLe.net]
>>911 あぁ、これで全然いいかも。
まだPHP使いだしてひと月くらいなんで、いろいろと助かります。
ありがとう。

932 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 07:28:39.61 ID:ZEfFfe+X.net]
PHPでツイッターIDとパスを使って投稿したいんだけど、どうしたらいい?

933 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 09:33:54.84 ID:yhkvT0H8.net]
見当がつかない質問したところで作れるわけがないじゃん

934 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 10:16:53.40 ID:Mp7ZOf2g.net]
>>913
Twitter OAuth
https://dev.twitter.com/oauth

935 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 10:21:56.39 ID:ZEfFfe+X.net]
oauth認証しないとやっぱり駄目か
IDとパスだけで呟けたらよかったんだけど

936 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 12:35:28.76 ID:2gjhVXxt.net]
得体の知れないサーバ管理者に生パス渡すわけにいかんからな



937 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 17:22:35.71 ID:/c+E/E1d.net]
>>913
そう言うのって、初心者がよく分からないまま投稿して無限ループで無数に投稿したなどの事故は起こらないのかな?

938 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 17:36:38.58 ID:3P/I+6gp.net]
同じ内容を連続で投げると蹴られるよ
しょうがないから時刻を入れてるw

939 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 18:45:09.17 ID:matDD0JO.net]
もう、本当にPHPerと一緒に仕事するの嫌になった。

public function hoge(){
 $request_posted_flg = false;
 $my_request_para_txt = $this->getMyIns();
 $my_url_query_string = $my_request_para_txt;
 if(!$request_posted_flg){
  $para = "req_id";
  foreach($my_url_query_string as $key => $val){
   if($key == $para){
    $my_target_para = $my_url_query_string[$key];
   }
 }
 $this->setMyTargetPara($para);
 return $request_posted_flg;

}

みたいなコードが数千行に渡って書いてある。
これ書いたやつ人間じゃない。多分、ものすごく出来の悪いコンパイラ。
どうしてこう、PHPerっていうのは頭おかしい奴ばっかなんだ?

940 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 18:45:47.85 ID:matDD0JO.net]
$this->setMyTargetPara($my_target_para);

の間違い…

941 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 18:47:59.09 ID:p4MwWBVW.net]
数値を要素としている配列が2つ有り
要素内に同じ数値が存在するか判別するいい方法って何かない?

942 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 19:06:13.86 ID:XIhsDrnx.net]
これでいいの?
$a = [1, 3, 5];
$b = [2, 3, 6];

if (array_diff($a, $b) !== $a) {
echo “同じ数字が存在してまっせ”;
}

943 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 19:09:55.07 ID:XIhsDrnx.net]
あ、array_intersectでいいか
まぁそのへん使って

944 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 19:39:13.48 ID:yhkvT0H8.net]
>>920
意味もなくgetterとsetter使ってるから?
つうかよくわからんがそれ条件文意味あるんか?
常にrequest_posted_flgはfalseじゃないんけ

945 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 20:03:10.51 ID:matDD0JO.net]
無いよ全く。
変数も片っ端から意味無い。
普通に書いたら300行くらいで済むところを、
そういう意味の無いコードで1000行くらいに膨れ上がらせてる。

946 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 20:03:20.13 ID:p4MwWBVW.net]
>>924
ありがとうございます。
できました。



947 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 20:15:34.24 ID:IOgaEvdb.net]
行数水増ししなきゃいけない糞な会社にお勤めなんじゃねーの

948 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 20:18:48.54 ID:GH5TUzj8.net]
ソースレビューってしてないのか

949 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 20:19:10.53 ID:2gjhVXxt.net]
>>920
何が悪いのかイマイチわからん
いまのうちのプロジェクトよりだいぶマシだわ

950 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 21:42:22.65 ID:TeiLsP5R.net]
>>930
マシかもしれないが、改善点はいくつも見つかると思うんだけど

951 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 21:50:55.52 ID:2gjhVXxt.net]
ああ、これで済むって話か。
$this->setMyTargetPara($my_request_para_txt["req_id"]);
変数名のつけ方やインデントがまともだからウチよりマシと思ってしまった。

952 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 23:07:40.32 ID:/u9NXzco.net]
>>920
コードレビューしないのが問題
こんなん書いたやつにどういう意図なのか問い詰めるわ

953 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 23:35:31.66 ID:oz2wxhed.net]
やヴぇな

954 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 23:58:07.07 ID:VZevxVLJ.net]
やべえけどPHPer特有の問題じゃないだろ
そういうksみたいなコード書くのはJavaerのほうが多い

955 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 07:48:55.06 ID:hUyymvDA.net]
>>928
もちろん、ステップ数で料金が決まる、などというアホなことはしていない。
そして、そのクソコードを別の人間がメンテナンスするる…

>>929、933
部署の長が「コードなんて見ませんよ」と平気で言う会社だからね。

>>935
それは確かにある。PHPは幼稚なコードが多いが
Javaは浅い知識だけはあるんだが使い方を間違ってるクソコードが多い。
PHPにはJavaerもいっぱい流れこんでるから、もう、数多のジャンルのクソコードが揃い踏みしてる。

もうすぐ契約切れる予定だけど、あとからあとから新鮮なクソコードが流れ込んできて
本当に頭おかしくなりそう。

956 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 07:50:19.88 ID:ZmjTdhIX.net]
自分のコードだけはクソじゃないという前提



957 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 07:52:17.51 ID:hUyymvDA.net]
気が重いけど出勤する…

どうもこっちのスレ的ネタだった
ttp://echo.2ch.net/test/read.cgi/tech/1429279230/l50

スレチ、すいませんでした…
少し気が晴れました…

958 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 07:55:55.21 ID:hUyymvDA.net]
>>937
言っとくけど、オレのコードは本当に綺麗だよ。
お前が見たら一目惚れして結婚申し込むこと間違いない。

959 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 09:07:29.65 ID:uMvBRYWE.net]
まともなプログラマーが2chに愚痴書いてるわけがない。

960 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 17:54:38.12 ID:0wDfvzAN.net]
Laravelerのワイ、高みの見物

961 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 18:44:53.48 ID:S5nTUzj1.net]
laravel ってリンク切れ多いサイトばかり

962 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 19:11:15.31 ID:hUyymvDA.net]
>>940
本当にそう思ってるならお前が周り見えてなさすぎなだけ。

>>942
YouTubeの「〜てみました」系の奴らなんかマトモな設定してねーのよ
Nginxもエラー画面出まくりじゃん。

963 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 19:43:45.56 ID:kvpM6w4K.net]
PHPそこそこできるようになったからmySQLチャレンジしてみたいんだけど
なんとか起動できたけどそれ以降が全然できない
みんなどんな感じでSQL勉強した?

964 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 19:49:42.80 ID:WoDhKz74.net]
気付いたらできるようになってた

965 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 19:52:02.92 ID:hUyymvDA.net]
それ以降というと、具体的には?

966 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 20:11:13.53 ID:Qb9Kyo2I.net]
>>944
これはSQLでは無理なんじゃないかっていう思い込みを無くすように意識していた時期はあった
あとはせっせと情報収集と実験の繰り返し



967 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 20:34:35.14 ID:H9B83Y6z.net]
つーか、DB使ってやるような具体的なやりたいことを考えるのが先じゃね。

968 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 20:35:42.75 ID:hUyymvDA.net]
しかし、PHPでストリングリテラルをシングルクオートで囲う馬鹿は、本当にどうにもならんな。
シングルクオートとダブルクオートの扱いがPHPでどうなっているか知っていれば、
通常、シングルクオートなんかで囲うことはありえないんだが。

シングルクオートの方がコンマゼロゼロゼロ何秒かくらいは速いかもしれんが、
そんなの帳消しにするくらいデメリットが多すぎる。

意図してシングルクオート利用しなければいけないケースなんて限られてるんだから、
その時だけシングルクオート使えばいいだけで、
通常はダブルクオート使うのが当たり前なんだが、
要するに、違いが分かってない馬鹿が多すぎるということなんだろう。

969 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 20:36:57.65 ID:H9B83Y6z.net]
>>949
デメリットってどんなこと?

970 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 20:41:28.26 ID:S3kH2EJT.net]
>>949
俺はJavaラーだから好みでダブルクオート使ってた
PHP使うやつはシングルクオート使いが多くて嫌だなとは思ってたが
デメリットは正直よくわからん

971 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 20:51:06.59 ID:hUyymvDA.net]
>>950

シングルクオート
create_link('test/' . $param['hoge'] . '/val1/' . $param['hage'] . '/val2/' . $param['moge'], $url . '?' . $sess_name . '=' . $sess_id);

ダブルクオート(strict)
create_link("test/{$param["hoge"]}/val1/{$param["hage"]}/val2/{$param["moge"]}", "{$url}?{$sess_name}={$sess_id}");

ダブルクオート(loose)
create_link("test/$param['hoge']/val1/$param['hage']/val2/$param['moge']", "$url?$sess_name=$sess_id");

何が変わったか、一目瞭然だろ? PSRで許容される一行の文字数知ってるか?

シングルクオートは変数展開できないから . で文字列を結合しなければならない。
一番上みたいな例で、一目で、どこまでが1つのパラメターで、どこから別のパラメターに切り替わったのか判別できるか?

シングルクオート使うバカが居ると、コードの隅々に渡って間違い探しと対して違わないような事しなきゃいけないような自体になるんだよ。
視力がいくつあっても足らんわ。

972 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 20:56:47.08 ID:e/4BOK4y.net]
>>952
PSRの一行の制限はハードリミットを規定してないし, 単に書き方や慣れの問題だな
コーディング規約でどっちかに決めてそれに従えばいいだけ

973 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 20:57:47.95 ID:hUyymvDA.net]
>>953

そう思うのなら、お前は一生間違い探しやってろ。
オレは自分の眼のほうが大事だ。

974 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:01:38.96 ID:hUyymvDA.net]
まぁ、どうせシングルクオートなんかつかってる馬鹿は
馬鹿すぎて、リテラルをスポットライトしてくれないクソエディタ使ってるんだろう。
だから、何が変わるのか全然理解できないのだと思う。

975 名前:デフォルトの名無しさん [2016/05/11(水) 21:03:29.97 ID:9I7Ewr6L.net]
変数展開を必要としないケースでデメリットを提示してくれると思ったらまさかのw

976 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:05:12.55 ID:S3kH2EJT.net]
ほんとダブルクオートで統一してほしいね
php3時代は配列のキーを
ダブルでもシングルでも囲まないやついてさらに地獄だったな



977 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:05:56.43 ID:O2+YRvW5.net]
シンクはc#の文字型みたいでキモイ

978 名前:デフォルトの名無しさん [2016/05/11(水) 21:06:47.25 ID:9I7Ewr6L.net]
機能が違うんだから統一する必要ないだろうにw
使い分ければいいんだよ

979 名前:デフォルトの名無しさん [2016/05/11(水) 21:07:18.39 ID:UDwF5RQX.net]
いかにも初心者らしい確固たる信念だねw

980 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:08:35.17 ID:H9B83Y6z.net]
>>956
うん、まさかのだったな。

>>952
それはデメリットの一例だと主張してるのはわかったが、多すぎる他のデメリットはどんなこと?
変数展開の話なんて単純に使い分ければいいだけでしょ。

981 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:09:15.80 ID:e/4BOK4y.net]
まさかそんなに強い宗教観をお持ちとは思わなかったわ・・・・
でもそれ俺に言うより職場のシングルクォート使いに言った方がいいんじゃね?

982 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:10:20.95 ID:hUyymvDA.net]
>>956

なにがまさかのwなの?
頭おかしい馬鹿の笑いのツボはよくわからんな。
日本語も読解出来てないし。馬鹿はだまってればいいのに。

983 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:16:10.69 ID:hUyymvDA.net]
>>959

面白いこと言うな、お前。

機能の違いは変数展開するかしないかって事はわかってると思うんだけど、
じゃあ、変数展開されると困るケースってどういう時だ?

そういうケースって、コード書いててどのくらいあるか思い出してみろよ。

変数展開して貰ったほうが有り難いケースがどのくらいあるか思い出してみろよ。

通常ダブルクオートで統一しといたほうが、サルが考えても合理的だろ。

↓ 以下サルどもの戯言
>いかにも初心者らしい確固たる信念だねw
>変数展開の話なんて単純に使い分ければいいだけでしょ。
>まさかそんなに強い宗教観をお持ちとは思わなかったわ・・・・

984 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:17:50.80 ID:H9B83Y6z.net]
>>963
>シングルクオートとダブルクオートの扱いがPHPでどうなっているか知っていれば、
>通常、シングルクオートなんかで囲うことはありえないんだが。
違いを知っていれば、変数展開を必要としない文字列リテラルの表現にはむしろシングルクォートじゃないの。
速度も速いし、デメリットが無ければわざわざ遅いダブルクォートを強いる必要もないでしょう、*違いを知っていれば*。

つーかシングルクォートがそんなに憎いなら、var_export の出力仕様の変更を要求しといたらいかが?

985 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:18:07.36 ID:hUyymvDA.net]
だから前の方に書いたんだよ。PHPerは馬鹿ばかりだって。

わざと変なコード書いてメンテナンスの時間をもりもりと膨らませる馬鹿ばっかなんだもん。
なんかしらんけど、必至に挙げて馬鹿晒すんだから、本当にPHPerの馬鹿さ加減にはあきれるわ。

986 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:19:01.00 ID:hUyymvDA.net]
>違いを知っていれば、変数展開を必要としない文字列リテラルの表現にはむしろシングルクォートじゃないの。


お ま え は 日 本 語 の 勉 強 を 一 か ら や り な お せ



987 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:20:19.71 ID:e/4BOK4y.net]
NG推奨ID:hUyymvDA

988 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:20:28.95 ID:hUyymvDA.net]
ID:H9B83Y6z

こういう、日本語が理解できない馬鹿がいるのも、PHPerの特徴です。

989 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:21:31.39 ID:H9B83Y6z.net]
なんだろ、晩になっておくすりが切れちゃったのかな

990 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:21:46.00 ID:hUyymvDA.net]
アホはNGしてろ。

>意図してシングルクオート利用しなければいけないケースなんて限られてるんだから、
>その時だけシングルクオート使えばいいだけで、

最初っから言ってる事も理解できないアホばっかなんだから。

991 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:22:36.76 ID:hUyymvDA.net]
>>970

うん、おまえがな。本当に頭わるそうだな、お前。

992 名前:デフォルトの名無しさん [2016/05/11(水) 21:23:42.15 ID:UDwF5RQX.net]
ID:hUyymvDA←日本語が理解できない馬鹿なPHPer

993 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:23:59.64 ID:H9B83Y6z.net]
>>971
シングルクオート利用*しなければいけない*ケースってどんなの?

994 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:24:17.83 ID:hUyymvDA.net]
まだageでアホが頑張ってるよ

>>973

論拠は?

995 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:25:31.37 ID:hUyymvDA.net]
>>974

>シングルクオート利用*しなければいけない*ケースってどんなの?

は? 本気で聞いてるのか? お前はほんとうの馬鹿なのか???

これがアホなPHPerの実態なんだよな…

996 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:26:20.46 ID:H9B83Y6z.net]
>>976
バカ認定してくれていいから教えてくれよ。
あと、多すぎるデメリットの他の例もな。



997 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:26:29.29 ID:hUyymvDA.net]
ちょっと、ID:H9B83Y6z こいつの頭が弱すぎる…

さすがに呆れ返った。

998 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:27:56.12 ID:e/4BOK4y.net]
そういえば, Mcrypt関数よりOpenSSL関数が推されてる感があるんだけど, OpenSSL関数で指定した暗号アルゴリズムのキー長を得る方法ってある?
Mcryptならmcrypt_get_key_sizeで取得出来るけど・・・

999 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:28:47.71 ID:hUyymvDA.net]
あのな、ダブルクオートは強制的に変数展開されちゃうんだよ。

だからな、

例えば、password_hash()とか使ってハッシュ作るとするだろ?

$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq

こういう文字列つくられるだろ?

これ、ダブルクオートで囲ってストリングリテラル定義したら、何が起こると思う?

そのくらいわかってくれよ、本当に。

1000 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:32:28.63 ID:hUyymvDA.net]
ID:H9B83Y6z はさ、ブラウザの向こうの人が自分とは全然レベルが違うこともいっぱいあるんだって事くらい、
いい加減理解したほうがいいよ

1001 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:34:13.61 ID:H9B83Y6z.net]
>>980
エスケープって知らないのかな?
ダブルクォートにもシングルクォートにも使った方が便利なケースはあっても使わなければいけないケースなんてないんだよ。
もう少し慣れてくるとよく分かると思うから、あとちょっとだ。がんばろう。

1002 名前:デフォルトの名無しさん [2016/05/11(水) 21:35:30.90 ID:UDwF5RQX.net]
もう息切れかバカ?

1003 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:37:10.95 ID:hUyymvDA.net]
一生シコシコやってろ

駄目だ、こういう馬鹿ばっかだからPHPは本当にゴミコードばっかりになって本当に救いようがないや。

1004 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:37:20.22 ID:e/4BOK4y.net]
お前らも相手してないで僕の質問に答えてくださいお願いします

1005 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:39:37.26 ID:hUyymvDA.net]
必要もないのに、わざわざ手数増やすして可読性下げる馬鹿は、本当に救いようないな

ageてる馬鹿は煽りたいだけのプログラマでもないただのニートだから対して気にならんけど
ID:H9B83Y6z こいつは本当に頭がヤバ過ぎる。

1006 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:41:23.94 ID:hUyymvDA.net]
>>985

スーパープログラマの ID:H9B83Y6z に
凄まじく手数の多い解決策でも教えて貰ってろ、ハゲ!



1007 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:43:48.14 ID:e/4BOK4y.net]
次スレ行きます

1008 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:44:11.27 ID:hUyymvDA.net]
>もう少し慣れてくるとよく分かると思うから、あとちょっとだ。がんばろう。

うん、おまえがな。おまえはまだ、かなり頑張んなきゃいけないけど。

1009 名前:デフォルトの名無しさん [2016/05/11(水) 21:47:39.85 ID:UDwF5RQX.net]
このスレはここから馬鹿(ID:hUyymvDA)専用になりました

1010 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:49:17.03 ID:e/4BOK4y.net]
次スレには持ち越さないのよー

【PHP】下らねぇ質問はここに書き込みやがれ 5 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1462970810/

1011 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:50:18.55 ID:hUyymvDA.net]
レスを見返すと、
ID:H9B83Y6z こいつと ID:e/4BOK4y こいつは、本当に頭が悪すぎるな。

いかにもThe PHPer って感じだ。

1012 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:53:09.29 ID:hUyymvDA.net]
ID:e/4BOK4y なんか、お前の宗教で

979 : デフォルトの名無しさん2016/05/11(水) 21:27:56.12 ID:e/4BOK4y
そういえば, Mcrypt関数よりOpenSSL関数が推されてる感があるんだけど, OpenSSL関数で指定した暗号アルゴリズムのキー長を得る方法ってある?
Mcryptならmcrypt_get_key_sizeで取得出来るけど・・・

この問題解決してもらったらいいんじゃねぇの?

1013 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:56:00.50 ID:Qb9Kyo2I.net]
あら…宣言見落とし重複すみませぬ

1014 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:56:13.81 ID:hUyymvDA.net]
977 : デフォルトの名無しさん2016/05/11(水) 21:26:20.46 ID:H9B83Y6z
>>976
バカ認定してくれていいから教えてくれよ。


認定しなくても、ほんとうのバカでした。

1015 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:56:53.24 ID:O2+YRvW5.net]
話題変えようぜ

1016 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:57:48.41 ID:0wDfvzAN.net]
>>995
自分が基地外だってことにいい加減気付こうな



1017 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:57:56.68 ID:e/4BOK4y.net]
>>994
ドマ

今後のスレはワッチョイはどうすべきだろう?
あとテンプレも古いからちょっと更新したい感

1018 名前:デフォルトの名無しさん mailto:sge [2016/05/11(水) 21:58:53.22 ID:hUyymvDA.net]
>>996
必要ないだろ、新スレ立ったんだし。ここは消化ゲームだ。

>>997
その基地外にからむのはお前みたいなバカくらいだって気づけよw

1019 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:59:55.94 ID:hUyymvDA.net]
PHPer 馬鹿ばっか確定!

1020 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 59日 22時間 34分 23秒

1021 名前:1002 [Over 1000 Thread.net]
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
premium.2ch.net/
pink-chan-store.myshopify.com/


1022 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<281KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef