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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:46:50.27 ID:e/4BOK4y.net]
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
www.php.net/manual/ja/

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

321 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 09:48:26.40 ID:7Sj/lkjM.net]
ちょうど先週、ターミナルで動くスクリプト書こうとして、
PHPじゃあまりにダサいので、勉強して Python で書きました。
人の目ばかり気にして生きる私をお許しください。

322 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 10:16:49.67 ID:vmw4t1oa.net]
Pythonは、PHPでやるような「HTMLへの埋め込み」ができないじゃない。
つまり用途が違う。

323 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 10:18:03.49 ID:LOelchbu.net]
そうです
しかもphpからpythonにしたことによるメリットはほとんどなかったはずです
無駄な虚栄心により生産性が悪化するのです

324 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 10:18:15.60 ID:go2H7GGI.net]
>>318
それでいい
シェルスクリプトオンリーなのは
ファイル消したり、ログファイル操作したり
運用系の処理に限定すべき

>>319
スクリプト言語どれ使うかなんてどうでもいいし
人にどう思われるかもどうでもいい
PHPでもちゃんと書けばちゃんと評価されることもある

325 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 10:27:32.50 ID:LOelchbu.net]
そもそも、同じことをするのに
phpより短く書けるスクリプト言語がありますか?
あったら乗り換えてもいいですが。
大抵phpの方が短く書けるはずです

326 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 10:29:48.51 ID:Tw3bGPwF.net]
エラー処理やロギングを適切にしっかりガチガチにやってるかどうかが最重要

なんかあったら無言で落ちるバッチほどクソなものはない

327 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 10:35:24.68 ID:LOelchbu.net]
phpには標準でsyslog関数があります
「大抵のことが標準でできる」
これがphpの最大の強みです

328 名前:デフォルトの名無しさん [2016/05/27(金) 11:10:28.92 ID:h8G6TOQH.net]
PHPで仕事ができるレヴェルにまで高まりたい
どのように勉強しどのように熟練度を積めばいいか
詳しく教えてたもれ

329 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 11:42:02.24 ID:9EtuyVBz.net]
練度とかそんな求道的な言語だったっけ



330 名前:デフォルトの名無しさん [2016/05/27(金) 11:48:53.10 ID:h8G6TOQH.net]
>>328
そういうのはいいから
教えてたもれ

331 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 11:55:49.79 ID:LOelchbu.net]
仕事にするならば、
unix系OSやプログラミングの包括的な知識が必要です
phpで何かを作ることを通してどちらも学ぶことができます
phpを学ぶのではなく、phpで学ぶという姿勢が大切でしょうね

332 名前:デフォルトの名無しさん [2016/05/27(金) 13:14:26.53 ID:IKjJ7pmy.net]
>>330
さすがです
更に教えてくだされ

333 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 13:34:33.33 ID:LOelchbu.net]
特に教えるようなことはありません
勉強のための勉強はモチベーションが続きませんので
こういうことしたいけどどうしたらいいかな?
という興味を繋げていくことが重要ではないでしょうか
そういうやりたいことや作りたいもののイメージを広げて下さい
phpはあくまでそれを実現するための手段です

334 名前:ペチパーネ申 mailto:sage [2016/05/27(金) 17:35:20.12 ID:zQx7HNv7.net]
そういうことだな。とにかくサイトを作るべき。セキュアなんかどうでもいい。
知識だけ増えてコードもかけない。サイトも作れないヤツは役立たずだから。

335 名前:デフォルトの名無しさん [2016/05/27(金) 18:38:46.96 ID:bzamVpC0.net]
そこでWordPressですね!

336 名前:ペチパーネ申 mailto:sage [2016/05/27(金) 19:55:17.82 ID:zQx7HNv7.net]
ムーバブルタイプ()になるなんてなぁ。やっぱりPHP最強ですな!

337 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 21:23:47.23 ID:XOMWEtHe.net]
バカが居着いたな。

338 名前:デフォルトの名無しさん [2016/05/27(金) 22:49:32.10 ID:bzamVpC0.net]
ID:XOMWEtHe を超える馬鹿はいまだに現れないけどなw

339 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 07:56:40.52 ID:dedHu0lv.net]
シェルスクリプトで構築したものをPHPで書き直していますが
やはりオブジェクト指向で書けるのが素晴らしいですね
ウェブという過酷な現場で鍛え上げられた堅牢性
ライブラリのincludeに気を使う必要のない手軽さ
何で使わないの?あほなの?



340 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 08:19:51.18 ID:yOItZUQa.net]
>>338
PHP 覚えて楽しくて仕方ない時期なんだね
結構結構

341 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 08:26:58.15 ID:dedHu0lv.net]
rubyやpythonは生言語で書かれているライブラリの内部でエラーが出ることが少なくありません
これには非常に意気を奪われますが
PHPの場合、まずありません
これがどれだけ生産的なことか

342 名前:デフォルトの名無しさん [2016/05/28(土) 08:42:46.05 ID:fjaQwAHl.net]
まずはWordPressですね

343 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 08:56:25.74 ID:xHO8PG3F.net]
細かいこと気にせず書く
硬く書く
どっちも書きやすいのは良いことだ

344 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 10:22:43.51 ID:p586PW/3.net]
PDOの接続処理を try/catch 文で囲んだ場合、
ERRMODE_WARNING と ERRMODE_EXCEPTION に違いはあるのでしょうか?

ERRMODE_WARNING についても、「PDOException をスローする」とあります。
ERRMODE_EXCEPTION について、「ERRMODE_WARNING と同様にデバッグ時に有用で、
エラーが発生した時点でスクリプトの実行を停止させる」とあります。

両者の違いと効果がいまいちわかりません。
本番環境では、ERRMODE_EXCEPTIONを使い、
開発環境では、ERRMODE_WARNING を使うということなのでしょうか?
よろしくお願いします。
php.net/manual/ja/pdo.error-handling.php

345 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 14:12:08.49 ID:k1q+IunE.net]
>>343
ERRMODE_WARNINGはコンストラクタでは例外を投げるがそれ以外では投げない
ERRMODE_EXCEPTIONはエラー発生時には常に例外を投げる

と読めるが?

346 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 14:44:55.97 ID:9P0W7UNJ.net]
>>344
ありがとう。

ERRMODE_WARNINGは、自動的にエラーを出力するけど、
ERRMODE_EXCEPTIONは、$e->getMessage();しないとエラー出力しない。
ただし、ERRMODE_WARNINGでもコンストラクタ、つまり、new PDO($dsn...
で接続に失敗した場合、例外が投げられるからcatchしろということですよね。

本番環境でも、エラーログにエラーを吐いて欲しい場合には、
ERRMODE_WARNINGがいいのかな。

347 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 14:46:33.86 ID:fPcEGIkd.net]
> ERRMODE_WARNING についても、「PDOException をスローする」
どこに書いてあるの?

348 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 15:02:57.30 ID:9P0W7UNJ.net]
>>346
php.net/manual/ja/pdo.error-handling.php
この例2のコメント部分です。

/*
ERRMODE を WARNING にした場合でも、コンストラクタを try/catch で囲むのは有効です。
接続に失敗した場合、ERRMODE が何であろうが PDO::__construct が PDOException をスローするからです。
*/

349 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 17:07:34.65 ID:wZkOO3aE.net]
>>338
phpってオブジェクト指向なのですか?
クラスも使えますか?



350 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 17:25:38.54 ID:dedHu0lv.net]
>>348
もちろん使えますよ

351 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 17:32:43.71 ID:wZkOO3aE.net]
>>349
知らなかった。
ありがとうございました。

352 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 17:49:06.65 ID:k1q+IunE.net]
>>345
まともなソフト作るならちゃんと例外処理しろよ
Warning発生時でも処理が継続するってことは, Warningが起こるような処理については内容は一切保証しませんと言ってるのと同じ

353 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 20:28:31.30 ID:6ztlzLBo.net]
>>351
なるほど。WARNINGは、エラーでも実行継続しちゃうんだった。
本番環境も開発環境も、ERRMODE_EXCEPTIONで例外処理するのが正解なんだね。
しかしもう修正不能だ・・・

354 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 20:51:24.53 ID:6ztlzLBo.net]
というかPHPって例外を投げないエラー処理が多いんだった。
throw new ErrorException で自分で例外投げないとダメなんだね。
php.net/manual/ja/class.errorexception.php

355 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 21:24:07.26 ID:H5MBEWMU.net]
途中で例外処理が追加されたので、互換性のためにって感じだっけ?

フラグで例外を投げるかどうか決めれるやつもあったと思うけど、
これらは比較的新しい関数ってことなのかしら

356 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 22:05:45.93 ID:dedHu0lv.net]
fgetsのlengthが長さ-1なのは何故でしょうか?

357 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 23:16:23.24 ID:O5lAFAJB.net]
throwが便利だからだろうね
大元の呼び出し元まで返るからね
フラグだと全部リターンしないと呼び出し元まで返せないし
フラグじゃないものをリターンしたいのが普通なのでフラグリターンはきつい

358 名前:デフォルトの名無しさん [2016/05/28(土) 23:36:37.59 ID:0iKr5py8.net]
どうしてペチパーのママはドブスばかりなのか

359 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 03:17:47.75 ID:YpkEX6Ke.net]
例外絡みで1つ質問。
catchでのException $eが不要なとき、どう書けばいいの?



360 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 03:27:36.66 ID:v+3vzfaj.net]
不要ってなんだ
catch対象を書かなきゃ何をcatchしていいかわかんないじゃん

361 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 04:23:12.88 ID:YpkEX6Ke.net]
ああすまん、言い方が悪かった。
catchのブロック内でその$eを使わないとき、だな。

そのまま放置でも良さそうだけど、できれば使ってないことを明示したい。
例えばブロック開始直後にunset($e)とか、なんか良い方法ないかな。
せっかく補足したんだからログに残すなり何なりしたほうが良いのは分かってるけども。

362 名前:デフォルトの名無しさん [2016/05/29(日) 05:38:44.51 ID:DYRgDF3k.net]
関係ないかもしれんけど、キャッチアンドリリースって聞いたことあるよ。

363 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 05:43:03.00 ID:YpkEX6Ke.net]
>>361
それは、catchするけど何もしない(PHPならそもそもcatchしない?)、
あるいは、そのまま上に投げることを指すんじゃない?

364 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 05:47:10.95 ID:v+3vzfaj.net]
俺はなんかキャッチアンドゴーとかそんな感じのを聞いたことある気がする

unset($e)か、コメント書くか、なんか使わないよ的な変数名をあてるか、くらいしかないんじゃないかなあ

365 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 06:00:33.97 ID:lJ1NKQbg.net]
使わないことを明示することに如何な意味があるのか

366 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 07:31:25.42 ID:oxnJSJpj.net]
>使わないことを明示することに如何な意味があるのか

サルなりに、安心できる

367 名前:デフォルトの名無しさん [2016/05/29(日) 07:51:39.25 ID:Ij8AE099.net]
他を下に見てサルと蔑むことで自我を保てる基地外が来ましたね

368 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 08:06:51.99 ID:YpkEX6Ke.net]
>>364
直接的な理由としては、IDEが未使用変数に対して注意を促してくるから、かな。
心情的にも、宣言しておいて宙ぶらりんというのはちょっと収まりが悪い。

言語によっては、型名を書くだけ(要は$eの部分がない)とか出来るじゃん?
PHPにもちゃんとしたやり方があるなら、それを知りたかった。

369 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 08:08:29.92 ID:YpkEX6Ke.net]
>>363
変数名で使わないことを示すというのは、いいな。



370 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 09:13:09.97 ID:WmC7AS7k.net]
初心者のうちは例外の意味がわからないだろうから無理もないんだけどさ
処理の前に全部確認してreturnするかthrowする習慣つけなよ
例外発生しても無視とか悪習にしかならない

371 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 09:17:39.43 ID:VGuceG8q.net]
俺は例外処理の意味が分からなくて、全部
try{
Hoge();
}(FooExなんちゃら e){
System.out.println(e);
}
してた
あと独自例外クラスの意味が分からなくて、例外クラスに例外発生条件を書くのかと思っていた

372 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 11:14:52.46 ID:YosV+ioq.net]
>>360>>367
その場合はtry〜catch節は書かない
上位の呼び出し元でcatchする

373 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 14:48:05.67 ID:Pqoknlps.net]
>>371
その関数内で例外を補足したい場合はどうするん?
あとはその上位でも$eを参照しないとか、あるいはそもそも最上位の場合とか。

374 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 15:48:46.36 ID:Yjs1g498.net]
データベースに配列[1, 2, 3]突っ込む場合
1.jsonに変換して突っ込む
2.explodeなりで「1,2,3」と突っ込む

正解はどっち?

375 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 16:06:57.93 ID:GBRDVTrG.net]
何に使うのかが分からないけど、タグ付けが目的なら
適当な区切り文字で繋いでそのまま格納が使いやすそうだな

376 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 17:04:53.25 ID:lJ1NKQbg.net]
>>372
例外をキャッチするけれどもその中身を見ないというのはあまりよい習慣とは思えないけど, IDEの警告を消したいならまぁunsetだろうなー

>>373
用途にもよるが一般にはどっちも不正解
とりあえず「SQL JayWalking」でググってみれば

377 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 17:06:33.06 ID:oxnJSJpj.net]
>>373
>データベースに配列[1, 2, 3]突っ込む場合
>2.explodeなりで「1,2,3」と突っ込む

おまえのPHPは配列をexplodeできんのか。すげぇな。

378 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 17:55:56.21 ID:Pqoknlps.net]
>>375
throwが、自分で投げたやつ1つだけとかだったり
型名から例外の内容が明らかだったりすると、$e->getMessage()とかする必要なさそう

379 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 18:08:58.73 ID:v+3vzfaj.net]
ごめんあれタッチアンドゴーだった



380 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 20:52:18.18 ID:4cJk/zi6.net]
>>373
そういうデータの格納の仕方をしても問題の無いカラムだという前提でだけど、
スペース区切りで join した上でさらに先頭と末尾にスペースを付与するってのはどうかな。
その例だと ' 1 2 3 ' って感じ。

まず元の配列に戻すには、trim して explode すればいい。
先頭と末尾に付与する文字をスペースにしてるのはこの trim をしやすいようにするため。
で、後述の事情により値の区切り文字はここで付与する文字に合わせる必要があるので、区切りもカンマではなくスペース。

んじゃそもそも先頭と末尾になんでそんな余計な文字を付与するのかというと、配列の要素の値を LIKE検索できるように。
配列内に 2 という値を持っている行で絞り込むには、 column LIKE '% 2 %' のように、絞り込みたい値の先頭と末尾に区切り文字を付けておく。
単に column LIKE '%2%' じゃいけない理由は少し考えれば分かると思う。
んでこの都合により、カラム内の最初の値の前には区切り文字がある必要があるし、最後の値の後にも区切り文字がある必要がある。
だからカラム値そのものの先頭と末尾に区切り文字を付けておく必要がある。

381 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 21:08:13.99 ID:jwA+uuOB.net]
>>352
エラー処理してなかったってことかな

382 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 21:12:46.02 ID:f+JrLvVy.net]
wgetでしていたリモートファイル取得を
phpのcurlに置き換えたら処理時間が二倍くらいになりました
curlは遅いのでしょうか?

383 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 00:17:44.24 ID:EYocVjlD.net]
具体的にはwgetは0.12秒、curlは0.41秒といったところです

384 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 00:38:44.97 ID:cVhChvSa.net]
>>379
こういうクソみたいな長文を自信満々に書いちゃうからPHPerはクソだって言われるんだよな。

385 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 01:10:51.70 ID:MSwmOpiD.net]
>>383
何をクソか言えればお前はクソじゃなくなるんだけどな

386 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 01:38:07.20 ID:cVhChvSa.net]
誰がどんな書き込みをしたか把握できないバカは何を見てもクソだと思う。
つまり、お前がオレをクソだと思うのはお前が低能でクソなことが原因だから、そんなの知った事か。
レスを全部読み返せ、マヌケ。

387 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 01:46:43.83 ID:EfYZ+SoU.net]
>>379
検索のことを考えねばならない時点で前提が崩壊している

388 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 02:07:44.13 ID:EYocVjlD.net]
file_get_contentsのタイムアウトのことを調べると
タイムアウトは出来ないとか、設定した値の二倍かかるとか
いろいろな説が出てきますが
何が正しいんですか?

389 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 02:11:49.06 ID:MSwmOpiD.net]
>>385
よくわからんが、>>373 に対してレス付けてるのから判断するとお前は >>375 だと言ってるのかね?
でもそれじゃ >>379 の何がクソだと言ってるのかは分からんから、お前は >>376 なのかね?
んまあどれが誰かなんて興味は無いのでどうでもいいが、>>379 の論点のクソさを具体的に示せてないんだからお前もクソだろう。

>>386
データ規模によるっしょ。
他のインデックスが効くキーで充分に絞り込めてるレコードをさらに絞るとか。
あんまりうまい例えはパッと出てこないけど、生徒マスタなんかクラスで40名程に絞り込んだ中から、好きな教科カラムに「数学」を含む生徒だけを取り出すとか。



390 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 02:51:30.51 ID:+KPM1br2.net]
大人しく正規化しろ。すべて解決だ

391 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 03:29:38.26 ID:EfYZ+SoU.net]
>>388
正規化しなくてもいい理由を考えるんじゃなくて, 正規化された状態だと問題がある場合に限って非正規化な構造を採用すべき

392 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 07:03:49.14 ID:cVhChvSa.net]
>>388
サルが必至にクソな論理を構築しようとした結果の超クソレス。
サルだからこういうレスをしても恥ずかしくないらしい。サル、最強だ。

393 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 07:43:17.72 ID:cVhChvSa.net]
多分、>>379>>388 みたいな奴って、

qiita.com/iwata@github/items/f33490d34dd1400b166e

これとか読んでも

> ユーザーが “banana” のような無効な入力を行ってしまうことを、どうやったら防げるでしょうか。

って文章があるだけで頭の中がバナナで一杯になっちゃって他の文章が全く頭に入ってこなくなるんだよ。

技術系の発信する時は「バナナ」は禁句だってあれほど口をすっぱくして言ってるのに、未だに理解されないよな。

394 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 07:51:23.15 ID:cVhChvSa.net]
>んまあどれが誰かなんて興味は無いのでどうでもいいが、

誰がどれか、なんて話してねぇよサル。
誰がどんな事を既に言ったのかって話をしてるんだ。おまえ脳みそにシワあるのか?

395 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 07:54:27.98 ID:v4ZBbWmE.net]
>>392
> ユーザーが “banana” のような無効な入力を行ってしまうことを、どうやったら防げるでしょうか。

これ、qiita記事の元っぽい以下のURLだと濁点の分離や記号の全角化は起きてないようにみえる
https://github.com/suzuki-shin/sql_anti_pattern/blob/master/chapter1/chapter1
同qiita記事書いた人の別の記事でも濁点の分離や記号の全角化がされた文章がいくつかある
こういうのってどういう局面で起きるものなの?

396 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 08:09:01.66 ID:MSwmOpiD.net]
>>390
正規化の是非は >>373 が判断することで、今は正規化しない場合のデータ表現についての話でしょ。
だったら JSON でもカンマ区切りでもその他の表現でも、どうするとどう活用できるかについてが議題じゃないのかな。

397 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 08:27:40.56 ID:EfYZ+SoU.net]
>>395
> 今は正規化しない場合のデータ表現についての話でしょ
>>373を読む限りそもそも正規化を知らないものと理解するが。

398 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 08:30:06.63 ID:EfYZ+SoU.net]
>>394
UnicodeのNFDとNFCで調べてみるといい
OS X上でマルチバイトファイル名入りのGitリポジトリとか扱うときに問題になる

399 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 08:44:38.54 ID:MSwmOpiD.net]
>>396
あー、言われてみればそんな気もしてきた。
でもデータベースというのは実は KVS とかだったりして。



400 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 09:55:15.32 ID:v4ZBbWmE.net]
>>397
Macなのか!あとで調べてみるサンキュー

401 名前:デフォルトの名無しさん [2016/05/30(月) 10:05:11.31 ID:b2mZbZ2D.net]
サル・猿をNGワードでスッキリ

402 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 10:32:30.47 ID:RFK4Vliv.net]
>>397
OS XのiTunesの音楽ファイルをtar zipで固めてlinuxに持ってったときハマったなあ
ファイル名が曲名だったから日本語ばかりで、濁点が全部別文字になったw 
当時NFC,NFD処理できるうまいライブラリがPerlしかみつからなくて
Perlのスクリプト書いて修正したっけな

403 名前:デフォルトの名無しさん [2016/05/30(月) 11:27:17.60 ID:b2mZbZ2D.net]
PHPをモノにするにはWordPressでサイト構築が最も効果的であります

404 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 12:21:09.96 ID:EYocVjlD.net]
$http_response_headerという変数がありますが
特殊な変数なのに何故「$_大文字」のような形ではないのでしょうか?
普通に付けそうな名前ですし、まずいと思います

405 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 12:40:19.92 ID:y++iLJ96.net]
>>403
細かいことを気にしたら一流のペチパーになれないぞ

406 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 12:55:38.98 ID:cGJHwTA3.net]
>>400

一生現実から目を背けてろ、このエテ吉が。

407 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 16:07:54.41 ID:8XzSUPs+.net]
phpのことで悩むのやめた
女の子誘って温泉いってくるわ

408 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 16:16:46.03 ID:bSPgiDOZ.net]
>>403
特殊ってわけでもないんだよな$http_response_headerはローカルなんだ

409 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 16:39:01.00 ID:EYocVjlD.net]
$_系はグローバルなので小文字ににしたということですね
それならまあ納得です
ありがとうございました



410 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 19:49:38.97 ID:LmMFghTu.net]
>>355
内部の処理で文字列の最後に1バイト文のNULL文字'¥0'が自動で付加されるから

411 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 20:02:26.02 ID:1Y2aZH/o.net]
>>409
ほんとに?

412 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 20:03:59.91 ID:EYocVjlD.net]
>>409
わっ、そうなんですね
ちょうどそれが原因のバグに当たっていたところです
fgetsはバイナリで読むと思いこんでいました
ありがとうございます

413 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:40:21.19 ID:EfYZ+SoU.net]
>>409
それはC/C++に於ける実装だ
PHPではヌル文字は文字列終端を意味しない(zend_stringの実装を見るとよい)
実際fgetsはバイナリセーフでヌル文字があっても改行文字かEOFにあたるまで読み続ける

fgetsの引数の$lengthがそのような実装であるのは, C/C++に於けるfgetsの引数lengthとの互換性を持たせるためだろう
ただまぁfgetsのプロトタイプ自体がC/C++とPHPでは全く異なるからそこだけ合わせてもアレだけども

414 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 01:57:54.79 ID:+9fDSi7f.net]
あー、functionやreturn省略できねーかなー

415 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 04:34:17.37 ID:4Jh5cWvX.net]
functionはともかくreturn省略したらvoidとの区別がつかんやろ

416 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 05:40:01.58 ID:X6HwP8rQ.net]
俺はswitchのbreakを省略したい。
switchはbreakで区切るのではなく、continueで連結するようにすべきだったはずだ。

417 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 06:23:56.21 ID:37ByNeIc.net]
>>415
複数の値で同じ処理をする時に case ばかりを並べる場合はデフォルトでフォールスルーになってる方が便利だけどな。
でもそれ以外でフォールスルーを活用できるパターンも少ないように思うから、個人的にはどっちでもいいと言えばどっちでもいい。
ただ既存言語に合わせておいた方がトラブルが少ないんじゃないかと思う。

418 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 11:42:05.04 ID:BNvwfi7N.net]
やはり、PHPをマスターするにはWordPressでのWebサイト構築が最も効果的なのでしょうか?

419 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 12:09:34.37 ID:pF41PCQ4.net]
一番遠回りの道を何故選ぶ?
ヒマなのか?



420 名前:デフォルトの名無しさん [2016/05/31(火) 13:10:11.01 ID:BNvwfi7N.net]
>>418
代案を出さなきゃサル呼ばわりされちゃうよ?

421 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 13:29:03.85 ID:rEPhaK+h.net]
自分でブログなり何なりを作って運用する。
cmsははノンプログラマの逃げ技だと思っている。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<272KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef