2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2016/06/23(木) 21:05:50.59 ID:8l+T8FXA.net
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/

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

2 :デフォルトの名無しさん:2016/06/23(木) 21:06:36.21 ID:8l+T8FXA.net
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】7.0
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・ 解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・ 誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・ SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ

3 :デフォルトの名無しさん:2016/06/23(木) 21:07:40.50 ID:8l+T8FXA.net
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PHPNG        https://wiki.php.net/phpng
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ml.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/
■Smartyマニュアル  http://www.smarty.net/manual/ja/

(以下英語)
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smarty       http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/

4 :デフォルトの名無しさん:2016/06/23(木) 23:54:19.00 ID:pXTHavhi.net
ここが新スレだ
しっかり使っていくようにな

5 :デフォルトの名無しさん:2016/06/24(金) 00:33:29.08 ID:ujwOOFVb.net
>>1

6 :デフォルトの名無しさん:2016/06/24(金) 01:17:56.65 ID:NyqhaMMw.net
ワッチョイ付き()

7 :デフォルトの名無しさん:2016/06/24(金) 03:11:27.00 ID:hjmxRhIJ.net
993 名前:デフォルトの名無しさん[] 投稿日:2016/06/23(木) 21:47:29.07 ID:pXTHavhi [3/4]
こんな過疎スレに一日30回近く書き込みする物好きがいると聞いて見物している

994 名前:デフォルトの名無しさん[] 投稿日:2016/06/23(木) 22:09:04.47 ID:pXTHavhi [4/4]
さっさと埋めろや無能ども

からの >>4
と来たらこれはもう、ね。

8 :デフォルトの名無しさん:2016/06/24(金) 06:20:25.59 ID:1oHte2Ua.net
前スレで絶対的に正しい事が証明されたサルハンターです。
どうぞよろしく。

9 :デフォルトの名無しさん:2016/06/24(金) 12:12:15.09 ID:4+1ZXWB2.net
開発期間n2ヶ月、盆休み、個人的な休み 引いて実質1ヶ月半
この間に検索機能、管理機能、対客機能、その他もろもろ10機能以上いれた
ポータルサイトをひとつ完成させなければならない。
プログラマー俺、デザイナー1人
デスマーチ確定。

10 :デフォルトの名無しさん:2016/06/24(金) 12:40:38.62 ID:gnQKCvjh.net
>>9
それでいくらもらえるの?

11 :デフォルトの名無しさん:2016/06/24(金) 12:55:38.42 ID:mnFRrG4X.net
>>8
うすらさむいわ

12 :デフォルトの名無しさん:2016/06/24(金) 13:06:18.69 ID:NyqhaMMw.net
他人バカにして優越感に浸ってるのはリアル負け組の典型だから
そっとNGに入れて生暖かい目で見守ってやれ

13 :デフォルトの名無しさん:2016/06/24(金) 13:09:40.53 ID:ujwOOFVb.net
>>9
そこまでキツくないような気がするのは俺だけか
※仕様とデザインと文章・画像などコンテンツが全部固まっているなら

14 :デフォルトの名無しさん:2016/06/24(金) 13:11:10.98 ID:mfGmErJk.net
あまり荒れるようなら次スレからワッチョイとやらでもいいかもね

15 :デフォルトの名無しさん:2016/06/24(金) 13:13:54.16 ID:9djNrQD6.net
【PHP】とかエロすぎだろ常考

16 :デフォルトの名無しさん:2016/06/24(金) 13:15:23.86 ID:mnFRrG4X.net
>>7
無能と罵られてキレるのは無能のみぞ

17 :デフォルトの名無しさん:2016/06/24(金) 13:19:25.42 ID:hNKdYhKF.net
現在一般的に利用されてるPHPのバージョンって、5.6と認識していてOKなのでしょうか?

18 :デフォルトの名無しさん:2016/06/24(金) 13:48:53.29 ID:F82Jth68.net
>>13
> そこまでキツくないような気がするのは俺だけか
作業が二人に分かれてる時点で無理でしょう。

19 :デフォルトの名無しさん:2016/06/24(金) 14:06:04.15 ID:4+1ZXWB2.net
>>10
月々は3万〜5万もらうが、初期費用はゼロ

いつもお世話になってるところだからという理由
インターフェース的な動きや見栄えにすごくこだわる客で完成してから大幅な仕様変更いいまくるところだから
この際よそいってもらいたい

>>13
2ヶ月って小学生の夏休みより長いし
夏休みの宿題のボリュームを思い出すと

いけるかも?と俺もおもったけど

ガントチャートつくってみたら 
「あ、どうか考えても無理だわw」
になった。

>>18
完全MVCで作るから、一応同時進行は最大限できる
てかMVCで作らないと絶対無理

20 :デフォルトの名無しさん:2016/06/24(金) 14:20:27.22 ID:LGCXeils.net
>>19
月3〜5万てw
コピペで作れるサイトならともかく、あんま安く請けると業界の首を絞めるぜ。

21 :デフォルトの名無しさん:2016/06/24(金) 14:56:51.32 ID:ujwOOFVb.net
>>19
客との間の事情がまあいろいろあるんだろうけどな
超適当に人日40,000として2人30日としても回収し切るまでの期間を計算すると……

22 :デフォルトの名無しさん:2016/06/24(金) 14:58:14.67 ID:F82Jth68.net
>>19
> 完全MVCで作るから、一応同時進行は最大限できる
その最大限ってのが、一人で作るなら30人日分できるときに、二人だとWBS的な待ち合わせとか、
コミニュケーションコストとかで25人日分くらいに目減りすると思うんだ。

お互い使い慣れた管理画面とかのテンプレートやボイラープレートがあって、既に協業経験が
あるならいいけど、初めてだと意外と時間取られると思うよ。

23 :デフォルトの名無しさん:2016/06/24(金) 15:33:49.96 ID:RJmk5tzA.net
>>17
OK
PHP7.0でもいいよ
http://php.net/supported-versions.php

24 :デフォルトの名無しさん:2016/06/24(金) 15:59:15.50 ID:3DHUitBK.net
>>17
php5.3.xを今でも使っています。
サポートもきちんとされているので安心です。

25 :デフォルトの名無しさん:2016/06/24(金) 16:12:00.46 ID:6jwsLRlP.net
>>19
初期費用ゼロという時点でおかしいと気付かないと(この世界で生き残るのは)難しい

26 :デフォルトの名無しさん:2016/06/24(金) 16:57:36.89 ID:Ul20IDNb.net
>>17
centos7に入ってるのは5.4.16ですので
まだ5.6は一般的とは言えないのではないでしょうか?

27 :デフォルトの名無しさん:2016/06/24(金) 17:17:30.95 ID:c5qWvcYb.net
php7が一般的になるのは10年後くらいかな?

28 :デフォルトの名無しさん:2016/06/24(金) 17:35:51.53 ID:F82Jth68.net
>>27
意外と早いかもよ。

https://seld.be/notes/php-versions-stats-2016-1-edition

May 2016

PHP 5.6 39.67%
PHP 5.5 29.56%
PHP 7.0 20.24%
PHP 5.4 7.64%
PHP 5.3 2.43%

packagist.orgのアクセスログからのデータだから、5.3や5.4の人はあまりアクセスしないという事情もあるかもだが。

29 :デフォルトの名無しさん:2016/06/24(金) 18:05:15.72 ID:Ul20IDNb.net
($a ? $a : $b) = 100;

こんな感じに代入する側を条件により変えたいのですが
これだとエラーになります
どうにか出来ませんか?

30 :デフォルトの名無しさん:2016/06/24(金) 18:06:01.44 ID:Ul20IDNb.net
×代入する側
○代入される側

でした

31 :デフォルトの名無しさん:2016/06/24(金) 18:18:02.54 ID:RDdMjpj7.net
>>29
$b = $a ? 100 : 0;

$bに代入される値を
$aの真偽で変える

32 :デフォルトの名無しさん:2016/06/24(金) 18:21:06.87 ID:RDdMjpj7.net
$a ? $b = 100 : $b = 0;

あとこういう書き方でも結果は同じ

33 :デフォルトの名無しさん:2016/06/24(金) 18:26:51.76 ID:F82Jth68.net
if ($a) {
  $a = 100;
} else {
  $b = 100;
}
と書くのが一番良い。

34 :デフォルトの名無しさん:2016/06/24(金) 18:29:47.81 ID:ujwOOFVb.net
>>33
$aがbooleanなのかstringなのかわからんから === 評価を書くほうが良いのでは

35 :デフォルトの名無しさん:2016/06/24(金) 18:37:57.35 ID:Ul20IDNb.net
($a ? $a : $b) = 100;
というのは
代入される側を条件によって変えたい、
という問題を示すために適当にでっちあげた例です。
($c ? $a : $b) = 100;
方が良かったですね

36 :デフォルトの名無しさん:2016/06/24(金) 18:38:42.89 ID:RDdMjpj7.net
三項演算子で質問してるのに
if-elseで書き替える
さすがPHPスレだな

37 :デフォルトの名無しさん:2016/06/24(金) 18:42:16.27 ID:RDdMjpj7.net
>>35
$c ? $a = 100 : $b = 100;

それならこうだ

38 :デフォルトの名無しさん:2016/06/24(金) 18:44:20.46 ID:ujwOOFVb.net
>>35
代入先を変えたいならこういう手もあるけど、気に入る手法かどうかはわからん
${ ($a) ? 'a' : 'b' } = 100;

39 :デフォルトの名無しさん:2016/06/24(金) 18:52:38.48 ID:Ul20IDNb.net
>>37-38
ありがとうございます
自分も今
${($c ? 'a' : 'b')} = 100;
に辿り着いたところでした

40 :デフォルトの名無しさん:2016/06/24(金) 18:58:33.14 ID:4+1ZXWB2.net
>>25
それをそのまま社長に誰か言って欲しい

41 :デフォルトの名無しさん:2016/06/24(金) 19:00:19.91 ID:ujwOOFVb.net
可変変数はアリなのか……感性が良くわからん

42 :デフォルトの名無しさん:2016/06/24(金) 19:27:17.23 ID:1oHte2Ua.net
>>39

ゲラゲラ笑った。お前、なかなかプログラミングを分かってるじゃないか。とてもセンスがいい。

そうだ、プログラムってのはただの冗談でしかないんだ。

43 :デフォルトの名無しさん:2016/06/24(金) 19:29:26.54 ID:Ul20IDNb.net
いや、いいかどうかは別ですよ
パフォーマンス的な意味で気になりますし。
ただ関数言語的な書き方に親しむと
同じことを二回書きたくない、
一時変数=ダサいっていう感覚になるんですね
右辺が100でなく複雑な式の場合、
一時変数を使わざるを得なくなりますが、それが嫌なんです

44 :デフォルトの名無しさん:2016/06/24(金) 19:37:11.54 ID:1oHte2Ua.net
>>19

一応警告しておくぞ。

なんか暗号化する手段を用意しておけ。肝になる部分だけ暗号化すればバレにくい。
バレたら
「高速化のためにコンパイルが必要な言語を利用しています。
お金さえ払っていただければきちんと面倒見ます」と言え。

俺の友人である社長はそうして備えておいたので、
客が金を払わなくなったところでそのまま切り捨てたそうだ。
後で黒ヤギさんが文句のメールをよこしたらしいが、読まずに捨てた。

45 :デフォルトの名無しさん:2016/06/24(金) 19:37:59.81 ID:1oHte2Ua.net
>>43
良いか悪いかはお前が判断すればいい。
俺はお前の心意気が面白いと言っている。

46 :デフォルトの名無しさん:2016/06/24(金) 19:47:30.69 ID:1oHte2Ua.net
ずっと前から思っているが、俺は

if(1 < $value < 10){ }

が出来る言語を欲している。

Is there anybody who think so too?

47 :デフォルトの名無しさん:2016/06/24(金) 19:49:02.03 ID:1oHte2Ua.net
SQLには between があるんだから、これを実装しようとする言語があっても良いはずだし、
どこかにあるのかもしれない。

48 :デフォルトの名無しさん:2016/06/24(金) 19:53:28.17 ID:6jwsLRlP.net
betweenって何だっけ、歯ブラシ?

49 :デフォルトの名無しさん:2016/06/24(金) 20:01:54.78 ID:ujwOOFVb.net
LINQみたいなのはダメなんか

50 :デフォルトの名無しさん:2016/06/24(金) 20:03:27.07 ID:4+1ZXWB2.net
株式会社 BETWEEN

51 :デフォルトの名無しさん:2016/06/24(金) 20:08:11.33 ID:1oHte2Ua.net
>>49

LINQが何かよー知らんけど、ググって読んだ範囲では違うんじゃねぇかね?

52 :デフォルトの名無しさん:2016/06/24(金) 20:10:05.04 ID:1oHte2Ua.net
ふーん、検索対象は自由に選べるのか…

53 :デフォルトの名無しさん:2016/06/24(金) 20:12:24.95 ID:1oHte2Ua.net
>>49

バリデータとか作ってると、max, min指定して制限したい時とかあるじゃない。
ああいう時、
if(1 < $value < 10){ }
が出来ると綺麗になるんだよなぁ…

Don't you think so?

54 :デフォルトの名無しさん:2016/06/24(金) 20:13:49.81 ID:Fo67yJqk.net
PHPの標準関数で、設定値を「|」で区切って複数指定できるものがありますが(flock)、どういう仕組みになっているんですか?
「|」はビット演算子のはずですが

55 :デフォルトの名無しさん:2016/06/24(金) 20:22:49.13 ID:1oHte2Ua.net
>>54

file_put_contents
http://php.net/manual/ja/function.file-put-contents.php

flags
flags の値は、以下のフラグを組み合わせたものとなります 組み合わせる際には、論理 OR (|) 演算子で連結します。

<?php

echo FILE_USE_INCLUDE_PATH . "<br>\n";
echo FILE_APPEND. "<br>\n";
echo LOCK_EX. "<br>\n";

?>

-----
1 0001
8 1000
2 0010
-----

all → 1011

like this. Do you understand?

56 :デフォルトの名無しさん:2016/06/24(金) 20:26:53.62 ID:Fo67yJqk.net
>>55
なるほど
これは凄い

57 :デフォルトの名無しさん:2016/06/24(金) 20:28:52.19 ID:1oHte2Ua.net
ランバ・ラル「サルとは違うのだよ、サルとは!」

58 :デフォルトの名無しさん:2016/06/24(金) 20:40:03.33 ID:o6ESDf8N.net
神風航空株式会社。

59 :デフォルトの名無しさん:2016/06/24(金) 20:52:03.55 ID:4+1ZXWB2.net
今月の給料出た。
今月の手取り額の数字を検索したら
こんなんでてきた。
http://www.toipu-koi.com/gallery/2016/05/405279000.php

おれの一ヶ月はこれと同じ価値なのか。

60 :デフォルトの名無しさん:2016/06/24(金) 20:54:42.55 ID:1oHte2Ua.net
>>56
Hey guy, Didn't your parents teach you
that you have to say "thank you so much" to your imam?

61 :デフォルトの名無しさん:2016/06/24(金) 20:55:12.11 ID:Fo67yJqk.net
>>60
No English

62 :デフォルトの名無しさん:2016/06/24(金) 20:56:18.83 ID:Fo67yJqk.net
google先生に聞いて来た


男ねえ、あなたの両親はあなたを教えていませんでした
あなたが言っていることをあなたのイマームに「ありがとうございましたか」 ?

63 :デフォルトの名無しさん:2016/06/24(金) 21:02:59.10 ID:1oHte2Ua.net
Ah, the google translation is fucking stopid like as same as your parents.

Let's translate this.

64 :デフォルトの名無しさん:2016/06/24(金) 21:04:34.30 ID:1oHte2Ua.net
stupid か。まぁいいや。

65 :デフォルトの名無しさん:2016/06/24(金) 21:05:34.04 ID:Fo67yJqk.net
ああ、 Googleの翻訳は、ご両親と同じようなクソstopidです。

それでは、これを翻訳してみましょう。

66 :デフォルトの名無しさん:2016/06/24(金) 21:07:42.89 ID:Fo67yJqk.net
俺の両親T大とW大なんですがwwwwwwww
父だけで>>59の給料の5倍以上あるんだけどwwwwww

67 :デフォルトの名無しさん:2016/06/24(金) 21:08:35.69 ID:1oHte2Ua.net
>>59

Dogs eat his shit, but you can't eat your shit code.
So, dogs has more convenience than you.
Do you wanna eat your shit?

68 :デフォルトの名無しさん:2016/06/24(金) 21:14:35.11 ID:1oHte2Ua.net
>>66

Wow, that's great!
So, you gonna telling the story that swans gave birth to a duck, is it?

69 :デフォルトの名無しさん:2016/06/24(金) 21:17:43.81 ID:Fo67yJqk.net
>>68
うわー、それは素晴らしいことです!
だから、あなたはそれは、白鳥がアヒルを出産したことを話をしてつもり?

TRUE

70 :デフォルトの名無しさん:2016/06/24(金) 21:17:46.97 ID:NRLOm1ol.net
MySQLの勉強をしているのですが、参考にしているプログラムに使われている関数がよく非推薦となっています
例えばmysql_connect()よりもmysqli_connect()を使うように推薦しています
古い形式に若干慣れてしまったのですが、今後のことも考えてMySQLiを使うべきでしょうか?

71 :デフォルトの名無しさん:2016/06/24(金) 21:19:23.33 ID:1oHte2Ua.net
>TRUE

It's OK, if that is.

72 :デフォルトの名無しさん:2016/06/24(金) 21:19:41.25 ID:Fo67yJqk.net
>>70
オフコース
if(MySQL Only){
MYSQLI
}else{
PDO
}

MYSQL_HOGE=UNKO

73 :デフォルトの名無しさん:2016/06/24(金) 21:21:37.88 ID:1oHte2Ua.net
>>70

いいや、mysqliはあんまり推奨しねぇな。

確かにネイティブな関数はいろいろと出来るからいいが、当然の如くDBの変更に弱い。
素直にPDO使った方が良いんじゃねぇか?

DB特有の機能は使えなくなるが、そんなにDB特有の機能を使うことなんてねぇぞ。

74 :デフォルトの名無しさん:2016/06/24(金) 21:22:03.70 ID:Fo67yJqk.net
MYSQLI=HAYAI
PDO=OSOI
MYSQLI_FUNC=UNKO
MYSQLI_OOP=SUGOI
MYSQLI=ONLY
PDO=IROIRO_USE

75 :デフォルトの名無しさん:2016/06/24(金) 21:22:26.78 ID:1oHte2Ua.net
アヒルの言うことはほっとけ。

76 :デフォルトの名無しさん:2016/06/24(金) 21:23:32.13 ID:Fo67yJqk.net
>>73
MySQLしか使う予定ないならMySQLIだろ
こっちが早いし
あとDB特有の機能使えないことはないぞ
PDO使うメリットなくなるが

77 :デフォルトの名無しさん:2016/06/24(金) 21:24:37.00 ID:Fo67yJqk.net
>>75
>>72で俺が
もしMySQLしか使わないなら、MySQLIで、
でなければ
PDO使えって言っただろ
俺が先だぞ

78 :デフォルトの名無しさん:2016/06/24(金) 21:25:24.46 ID:1oHte2Ua.net
>>76

You should better to use mysqli if you think so.
i don't stop your folly.

79 :デフォルトの名無しさん:2016/06/24(金) 21:26:34.89 ID:1oHte2Ua.net
>>77

Yeah, yeah. You are fine.

80 :デフォルトの名無しさん:2016/06/24(金) 21:27:15.03 ID:Fo67yJqk.net
>>78
あなたがそう思うならばmysqliのを使用することをお勧めする必要があります。
私はあなたの愚かさを停止しないでください。

mysqliの方が高速
途中でDB変えるなんてありえない

81 :デフォルトの名無しさん:2016/06/24(金) 21:28:08.84 ID:6jwsLRlP.net
MySQLもいつまで使うかわからないからPDOに慣れた方がいいかもね

82 :デフォルトの名無しさん:2016/06/24(金) 21:28:13.38 ID:Fo67yJqk.net
>>79
Do you gaizin?

83 :デフォルトの名無しさん:2016/06/24(金) 21:29:52.71 ID:Fo67yJqk.net
MISU

Do you out people?

84 :デフォルトの名無しさん:2016/06/24(金) 21:31:44.13 ID:1oHte2Ua.net
>>82

You seems like a "gainin" rather than "gaizin".
You make me laugh much!

85 :デフォルトの名無しさん:2016/06/24(金) 21:32:12.74 ID:NRLOm1ol.net
>>72
>>73
解答ありがとうございます
今のところMySQLしか使うつもりはないのでMySQLiを使おうと思います
PDOとそれぞれ一長一短なのが良く分かりました

86 :デフォルトの名無しさん:2016/06/24(金) 21:34:23.95 ID:Fo67yJqk.net
>>84
I directory in not "gainin";

87 :デフォルトの名無しさん:2016/06/24(金) 21:34:55.26 ID:Fo67yJqk.net
最後なんでセミコロンにしたんだ
ドットな

88 :デフォルトの名無しさん:2016/06/24(金) 21:39:15.90 ID:1oHte2Ua.net
>>83

in your case, you have to use

x Do you
o Are you

Do you understand?

>>86

You have no sense of humor. awesome duck!

89 :デフォルトの名無しさん:2016/06/24(金) 21:46:15.68 ID:1oHte2Ua.net
>>81

わりぃ、見落としてた。

問題なのはMySQLをいつまで使うかじゃないんだ。
PDOはDBを使う上で必要な基本的な機能のみが揃っているってことだ。
だから、初心者はPDOを使うほうがDBに対する理解が早くなる。

その上で必要になったらネイティブ関数を使えばいいだけだ。

90 :デフォルトの名無しさん:2016/06/24(金) 21:52:37.68 ID:Fo67yJqk.net
Free server are mysql only.
Becouse mysql only study OK.

91 :デフォルトの名無しさん:2016/06/24(金) 22:02:43.97 ID:1oHte2Ua.net
>>90

I think that you should better to say below.

x Free server are mysql only.
o Many free server can use only mysql.

x Becouse mysql only study OK.
o That's because why I recommend that.

You must be taught from your mother who had graduated from T university or W university.

92 :デフォルトの名無しさん:2016/06/24(金) 22:11:09.02 ID:Fo67yJqk.net
俺の親英検1級持ってんのに何で俺だけ出来ねーんだ

93 :デフォルトの名無しさん:2016/06/24(金) 22:14:03.94 ID:1oHte2Ua.net
それはお前が白鳥の子である事を少しも理解せずに遊び呆けていたからだ。
白鳥が何故美しいのかをお前は考えた事があるのか?

94 :デフォルトの名無しさん:2016/06/24(金) 22:14:26.16 ID:es+Y6Nw5.net
とりあえず傍観してる

95 :デフォルトの名無しさん:2016/06/24(金) 22:17:55.32 ID:1oHte2Ua.net
>>92

$man = __SWAN;

__SWANが定義してなければエラー吐くだろ?

defineしろよ。しなければそこでNoticeだ。お前は今までNoticeを握りつぶしてきたんだろう。

96 :デフォルトの名無しさん:2016/06/24(金) 22:18:40.75 ID:1oHte2Ua.net
>>94

糞なTVショーより面白いだろ?

97 :デフォルトの名無しさん:2016/06/24(金) 22:26:53.65 ID:qTbX1cTa.net
プログラミングに詳しい方々がいると聞いて質問しにきました。
初心者なので説明力、知識が乏しいですが申し訳ありません。
私は、不特定多数の人が画像をサイト上のみで
「読み込み→編集→ダウンロード」を全てできる画像編集サイトを作ろうと思っていて、
色々調べている内にImageMagickと言うプログラムにたどり着きました。
ですが使い方などが全くわからず、説明されているサイトは全て英語でどうしようか思い悩んでいます。
現在xサーバーを利用していてホームページを取得しています。
xサーバーは公式で既にImageMagickがインストールされているということです。(この事についてもいまいち分かりません)
どなたか分かりやすく画像編集サイトの作り方を教えていただけませんでしょうか。
OSはwin7 64bitです。
本当に困っています。

98 :デフォルトの名無しさん:2016/06/24(金) 22:29:31.44 ID:1oHte2Ua.net
それはお困りですね。

> 説明されているサイトは全て英語でどうしようか思い悩んでいます。

すばらしい、では英語を勉強しましょう。実に簡単だし、世界共通言語と等価です。

ぜひ!

99 :デフォルトの名無しさん:2016/06/24(金) 22:35:14.06 ID:1oHte2Ua.net
この世界の絶対的な法則をお教えしましょう。よく読んで心得て下さい。

"Use your brain or pay your money as he said."

覚えておきましょう。

100 :デフォルトの名無しさん:2016/06/24(金) 22:50:25.50 ID:Fo67yJqk.net
>>97
多分PHPのプログラムは大した事ない
場合によっては、サーバーサイド言語は使わないくても出来る
ただ、JSの方が複雑になると思うから、JSスレで質問した方がいい

101 :デフォルトの名無しさん:2016/06/24(金) 22:53:02.42 ID:Fxh/SUOh.net
>>97
画像処理 (ImageMagick)
http://php.net/manual/ja/book.imagick.php

基本的な使用法
http://php.net/manual/ja/imagick.examples-1.php

102 :デフォルトの名無しさん:2016/06/24(金) 22:54:22.84 ID:es+Y6Nw5.net
>>99
何だかんだ、最先端の技術文献ってまず英語だもんな

103 :デフォルトの名無しさん:2016/06/24(金) 23:05:25.07 ID:qTbX1cTa.net
>>97
です
みなさまありがとうございます。
参考になりました!
js板にて聞いてきます!

104 :デフォルトの名無しさん:2016/06/24(金) 23:05:56.25 ID:1oHte2Ua.net
イメージマジックは先日致命的な脆弱性が見つかったばかりだったかな、確か。

105 :デフォルトの名無しさん:2016/06/24(金) 23:06:44.81 ID:1oHte2Ua.net
> js板にて聞いてきます!

素敵!

106 :デフォルトの名無しさん:2016/06/24(金) 23:35:02.36 ID:qTbX1cTa.net
>>97です
phpの方が簡単と言われました

107 :デフォルトの名無しさん:2016/06/24(金) 23:43:57.77 ID:1oHte2Ua.net
Hahaha, that's really amazing!

108 :デフォルトの名無しさん:2016/06/25(土) 00:05:08.71 ID:Y7imCRE6.net
>>106
あ、ごめん
マジで受け取っちゃたか
とりあえずIDくらい見る癖つけた方がいいよ
>>103の書き込みで初心者かと思ったらガチ初心者だった

109 :デフォルトの名無しさん:2016/06/25(土) 00:48:02.94 ID:RtO3ILRZ.net
サーバ側で処理っつっても
不特定多数にでかい画像を編集させたりすると
あっという間にサーバリソース枯渇するんじゃないか

110 :デフォルトの名無しさん:2016/06/25(土) 02:06:11.57 ID:NFDjTfBf.net
サーバサイドで画像編集なんてしようもんなら編集操作自体を非同期にサーバ側に通知/結果を取得せねばならん, 線を引くという指定ならばマウスの移動経路さえ必要だ
そんなもん作るくらいなら初めから編集操作は全部クライアントサイドでやって(既に誰か作って公開されてるに違いない)最終結果だけサーバサイドで処理する, これ以外の選択肢があるのか

111 :デフォルトの名無しさん:2016/06/25(土) 06:14:41.26 ID:q01GtCcP.net
前スレでSimpleXMLElementについて質問した者ですが
要素が空のインスタンスすら作れないことにイラッとして
自分でXMLクラス書いたら余程すっきり書けました
挿入や削除も出来るようにしたので配列にする必要もありませんし。
やっぱりSimpleXMLElementはイケてないです

112 :デフォルトの名無しさん:2016/06/25(土) 06:24:05.90 ID:SQhzEAbb.net
Simple想定の物で Simpleじゃないことをしようとしてるところが一番イケてないな。
でもイケてるクラスが出来たなら公開してくれよ。

113 :デフォルトの名無しさん:2016/06/25(土) 07:10:52.21 ID:EMJ+tt/R.net
God morning every ones and monkeys.
I had enjoyed enough last night. There's a really entertainment.

>>97

Well, you said that the WEB service for an unspecified number of people,
that means it create and modify a picture JPEG, PNG or GIF format at most, right?

In your purpose that you wrote,
you don't need learn the useage of ImageMagick and Imagick extension that enable to use ImageMagick in PHP.

Many PHP is compiled with GD, so you can use it.

http://php.net/manual/ja/book.image.php

Otherwise it is, for example, you wanna treat their images as PSD, TIFF, fuckin' BMP or other various format,
ImageMagick is surely good choice.

You seems better to think about it at first.

114 :デフォルトの名無しさん:2016/06/25(土) 07:29:35.57 ID:EMJ+tt/R.net
More information for user of ImageMagick.
Who above "must" read below.

https://www.jpcert.or.jp/at/2016/at160021.html

115 :デフォルトの名無しさん:2016/06/25(土) 07:32:44.63 ID:EMJ+tt/R.net
You seem か…

116 :デフォルトの名無しさん:2016/06/25(土) 08:26:17.90 ID:nVk9lY4N.net
だから言っただろ
を英語では何て言うんだ?

117 :デフォルトの名無しさん:2016/06/25(土) 08:52:31.30 ID:6hks73uR.net
I told you so.

118 :デフォルトの名無しさん:2016/06/25(土) 08:52:35.48 ID:x9ZpL4V5.net
お前らの博識をまとめ上げてくれ

119 :デフォルトの名無しさん:2016/06/25(土) 09:02:11.27 ID:MiNTH5Z/.net
>>116

say below.

"Are you a monkey that can't understand what I said ?"

120 :デフォルトの名無しさん:2016/06/25(土) 09:09:19.67 ID:Y7imCRE6.net
俺がJSの方がおすすめと言う
俺がPHPの方がおすすめと言う←イマココ

121 :デフォルトの名無しさん:2016/06/25(土) 09:18:35.29 ID:Y7imCRE6.net
そもそも初心者が画像編集作ろうとするなよ
初心者に出来る内容じゃない

122 :デフォルトの名無しさん:2016/06/25(土) 11:52:51.08 ID:OUHcYt/l.net
編集ってどの範囲のことを言ってるんだろう
拡大縮小ならimagecopyresizedとかかね

123 :デフォルトの名無しさん:2016/06/25(土) 13:58:24.92 ID:EB7Ipfva.net
中級者ってどの程度からと言えますか?

124 :デフォルトの名無しさん:2016/06/25(土) 14:10:48.78 ID:EMJ+tt/R.net
>>123

お前が「大分わかって来たな」と感じた時から、お前の中ではそうだろう。

125 :デフォルトの名無しさん:2016/06/25(土) 17:45:16.15 ID:SsSykaVs.net
>>113
> God morning
> every ones
> a really entertainment.
> it create and modify
> useage
> Many PHP is

126 :デフォルトの名無しさん:2016/06/25(土) 18:30:56.18 ID:EMJ+tt/R.net
そんな間違いあげつらっても意味ねえよ。
日本語ですらミスタイプなんて気にしねぇ2chではな。
とっくに気付いてるし、他にも色々あったろ?

127 :デフォルトの名無しさん:2016/06/25(土) 18:35:17.39 ID:IGrWHBep.net
>>126
少しは恥じろ

128 :デフォルトの名無しさん:2016/06/25(土) 18:37:15.53 ID:EMJ+tt/R.net
なんで?

129 :デフォルトの名無しさん:2016/06/25(土) 18:42:29.34 ID:SsSykaVs.net
英語の勉強スレじゃないんだからやめたら?

130 :デフォルトの名無しさん:2016/06/25(土) 18:42:39.59 ID:EMJ+tt/R.net
ちな、every onesはわざとな。
everyone and every monkeys ってのが冗長で嫌だったから分けた。
文法的にoneを使うのは間違ってねぇんじゃねぇか?
ネイティブじゃねえから知らんけど。

131 :デフォルトの名無しさん:2016/06/25(土) 18:43:25.34 ID:IGrWHBep.net
教えてあげないよ、ジャン!

132 :デフォルトの名無しさん:2016/06/25(土) 18:45:34.56 ID:EMJ+tt/R.net
下手くそな英語で書いたってお前は意味わかったんだから問題ねえじゃん。
ここ、なんのスレだと思ってんだよ、PHPだぞ。
そんなこまけえ事きにするタマか?

133 :デフォルトの名無しさん:2016/06/25(土) 18:47:37.70 ID:SsSykaVs.net
めっちゃ気にしてんじゃん。あなたが。

134 :デフォルトの名無しさん:2016/06/25(土) 18:50:09.44 ID:EMJ+tt/R.net
何を?

135 :デフォルトの名無しさん:2016/06/25(土) 18:52:14.35 ID:SsSykaVs.net
英語の間違いを。 >>115 とか。>>130のもおかしい。

136 :デフォルトの名無しさん:2016/06/25(土) 18:53:14.69 ID:IGrWHBep.net
制御系の説明文で英語を間違ったら会社が死ぬような環境を
想像しろ。文法エラーとミススペルは害悪だから、無条件で死ね。

137 :デフォルトの名無しさん:2016/06/25(土) 18:53:23.54 ID:EMJ+tt/R.net
俺はプログラマだからな。プログラミングにはこだわる。
お前は翻訳家かなんかか?

138 :デフォルトの名無しさん:2016/06/25(土) 18:57:18.65 ID:EMJ+tt/R.net
>>135

大して気にしてんぇからろくにチェックしねえで投げて後で気づいてんじゃん。
おまえの論理はいつもおかしいんだよ。

>>130は何がおかしいか言ってみてくれる?

139 :デフォルトの名無しさん:2016/06/25(土) 19:00:03.03 ID:EMJ+tt/R.net
>>136

じゃあお前、今後掲示板でミスタイプを一度でもしたら死刑な。
気をつけろよ、くれぐれもな。

俺はお前とは考え方が違うから関係ねぇけど。

140 :デフォルトの名無しさん:2016/06/25(土) 19:01:43.39 ID:SsSykaVs.net
>>138
とっくに気づいてた他の間違いにはなんでやんなかったの?
別に伝わるからいいけど。

141 :デフォルトの名無しさん:2016/06/25(土) 19:02:38.73 ID:EMJ+tt/R.net
誰か、Appleに言えよ。
「iPadは布団の中で使うには便利だが、ソフトウェアキーボードの使い勝手は最悪だ」って。

142 :デフォルトの名無しさん:2016/06/25(土) 19:04:22.50 ID:EMJ+tt/R.net
>>140
お前の中ではその言い分に論理性があんのか。サルはおもしれぇ考え方するな。

143 :デフォルトの名無しさん:2016/06/25(土) 19:06:23.48 ID:EMJ+tt/R.net
> とっくに気づいてた他の間違いにはなんでやんなかったの?

大して気にしてねぇからって言ったじゃん。
だから俺の胸先三寸だって事さ、おさるさん。

144 :デフォルトの名無しさん:2016/06/25(土) 19:07:03.50 ID:SsSykaVs.net
自己レスで訂正するぐらいだから、英語の練習でもしてんのかと思ってとりあえず見つかったものを書いてみただけだよ。
気にしないで。

145 :デフォルトの名無しさん:2016/06/25(土) 19:08:09.50 ID:IGrWHBep.net
>>141
日本語のソフトキーボードのことをなんで英語でアップルに言わないといけないの?

146 :デフォルトの名無しさん:2016/06/25(土) 19:10:18.82 ID:EMJ+tt/R.net
>>136は来週の月曜日早々に死刑になりそうな気がするw

147 :デフォルトの名無しさん:2016/06/25(土) 19:13:21.36 ID:IGrWHBep.net
馬鹿だから自動スペルチェックも知らないんだろ

148 :デフォルトの名無しさん:2016/06/25(土) 19:13:46.14 ID:EMJ+tt/R.net
>>144
気にしてねぇって何度言わせんだ?
お前らが気にして絡んで来るから答えてるだけなのわかんねぇの? おさるさん。

>>145
誰が英語で文句言えって言ったんだ?
お前の頭ん中に別の誰かでもいんのか?
それは病気だから医者行って薬もらって来い。

149 :デフォルトの名無しさん:2016/06/25(土) 19:15:17.09 ID:EMJ+tt/R.net
>>147
Yeah, yeah.
You are just fine.

150 :デフォルトの名無しさん:2016/06/25(土) 19:15:44.50 ID:SsSykaVs.net
じゃあ静かにするよ。
>>130は何がおかしいか言わずに逃げたな!みたいなこと言わないでね。たいしたことない間違いだから

151 :デフォルトの名無しさん:2016/06/25(土) 19:16:05.31 ID:IGrWHBep.net
>>148
だったらツイッターでアップルに直接言えばいいじゃん。あんた馬鹿?

152 :デフォルトの名無しさん:2016/06/25(土) 19:19:44.21 ID:EMJ+tt/R.net
>>151
こまけえ事気にしてるお前らが言えっていってるの、まだわからんの?
俺は気にしねぇから俺が言わなきゃいけない理由ねぇってまだわからんの?
お前の論理はどうしていつも変なの?

153 :デフォルトの名無しさん:2016/06/25(土) 19:22:12.18 ID:EMJ+tt/R.net
>>150
>>130は何がおかしいか言わずに逃げたな!

154 :デフォルトの名無しさん:2016/06/25(土) 19:24:26.66 ID:IGrWHBep.net
>>130
「every monkeys」
「every ones」
二つとも間違い。everyに対して複数形は使わない。

155 :デフォルトの名無しさん:2016/06/25(土) 19:31:00.61 ID:EMJ+tt/R.net
>>154
最初っからそういえば良いじゃん。
だからPHPのスレなのにスレチが伸びるんだよ。自覚しろ、サル。

でも覚えとく、ビクンビクン。
and thank you so much.

156 :デフォルトの名無しさん:2016/06/25(土) 19:32:04.75 ID:EMJ+tt/R.net
別人か。

157 :デフォルトの名無しさん:2016/06/25(土) 19:34:27.11 ID:IGrWHBep.net
>>155
お前みたいな日本人の恥さらしがいるから、トランプや幼稚園児に馬鹿にされるん
じゃないか。英語圏をなめるな。消え失せろ。

158 :デフォルトの名無しさん:2016/06/25(土) 19:37:49.58 ID:EMJ+tt/R.net
お前は英語圏なんだ。
なのになんで日本語の掲示板に来てわざわざ日本語つかってんの?
たかが英語じゃん、伝わればどうでも良いんじゃねぇの?

あと、お前、喋りすぎると死刑になる事忘れんなよ。

159 :デフォルトの名無しさん:2016/06/25(土) 19:41:40.11 ID:EMJ+tt/R.net
トランプは論点をすり替える事でしか他人を批判できない
卑屈で肝っ玉の小さい日本人が嫌いなんだってさ。知らんけど。

160 :デフォルトの名無しさん:2016/06/25(土) 19:47:45.98 ID:lwjgGQ+N.net
ID:EMJ+tt/R をNGで

161 :デフォルトの名無しさん:2016/06/25(土) 19:50:30.14 ID:EMJ+tt/R.net
卑屈で肝っ玉の小さいサルは現実から目を背けてろ、ハゲ!

162 :デフォルトの名無しさん:2016/06/25(土) 19:55:02.09 ID:EMJ+tt/R.net
今日の収穫はallとeachとeveryの用法の違いを覚えた事と、
やっぱりここはサルばかりだという再認識。

三谷幸喜、やっぱりサルばかりって番組つくらねぇかな…

163 :デフォルトの名無しさん:2016/06/25(土) 20:38:39.64 ID:x9ZpL4V5.net
サルをNGで平穏な日々

164 :デフォルトの名無しさん:2016/06/25(土) 20:51:06.14 ID:EMJ+tt/R.net
ああ、そうっすか、それは良かったですね。
いちいち言わないと自我が保てないっすか。

165 :デフォルトの名無しさん:2016/06/25(土) 21:13:04.23 ID:IGrWHBep.net
Hey you! Why did you come here?
This thread exists for Japanese programmers. English users are minority in here.

If you wanna study English more, here is unreasonable for English study, so please get out of here.

166 :デフォルトの名無しさん:2016/06/25(土) 22:00:47.38 ID:EMJ+tt/R.net
>>165

>This thread exists for Japanese programmers.

Hahaha, so, there is no problem. That's because I'm Japanese "computer" programmer

It's me who decide what here is. You don't need care about it.
Shut your mouth up and fix your shit code quietly.

Incidentally, native speakers hardly understand what the meaning of "programmer" you said.
In fact, my english teacher who is an anamerican could not understand what meaning does "programmer" that I said have.
You should better to say "computer" programmer.

167 :デフォルトの名無しさん:2016/06/25(土) 22:21:29.70 ID:SQhzEAbb.net
英語でも日本語でも好きな方を使えばいいが、スレに合った話をしような
ボク英語使えてスゴいんですー と言いたいだけじゃなけりゃな

168 :デフォルトの名無しさん:2016/06/25(土) 22:24:14.14 ID:EMJ+tt/R.net
>>167

スレに合った内容の >>113 に文句つけてきたのは
ID:SsSykaVs と ID:IGrWHBep なんだけど、
お前は日本語が読めない人?

サル島だな、本当にここは。

169 :デフォルトの名無しさん:2016/06/25(土) 22:30:17.60 ID:IGrWHBep.net
iPad使ってPHPプログラム打ってるのか? わいジャパニーズ?

170 :デフォルトの名無しさん:2016/06/25(土) 22:31:22.22 ID:EMJ+tt/R.net
>>169

Bepさんは本当に訳の分からない事ばっか言うからとても面白い。

171 :デフォルトの名無しさん:2016/06/25(土) 22:31:47.05 ID:SQhzEAbb.net
>>168
>>166 はスレに合った内容なの?
自分の書いてる内容も分からない人?

172 :デフォルトの名無しさん:2016/06/25(土) 22:34:21.01 ID:GZJ2skpS.net
>>168
ID:EMJ+tt/R
君はどこの国の人ですか?

173 :デフォルトの名無しさん:2016/06/25(土) 22:35:04.58 ID:EMJ+tt/R.net
>>171

返信ってのは、相手の書いた内容に対してするもんだが、
お前はスレの趣旨にあってなきゃ返信しないのか?

おまえのそのレスはスレの趣旨にどう係るんだ? ハゲ

174 :デフォルトの名無しさん:2016/06/25(土) 22:36:02.34 ID:EMJ+tt/R.net
>>172

俺がどこの人だか知りたい? そんなに気になる? >>131

175 :デフォルトの名無しさん:2016/06/25(土) 22:40:06.43 ID:OUHcYt/l.net
揚げ足取りなのは英語でも変わらんのだな

176 :デフォルトの名無しさん:2016/06/25(土) 22:41:17.51 ID:EMJ+tt/R.net
>>175
おまえらがアホみたいに脚を上げ過ぎるだけだ。
俺のせいじゃない。
いい加減に気づけ、猿人。

177 :デフォルトの名無しさん:2016/06/25(土) 22:43:14.39 ID:EMJ+tt/R.net
大体、使う言語で態度が変わる方がおかしいだろ。
>>175はどういう思考回路してんだ?
レクター博士に頭開いて脳みそ食べてもらえ。馬鹿が治るぞ。

178 :デフォルトの名無しさん:2016/06/25(土) 22:44:23.63 ID:GZJ2skpS.net
あっ・・・(察し)

179 :デフォルトの名無しさん:2016/06/25(土) 22:49:47.56 ID:EMJ+tt/R.net
さぁ、>>178が人種差別をしたくてウズウズし始めました。
面白そうだからじっくりと拝聴してみましょう。

180 :デフォルトの名無しさん:2016/06/25(土) 22:50:33.11 ID:EB7Ipfva.net
>>124
じゃああなたが思う中級者ってどの程度ですか?

181 :デフォルトの名無しさん:2016/06/25(土) 22:52:02.21 ID:IGrWHBep.net
同胞が貴方をサル呼ばわりしてすみません。
反省と謝罪を致しますので、許して下さい。

182 :デフォルトの名無しさん:2016/06/25(土) 22:53:47.84 ID:EMJ+tt/R.net
>>180
「自分は中級者だ」と思うやつに中級者はいねぇよ。
「自分はまだまだ全然ダメだ」と思い続けてる奴こそ、中級か上級か特級だ。

こんな答えでいいか?

183 :デフォルトの名無しさん:2016/06/25(土) 22:54:35.22 ID:EMJ+tt/R.net
>>181

Bepさんは本当に訳の分からない事ばっか言うからとても面白い。

184 :デフォルトの名無しさん:2016/06/25(土) 22:55:42.18 ID:OUHcYt/l.net
>>176
昨日からずっと見てたが、何でそんなにカリカリしてんだよ

185 :デフォルトの名無しさん:2016/06/25(土) 22:55:43.09 ID:EB7Ipfva.net
>>182
thanks!

186 :デフォルトの名無しさん:2016/06/25(土) 22:58:28.47 ID:EMJ+tt/R.net
>>184
なんでそんなに喜々としてるんだよって言えよ。

理由を書いておこう、サルと戯れるのは楽しい余興だからだ。

187 :デフォルトの名無しさん:2016/06/25(土) 23:00:12.66 ID:OUHcYt/l.net
>>186
悪いが楽しそうには見えない、不愉快だ
お前が出て行かないなら俺が出て行く

188 :デフォルトの名無しさん:2016/06/25(土) 23:00:55.78 ID:EMJ+tt/R.net
>>185
u are welcome.

189 :デフォルトの名無しさん:2016/06/25(土) 23:01:45.48 ID:EMJ+tt/R.net
>>187
>お前が出て行かないなら俺が出て行く

やった、ラッキー! 祝杯をあげないとな。酒買ってくるか。

190 :デフォルトの名無しさん:2016/06/25(土) 23:03:31.68 ID:aOO0yOI1.net
誰だよID強制なら変なの沸かないなんて幻想みてこっちに移動推奨したやつは?
WebProgにあったころよりひでえじゃねーか

191 :デフォルトの名無しさん:2016/06/25(土) 23:07:24.38 ID:EMJ+tt/R.net
>>190

>>190

ああ、勿論そうだ。
IDが出るってことは、お前らも自分の主張が正しいのかを試されるってこった。
良い奴だろうが根性が曲がってる奴だろうが、
論理的で正しい奴が幅を効かせる本当にシビアな世界になった。

残念だったな、お前の思うとおりに成らなくて。もっと精進しろってことだ。

192 :デフォルトの名無しさん:2016/06/25(土) 23:10:35.81 ID:NFDjTfBf.net
ワッチョイIP導入かね

193 :デフォルトの名無しさん:2016/06/25(土) 23:14:37.81 ID:NFDjTfBf.net
あぁ, どうせなら>>1-3のテンプレの内容も併せて議論しておきたいな

PEARやらSmartyやらへのリンクはもう要らないだろうし, ComposerやPSRへのリンクは導入したい

194 :デフォルトの名無しさん:2016/06/25(土) 23:16:15.82 ID:EMJ+tt/R.net
>>193
don't dreamin'. do it.

195 :デフォルトの名無しさん:2016/06/25(土) 23:17:58.69 ID:EMJ+tt/R.net
必ずTwig様へのリンクを入れろよ。

196 :デフォルトの名無しさん:2016/06/25(土) 23:20:23.03 ID:D+iRC7xS.net
ID真っ赤にして「俺は英語出来ますよ」アピールしているキチガイが一匹か

197 :デフォルトの名無しさん:2016/06/25(土) 23:23:16.84 ID:EMJ+tt/R.net
と、自分を納得させることでなんとか自我を保つ ID:D+iRC7xS であった。

198 :デフォルトの名無しさん:2016/06/25(土) 23:27:38.18 ID:zF7ZRL+C.net
>>194
続けて

199 :デフォルトの名無しさん:2016/06/25(土) 23:32:49.07 ID:EMJ+tt/R.net
>>198
何を?

200 :デフォルトの名無しさん:2016/06/25(土) 23:34:09.94 ID:D+iRC7xS.net
ID:EMJ+tt/Rが見えないンゴwwwwwwwwwwwwww

201 :デフォルトの名無しさん:2016/06/25(土) 23:34:11.73 ID:zF7ZRL+C.net
>>199
go on

202 :デフォルトの名無しさん:2016/06/25(土) 23:36:55.96 ID:EMJ+tt/R.net
so, what?

203 :デフォルトの名無しさん:2016/06/25(土) 23:38:07.36 ID:EMJ+tt/R.net
見えない自慢はどうでもいいよ、寝てろサル

204 :デフォルトの名無しさん:2016/06/25(土) 23:38:46.81 ID:EMJ+tt/R.net
>>198はさ、

don't dreamin'. do it.

で完結してるってことが分からない馬鹿なの?

205 :デフォルトの名無しさん:2016/06/25(土) 23:39:22.99 ID:DimbJFTY.net
夏だな・・・

206 :デフォルトの名無しさん:2016/06/25(土) 23:40:29.40 ID:zF7ZRL+C.net
>>204
Come on

207 :デフォルトの名無しさん:2016/06/25(土) 23:42:16.66 ID:EMJ+tt/R.net
なんか、自分がアホな事言ってることが理解できないアホしかいなくなってきたな。
寝るか…

208 :デフォルトの名無しさん:2016/06/25(土) 23:42:51.76 ID:zF7ZRL+C.net
>>207
Can you here me?

209 :デフォルトの名無しさん:2016/06/25(土) 23:45:25.99 ID:EMJ+tt/R.net
>>198
お前はアホだから
https://www.youtube.com/watch?v=_ItAGUaLNFE
の2:40あたりを観て糞して寝ろ。

俺は布団に入る。

210 :デフォルトの名無しさん:2016/06/25(土) 23:46:56.72 ID:zF7ZRL+C.net
>>209
Fuck your night

211 :デフォルトの名無しさん:2016/06/25(土) 23:50:39.69 ID:D+iRC7xS.net
日付変わる前にコテ付けろよ
NG毎日するのは面倒だから

212 :デフォルトの名無しさん:2016/06/25(土) 23:50:49.43 ID:IGrWHBep.net
74: デフォルトの名無しさん [sage] 2016/06/25(土) 23:40:05.95 ID:IGrWHBep

さすがにサル呼ばわりは名誉毀損罪又は侮辱罪に相当するから、立派な犯罪行為ですなあ。
被害届出して裁判所行けば、前科者にできますな。
一度、管理人と相談してみましょう。態度が直らない場合はbanも容赦しないということで。

http://echo.2ch.net/test/read.cgi/tech/1456638931/74

213 :デフォルトの名無しさん:2016/06/25(土) 23:58:08.60 ID:zF7ZRL+C.net
>>209
Long goodby monkey.

214 :デフォルトの名無しさん:2016/06/25(土) 23:59:04.59 ID:EMJ+tt/R.net
名誉毀損は誰であるか分かる人を侮辱してるから成立するわけだが、
この中に自分が誰であるか示した奴はいるのか?
誰であるかわからねぇ奴の名誉って、なんだ?
誰であるかわからねぇ奴が侮辱された事をどう立証するんだ?

215 :デフォルトの名無しさん:2016/06/25(土) 23:59:16.36 ID:SsSykaVs.net
>>211
そういうわけで、ワッチョイスレが作られた。
NGできるからWebProg時代よりはるかに楽にはなってるけどね。

【PHP】下らねぇ質問はここに書き込みやがれ 5 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1462971286/

別に彼もワッチョイに否定的なわけでもないだろうと思う。

216 :デフォルトの名無しさん:2016/06/26(日) 00:02:11.87 ID:VEieeoHd.net
>>214
などと意味不明な供述を繰り返しており、

217 :デフォルトの名無しさん:2016/06/26(日) 00:04:52.95 ID:cUVy9BqO.net
71-74まで、自分全部Bepさんじゃねぇか。
本当に何するにしても面白い人だな。
さすがPHPerだけの事はある。

218 :デフォルトの名無しさん:2016/06/26(日) 00:06:11.43 ID:cUVy9BqO.net
>>216
分からねえのはお前だけだよ。

219 :デフォルトの名無しさん:2016/06/26(日) 00:23:04.34 ID:VEieeoHd.net
>>214
それは被害者が泣き寝入りした場合だよね。
もし被害者が被害届を出したら、通信記録から簡単に特定できるよね。

220 :デフォルトの名無しさん:2016/06/26(日) 02:06:38.51 ID:lAdEU/n1.net
文字列を任意回数繰り返すにはどうするのが一番いいですか?
str_padで文字列を指定できれば良かったのですが

221 :デフォルトの名無しさん:2016/06/26(日) 02:08:15.43 ID:GzysfS14.net
str_repeat

222 :デフォルトの名無しさん:2016/06/26(日) 02:16:05.73 ID:lAdEU/n1.net
>>221
こんな関数はじめて知りました
さすがPHPですね
ありがとうございます

223 :デフォルトの名無しさん:2016/06/26(日) 06:56:42.58 ID:cUVy9BqO.net
はい、おはようさん。

>>219

俺はお前らがアホな事を言った後に、行った奴に対してサルと言っているが、
>>172 ID:GZJ2skpS
>>178 ID:GZJ2skpS
>>181 ID:IGrWHBep
は、俺を貶めるために全く関係のない人たちをやり玉に挙げた。

彼らが泣き寝入りしてくれるといいな。

224 :デフォルトの名無しさん:2016/06/26(日) 07:05:26.65 ID:cUVy9BqO.net
なぁ、それで一晩たってもよく分かんなかったから聞きたいんだが、
こいつ、何で独り言つぶやいてんの? 誰と話してんの?
なんか、俺の知らない変なルールでも2chにはあるの?


http://echo.2ch.net/test/read.cgi/tech/1456638931/

71 : デフォルトの名無しさん2016/06/25(土) 23:21:22.54 ID:IGrWHBep
PHPスレに英語好きで陰湿な人が棲み付いたみたい。
人を見たらサル呼ばわりするような性格がひね曲がった人みたい。
英語ネイティブを気取ってるけど、綴り間違いが多くて怪しい。

72 : デフォルトの名無しさん2016/06/25(土) 23:26:34.03 ID:IGrWHBep
奴は手当たり次第、通行人を傷付けているようだ。
事案として認定する。

73 : デフォルトの名無しさん2016/06/25(土) 23:27:21.77 ID:IGrWHBep
あげ

74 : デフォルトの名無しさん2016/06/25(土) 23:40:05.95 ID:IGrWHBep
さすがにサル呼ばわりは名誉毀損罪又は侮辱罪に相当するから、立派な犯罪行為ですなあ。
被害届出して裁判所行けば、前科者にできますな。
一度、管理人と相談してみましょう。態度が直らない場合はbanも容赦しないということで。

225 :デフォルトの名無しさん:2016/06/26(日) 07:18:16.07 ID:cUVy9BqO.net
逆に、一晩たってやっと分かったこともある。

208 : デフォルトの名無しさん2016/06/25(土) 23:42:51.76 ID:zF7ZRL+C
>207
Can you here me?

は「このサル何言ってんだ?」と訝しんでたが、

Can you hear me?

って言いたかったのか。聞こえてたよ、心配すんな。

226 :デフォルトの名無しさん:2016/06/26(日) 08:02:58.51 ID:gRCwi37J.net
ID真っ赤にしてアホか

227 :デフォルトの名無しさん:2016/06/26(日) 08:10:46.73 ID:cUVy9BqO.net
>>226
発言内容ではなくIDの色が何であるかの方が気になる価値観のおかしい奴の評価なんか知らねぇよ。
無駄に目覚めずに明日まで寝てろ。

228 :デフォルトの名無しさん:2016/06/26(日) 09:48:21.22 ID:Jc5W4PmG.net
お里が知れるな

229 :デフォルトの名無しさん:2016/06/26(日) 10:38:03.81 ID:gRCwi37J.net
頭おかしい

230 :デフォルトの名無しさん:2016/06/26(日) 10:49:07.71 ID:cUVy9BqO.net
>>228
よし、俺のお里を言ってみろ。

>>229
You said "I'm insane", that's what a self-introduction
, right?

231 :デフォルトの名無しさん:2016/06/26(日) 10:53:40.78 ID:uDQdGyjV.net
>>223
他人を人間扱いせずサル呼ばわりする差別主義者のID:cUVy9BqOさんよ
彼らって誰?

232 :デフォルトの名無しさん:2016/06/26(日) 10:59:46.38 ID:cUVy9BqO.net
>>231
自分たちの仲間を「同胞」と呼び常に「反省と謝罪」を求める民族が
お前が今考えている者の他にあるなら説明してみろよ、ハゲ。
思い当たる者がいないのなら、おまえはもう少し新聞呼んだりニュース見たりしろ、サル。

お前としてはどっちの罵声が嬉しいんだ?

233 :デフォルトの名無しさん:2016/06/26(日) 11:04:33.00 ID:cUVy9BqO.net
>>231
そういうお前の態度を卑屈で肝っ玉が小さいと言ってるんだよ、おさるさん。

234 :デフォルトの名無しさん:2016/06/26(日) 11:10:23.89 ID:uDQdGyjV.net
差別主義者のID:cUVy9BqOさんよ、答えになってねーよ
自分がする差別は許されて、他人からの差別は許さないんだ
論理矛盾しているよな?

235 :デフォルトの名無しさん:2016/06/26(日) 11:16:16.99 ID:cUVy9BqO.net
おれは別に差別なんてしてないが?
おまえは何か勘違いしてんじゃねぇのか?

236 :デフォルトの名無しさん:2016/06/26(日) 11:18:18.37 ID:4jUOs5zQ.net
php関係ないから余所でしてくれ

237 :デフォルトの名無しさん:2016/06/26(日) 12:02:40.89 ID:gRCwi37J.net
ID:cUVy9BqOはチョン

238 :デフォルトの名無しさん:2016/06/26(日) 12:03:08.19 ID:9G4pt3CC.net
すごいエスパーな質問で申し訳ないのですが、
simple_html_domで複数のHTMLファイルをループで展開しているときに処理が中断されてしまいます
例えば5回ループしているのに3回〜4回(ファイルによって変動)までしか処理されないという感じです
手元のxampp環境だと特にそういうことはなく、無料のレンタルサーバ上でのみ発生しています
処理時間がかかりすぎることによる中断やメモリ関係でしょうか?

239 :デフォルトの名無しさん:2016/06/26(日) 12:31:06.59 ID:5w6IpmHO.net
>>238
時間制限なりメモリ制限なりの可能性はあるけど、その場合はログになんか出てると思うよ

240 :デフォルトの名無しさん:2016/06/26(日) 17:09:39.09 ID:9G4pt3CC.net
>>239
ログには何にも出ていないっぽいんですよね...
echo で調べていくと、perseあたりで止まってるのですが、
echoで表示する文字が増えてると止まる場所が変わっているのでやっぱりメモリ制限かな

241 :デフォルトの名無しさん:2016/06/26(日) 18:37:36.69 ID:lAdEU/n1.net
指定した文字列の指定数の配列を作るには

array_pad([],$num,'%s')

みたいにするしかないですか?
もっといい方法ありますか?

242 :デフォルトの名無しさん:2016/06/26(日) 19:00:38.94 ID:wMYGyLfw.net
$a = array_fill(5, 6, 'banana');

243 :デフォルトの名無しさん:2016/06/26(日) 19:04:28.34 ID:wI6dOEd4.net
webアプリ晒せる場所ってあります?

244 :デフォルトの名無しさん:2016/06/26(日) 19:14:27.04 ID:lAdEU/n1.net
>>242
そんな関数があったんですね
その方がいいですね
ありがとうございました

245 :デフォルトの名無しさん:2016/06/26(日) 19:34:46.45 ID:VEieeoHd.net
>>243
Webサーバーレンタルで検索

246 :デフォルトの名無しさん:2016/06/26(日) 19:34:49.04 ID:wMYGyLfw.net
>>243
試験利用であればAzure App ServiceのFreeプランとか

247 :デフォルトの名無しさん:2016/06/26(日) 20:02:51.54 ID:wI6dOEd4.net
>>245
>>246
説明不足ですいません。
自作したwebアプリを宣伝したいという意味です

248 :デフォルトの名無しさん:2016/06/26(日) 20:10:33.21 ID:VEieeoHd.net
>>247
検索エンジンなどに登録してSEO対策、ニュースメディアに公開

249 :デフォルトの名無しさん:2016/06/26(日) 21:05:33.10 ID:cUVy9BqO.net
>>247
どんなんか見してみ。評価してやるから。

250 :デフォルトの名無しさん:2016/06/26(日) 21:17:50.05 ID:gRCwi37J.net
>>244
バナナ関数��

251 :デフォルトの名無しさん:2016/06/26(日) 21:35:46.24 ID:wI6dOEd4.net
>>248
ありがとうございますく(`・ω・´)

>>249
(´ε`;)

252 :デフォルトの名無しさん:2016/06/26(日) 21:47:20.46 ID:lAdEU/n1.net
外から来た値をシェルコマンドに嵌める場合
escapeshellcmdしてからescapeshellargするのでしょうか?
今までescapeshellargだけしていたのですが、
これだと&がエスケープされないことに気付きました
ただ何故か&を含むファイルも作成されていますが・・

253 :デフォルトの名無しさん:2016/06/27(月) 00:15:53.23 ID:xiGAouKM.net
>>252の件ですが
''で囲んだ場合は&をエスケープする必要がなくなるので、
むしろescapeshellcmdをかけたら駄目でした

254 :デフォルトの名無しさん:2016/06/27(月) 02:44:12.79 ID:dp+rrPkw.net
凄いことに気付いてしまった!
『やれや』って遠くからみると『PHP』に見える!

255 :デフォルトの名無しさん:2016/06/27(月) 07:18:24.48 ID:7SnbuDcX.net
そんな、なんでも通るような処理書くんじゃなくて
ブラックリストやホワイトリストで制御した方がいいんじゃねぇかなと思うんだが、
まぁ、行っても無駄だろう…

256 :デフォルトの名無しさん:2016/06/27(月) 11:36:32.03 ID:ECdSBHnJ.net
ワードプレスで作られたサイトって
表示させる文字の位置とか、カラムの入れ替えとか、
オリジナルの機能(検索等)
どうしてるんですかね?
プラグインやテンプレートでの調整では限界があるので
結局直接ソースをいじることになるのですが
こうなってくるとワードプレス使うより
平で、phpで1から作ったほうが自由度高いやんってなってくるんですが
それでもワードプレスで作る人は多く、
会社でも「ワードプレス案件」とかいってあえて
ワードプレスで作ったりするところもあります。
CMSはどうやって自由度をあげてるのでしょうか?

257 :デフォルトの名無しさん:2016/06/27(月) 13:42:05.02 ID:adON55CR.net
>>256
>表示させる文字の位置とか、カラムの入れ替えとか、
>オリジナルの機能(検索等)
>どうしてるんですかね?

それぐらいは、テンプレート改造でどうにも出来るよ。
質問の内容が初級レベルだから、シッカリ検索しようね

258 :デフォルトの名無しさん:2016/06/27(月) 14:24:58.13 ID:kjXwVk2Z.net
>結局直接ソースをいじることになるのですが

これってWordPressのアップデートで上書きされるんじゃない

259 :256:2016/06/27(月) 15:28:51.87 ID:ECdSBHnJ.net
>>258
そうなんですよ。
だからなおさら WordPressでの制作がやりづらくて・・・。
テンプレート改造をしてても、かゆいところに手がと説かないというか
結局ハードコーディングだらけで管理画面からいじっても反映されなく鳴ってしまう。

260 :デフォルトの名無しさん:2016/06/27(月) 15:46:54.68 ID:S3kzmj/t.net
WordPressスレ行ってくれ

261 :デフォルトの名無しさん:2016/06/27(月) 16:06:04.21 ID:kb5xfNcl.net
設計能力がないからCMS使うんじゃね。

262 :デフォルトの名無しさん:2016/06/27(月) 17:52:23.92 ID:adON55CR.net
>>260

すまん、一言だけ云わせてくれ!


>>259

だから、functions.phpがあるんだろー
ここで、オーバーライドしろよー

263 :デフォルトの名無しさん:2016/06/27(月) 18:01:33.32 ID:ulCGjLYQ.net
なんだこの臭さ

264 :デフォルトの名無しさん:2016/06/27(月) 18:28:46.12 ID:xiGAouKM.net
phpのハッシュテーブルってどのくらいの大きさなんですか?
また実行中にそのサイズが変化することもあるのでしょうか?

265 :デフォルトの名無しさん:2016/06/27(月) 18:35:45.16 ID:3heDpCFy.net
私のメンターになってくださる方を大募集中です!!!!!!!!!

266 :デフォルトの名無しさん:2016/06/27(月) 18:51:39.02 ID:7SnbuDcX.net
>結局ハードコーディングだらけで管理画面からいじっても反映されなく鳴ってしまう。

それはお前の能力の問題。管理画面で設定するように、結構簡単に出来る。

勿論、Wordpressがダメなのはお前が言っている通り。
前にも言ったが、WPはCMSではない。ただのブログシステム。
使っている言語は確かにPHPだが、あれはPHPではなくてWordpressという言語。

それでもWP案件が多いのは結局のところ、
ユーザーはそんなに難しい物を求めていないということ。

だからWP使えますっていう、
システムのことをろくに知らないけどちゃんとしたデザイナーは抱えているWEB屋が巷の案件をかっさらっていく。
それに対抗するにはシステム屋もその流儀に合わせる必要があったからだ。

デカイ案件はJavaやC#あたりが使われるので、
元々PHP向けだった案件はWordpressに食われた。

だから周りはローディングアイコンがくるくる回るサイトばかりになったというわけだ。

ちなみに「ユーザーはそんなに難しい物を求めていない」のは事実なんだが、
いざ開発が始まるとアレも欲しいこれも欲しいと言い出すので、
下手にWPで受けると確実に回収できない。

俺の大好きなオーダーメイドジュエリーショップがWPで構築されているのが我慢のならない今日この頃だ。

267 :デフォルトの名無しさん:2016/06/27(月) 18:58:03.11 ID:7SnbuDcX.net
よし、ここは敬意を込めて
ID:ECdSBHnJ のことをバイト君と呼ぼう。

268 :デフォルトの名無しさん:2016/06/27(月) 21:58:15.97 ID:YE6O36Dw.net
PHPCakeを読めばあなたもハッカーになれます

269 :デフォルトの名無しさん:2016/06/28(火) 10:20:47.88 ID:yXQ8/50V.net
メンター募集中です!時給は730円からです。

270 :デフォルトの名無しさん:2016/06/28(火) 13:29:17.16 ID:B2uuEZAu.net
嫌です

271 :デフォルトの名無しさん:2016/06/28(火) 14:46:37.15 ID:fr3JVVZf.net
最低時給で募集とか事業者として恥ずかしくないのか

272 :デフォルトの名無しさん:2016/06/28(火) 15:54:38.93 ID:yf0hDcB5.net
PHPに限ったことじゃないんですが、
みんな技術的な勉強ってどんなふうにしてるんでしょうか?
というのも本読んでみても、書いてあることが理解できなかったり
なんとなくは分かったが、結局それがどういうメリットをもたらすのか
よくわからなかったりとかしてなかなか吸収できなかったりします。

ライトニントークで難しいことを言ってる上級プログラマでも、
最初は hello world から始まった(おそらく)わけで
そのあと、どういう勉強法を経て上級者になっていったのでしょうか?
勉強する上で大事な心構えはなんなのでしょうか?

273 :デフォルトの名無しさん:2016/06/28(火) 15:56:20.90 ID:gJNhZueS.net
PHPメインで事業をおこす場合は手続き上は何業にするといいの?
プログラマー?
WEBアプリ制作業?

274 :デフォルトの名無しさん:2016/06/28(火) 15:59:35.67 ID:IaLJXX4A.net
客から受ける仕事内容によるんだろうけど
プログラマーってことはないだろう

275 :デフォルトの名無しさん:2016/06/28(火) 16:17:47.24 ID:B2uuEZAu.net
>>272

多分だけど、原書のリファレンスを頑張って読んでいるだと思うよ。
リファレンスさっぱりの人は、PHPの絵本とか自分のレベルにあった教則本読んで、
最終的にリファレンスを半分以上読み込んでいるだと思う。

276 :デフォルトの名無しさん:2016/06/28(火) 16:18:06.28 ID:vwMyrAmM.net
プログラマーって他の職種からバカにされる職種だよな
汚い臭い変態で犯罪予備軍ってイメージ
あと貧乏

277 :デフォルトの名無しさん:2016/06/28(火) 16:19:27.60 ID:wzNrcJ7f.net
なんの手続きだ。情報通信業、システム開発業あたりか

>>272
少し前に、それまでほぼ全く使ったことがなかった言語の小さい案件をやった
リファレンスの類を読みまくって、
やりたいことに関係する事例・サンプルの意味を理解できるまで細かく調べた
あとはやりたいことを設計して設計して設計して、書いただけ
ハウツー系の本もハウツー系のサイトも基本的に不要、リファレンスが大事、と思う

278 :デフォルトの名無しさん:2016/06/28(火) 16:42:09.27 ID:gJNhZueS.net
ありがとうございます。プログラマーはやめておくかな。

>>277
税務署に出す個人事業の開業届です。

279 :デフォルトの名無しさん:2016/06/28(火) 16:45:06.61 ID:wzNrcJ7f.net
>>278
情報通信業 > 情報サービス業 > ソフトウェア業
だと思うけど、税務署に電話すればさっくり教えてもらえるから電話すべし

280 :デフォルトの名無しさん:2016/06/28(火) 17:02:42.56 ID:gJNhZueS.net
>>279
的確なアドバイスありがとうございます。
税務署に相談してみます。

281 :デフォルトの名無しさん:2016/06/28(火) 17:11:51.97 ID:4uPkxyfr.net
個人ならソフトウェア開発でいいんじゃないかな

282 :デフォルトの名無しさん:2016/06/28(火) 17:56:26.77 ID:pwYFzlu8.net
>>272
パーフェクトPHPとPHP逆引きレシピ第2版を読み込め!
そしてPHPマニュアルの内容を丸暗記だ!!!

283 :デフォルトの名無しさん:2016/06/28(火) 18:24:00.76 ID:203MKP8O.net
>>269
学生バイトなら来るんじゃね

284 :デフォルトの名無しさん:2016/06/28(火) 19:00:01.41 ID:pdViSLjz.net
>>272
作りたいものを作るためにどうやればいいかを勉強
→これだと知識に偏りがでるのでたまにリファレンスなどを読む

これでOKです

285 :デフォルトの名無しさん:2016/06/28(火) 19:02:15.95 ID:lZNBa9aJ.net
今のところまともに使えるのがPHPだけなんだけど他のスクリプト言語も習得した方がいいのかな?PythonとかRubyとか

286 :デフォルトの名無しさん:2016/06/28(火) 19:04:50.07 ID:5oY9RnSB.net
正直、同じスクリプト言語勉強してもあんま意味ないとおもうけどな。
PHPが気持ち悪いところは、他の言語にある機能をかたっぱしから取り込んじゃうことなので、
わざわざ他のスクリプト言語を特別な理由なく勉強する意味ないと思う。

CとかHaskellみたいな、全く毛並みが違う言語のほうがいいんじゃねぇかな。
Cでメモリ自分で管理するの、結構楽しいぞ。はえーし。

287 :デフォルトの名無しさん:2016/06/28(火) 19:12:19.89 ID:pdViSLjz.net
php5のオブジェクト指向は他の言語と比べて遜色のないものなので
オブジェクト指向で書けてるなら、rubyもpythonもあんまり違いはないと思います
やってみても損はないとは思いますが

288 :デフォルトの名無しさん:2016/06/28(火) 19:17:56.26 ID:lZNBa9aJ.net
他のスクリプト言語を学びたい理由は、
機械学習やOpenCVなどでよくPythonが使われているのと、数あるPHPフレームワークがRailsの影響を受けているっていう話を聞いたからなんや

確かに、PHPで作りたいwebアプリは全てカバーできるとは思う

289 :デフォルトの名無しさん:2016/06/28(火) 19:21:01.94 ID:pwYFzlu8.net
君たちのおすすめのリファレンスを教えてもらおうか

290 :デフォルトの名無しさん:2016/06/28(火) 19:28:17.72 ID:5oY9RnSB.net
>数あるPHPフレームワークがRailsの影響を受けているっていう話を聞いたからなんや

それが大失敗だったんだけどな。

291 :デフォルトの名無しさん:2016/06/28(火) 19:28:51.05 ID:203MKP8O.net
PHPは標準ライブラリがオブジェクト指向じゃないからな

292 :デフォルトの名無しさん:2016/06/28(火) 19:47:48.54 ID:5oY9RnSB.net
それがなんか関係有るのか? この話と

293 :デフォルトの名無しさん:2016/06/28(火) 20:10:31.33 ID:pdViSLjz.net
重要なのは個別の言語よりも、そこに現れている思想だと思います
そういう意味で今はAIなどが気になっていますが
phpとAIは何か遠い気がしますね

294 :デフォルトの名無しさん:2016/06/28(火) 20:21:12.89 ID:yf0hDcB5.net
下らねえ質問だと思うのですが
オブジェクト指向でクラスをいっぱいつくったら
複数のクラスを同時に使う場合、
newをいっぱいかくもんなんですか?

$instance_A = new A_class
$instance_B = new B_class
$instance_C = new C_class
$instance_D = new D_class
みたいな。

295 :デフォルトの名無しさん:2016/06/28(火) 20:26:15.51 ID:203MKP8O.net
>>294
時と場合による
複数のオブジェクトがセットなら配列使う

296 :デフォルトの名無しさん:2016/06/28(火) 20:31:13.96 ID:5oY9RnSB.net
そんなクソみたいになる設計しないが、
やるならDIだろう。

297 :デフォルトの名無しさん:2016/06/28(火) 20:50:11.69 ID:S/9ffm6u.net
PHPの仕事してる人ってどんな内容の事してるの?
コーディングだけではないよね?
どの程度であれば仕事にできる?
半年やってきたんですが勉強のモチベーション上げるのために教えて下さい

298 :デフォルトの名無しさん:2016/06/28(火) 21:54:28.05 ID:pwYFzlu8.net
>>297
PHPは何でも作れるんやで

299 :デフォルトの名無しさん:2016/06/28(火) 21:56:16.55 ID:pqvv4jkC.net
>>294
基本はそうだよ

300 :デフォルトの名無しさん:2016/06/28(火) 22:35:41.51 ID:e/PoWN9v.net
PHP歴3ヶ月弱の初心者です。
前任者の方が作ったらしいPHPのソースファイルをいただいたのですが
以下のような構造のコードがありました。(実際にはもっと複雑なコードです)

 ■index.php
 switch($fruit){
 case 'Apple'
   require("apple.php");
   break;
 case 'Orange'
   require("orange.php");
   break;
 }
 echo MyFunc();

 ■apple.php
 function Foo(){ return 'りんご'; }

 ■orange.php
 function Foo(){ return 'みかん'; }

条件分岐により異なるphpファイルを読み込み、
そこで同名の関数を定義して、分岐を抜けたところでその関数を呼んでいます。

おそらく前任者は、オブジェクト指向のポリモーフィズムみたいなことをしたいのかな?と思うのですが、
・条件分岐で別ファイルを読み込む
・別ファイルで同名の関数を定義して呼び分ける
というのは、それなりによくある記述方法なのでしょうか?

よくある場合、ソースファイルの最初で他のファイルを読み込んで
派生クラスを作ような記述に比べ、どのようなメリットが有るのでしょうか

301 :デフォルトの名無しさん:2016/06/28(火) 22:54:19.84 ID:ZQq+IliM.net
>>300
割とよく見かける気がするが, 書く側が能力不足なだけで何のメリットもない

302 :デフォルトの名無しさん:2016/06/28(火) 22:58:00.26 ID:GoZd+caM.net
>>300
よくあることかは分からんが、仕様や思想が明確になってるのであれば問題無いんじゃね。
クラスの多重継承みたいなことをやりたい場合に使えるかもね。

303 :デフォルトの名無しさん:2016/06/28(火) 23:35:00.92 ID:4sSl9cCN.net
普通、そんな面倒なことはしない

複数人で開発する際、ファイルを分けた方が、やりやすいとか?

304 :デフォルトの名無しさん:2016/06/28(火) 23:50:36.61 ID:jC8Cjp2x.net
>>300
ステートパターンみたいなことを関数で実現しただけでありがちとは思う。
特にアンチパターンでもないだろうし。
ステートパターンなら親子関係である派生クラスを作るより、
並列したクラスの委譲か、関数(ファイル)の切り替えの方がいいだろうね。

305 :デフォルトの名無しさん:2016/06/29(水) 00:18:18.88 ID:0agFNvvs.net
>>300
どうしても何かメリットを挙げろと言われれば、ほんのわずかにパーサの負荷が軽減される

306 :uy ◆e6.oHu1j.o :2016/06/29(水) 01:28:01.61 ID:XGWq+m9j.net
php filetype:bak
↑これでググると本来みえちゃいけないソースコードいっぱい出てくる

サーバーサイドのソースコード公開しながら鯖運営するアホ

ペチパーは低学歴しかいない

307 :デフォルトの名無しさん:2016/06/29(水) 02:19:50.06 ID:GGM+WiYl.net
>>300
ポリモーフィズムをやりたったけど
オブジェクト指向を知らなかったんやろね

308 :uy ◆e6.oHu1j.o :2016/06/29(水) 03:17:22.14 ID:XGWq+m9j.net
>>300
ただの初心者が書いたソースコードだから今すぐ捨てたほうが良い
requireはファイルの行頭に全部まとめる事が大事
途中requireなんて普通に設計してたらそんな事にならない

どうしてもそういう事やるなら
ディレクトリ構造で、途中requireのファイルを別Dirに置いてるならギリギリ許すレベル これ以外は無理
./index.php
./_include/apple.php
./_include/orange.php

309 :デフォルトの名無しさん:2016/06/29(水) 03:30:10.25 ID:V8sGR9Q5.net
>>308
> requireはファイルの行頭に全部まとめる事が大事
なんだそりゃ

310 :uy ◆e6.oHu1j.o :2016/06/29(水) 03:36:40.22 ID:XGWq+m9j.net
>>309
「なんだそりゃ」では、いったいどのレベルにいるか検討が付かないから
そのまま放置されるよ

311 :デフォルトの名無しさん:2016/06/29(水) 03:43:17.82 ID:BN6nx0uJ.net
今時requireなんてつかわんでそ

312 :デフォルトの名無しさん:2016/06/29(水) 03:46:49.95 ID:bToL6k7W.net
>>300
その説明だけだとなんとも言えないところだが、とりあえず、
こいつらアホばっかだから、あんまりマトモに話を聞かない方が良いと思うぞ。

大体、お前みたいな素人は間違った情報しか提示できないから
本当に大切だったところが理解できていなくて示されていないことが多い。
そのコードは正しい道の途中を歩いている進化途中の猿のように見える。

てかuy、おまえそんなクソみたいなディレクトリ構造を奨める程度のレベルだったの?
買いかぶってたか。

313 :デフォルトの名無しさん:2016/06/29(水) 03:50:41.55 ID:bToL6k7W.net
>>309>>311の意味が、「今時はautoloadだろ」って意味なら
アホすぎてuyが可哀想だ。

もっとも、uyの言ってることも変ではあるが。

314 :uy ◆e6.oHu1j.o :2016/06/29(水) 03:52:11.52 ID:XGWq+m9j.net
>>312
これはJekyllのディレクトリ構造

315 :デフォルトの名無しさん:2016/06/29(水) 03:55:39.92 ID:bToL6k7W.net
>>314
へー。で?

俺には>>308>>306を言った人間と同じ人間とは思えないんだけど。

316 :uy ◆e6.oHu1j.o :2016/06/29(水) 04:03:26.39 ID:XGWq+m9j.net
>>315
ファイル途中でどうしてもrequireするなら
ファイル先頭で行うrequireファイルとは区別しろって事を言ってるんだよ

ここまではいいか?

317 :デフォルトの名無しさん:2016/06/29(水) 04:07:08.70 ID:bToL6k7W.net
>>316
>ファイル先頭で行うrequireファイルとは区別しろって事を言ってるんだよ

良くないな。どのように区別しろと、お前は言っている?
お前が正しいことを言っているかどうか判断するには、
お前が思っていることを正しく表現しなければ無理だ。


それと、さっきのクソみたいなディレクトリ構造について、
お前は本当に正しいと思っているのか?
では何故PHPerの馬鹿さ加減を>>306で笑った?

318 :uy ◆e6.oHu1j.o :2016/06/29(水) 04:18:55.32 ID:XGWq+m9j.net
>>317


319 :デフォルトの名無しさん:2016/06/29(水) 04:19:55.55 ID:bToL6k7W.net
>>318
「w」では、いったいどのレベルにいるか見当が付かないから
そのまま放置されるよ

320 :uy ◆e6.oHu1j.o :2016/06/29(水) 04:20:28.20 ID:XGWq+m9j.net
>>318
ミス

>>317
理解出来ないか、
残念ながらこれ以上、レベルを下げて話すのは無理だな
プログラミング未経験者と話してるような気分だし
それならプログラミング未経験者同士の雑談の中で進化目指したほうがストレス無いんじゃないか?

321 :デフォルトの名無しさん:2016/06/29(水) 04:33:35.79 ID:bToL6k7W.net
>>320
オレが理解できないんじゃなくて、お前がアホだという可能性は考慮しないんだな。

> さっきのクソみたいなディレクトリ構造について、
> お前は本当に正しいと思っているのか?
> では何故PHPerの馬鹿さ加減を>>306で笑った?

こう言われても尚、自分のアホさに気づかない程度の奴がそんな事言っても
鼻で笑われるだけだって事がわからん猿だったということか、uyは。覚えておこう。

>プログラミング未経験者と話してるような気分だし

下から見上げてると上の事はよく見えないのは当たり前だから、
まぁ、そういう気分になる奴もいるだろうな。
それは俺のせいではなく、お前の脳の構造の問題だから自分で解決しろ。

>>316 について、uyはレベル高いのかおサルさんなのか判断されるのが怖くて話をごまかして逃げたから知らんが、
>>308 のディレクトリ構造のマヌケさについては他の奴らが起きてきたらすぐに気づくだろう。

もし万が一誰も気づかなかったらそれこそPHPerはマヌケばかりだと言うことだから
呆れ返って涙流しながら夜にでも意味を書くよ。

322 :uy ◆e6.oHu1j.o :2016/06/29(水) 04:33:43.48 ID:XGWq+m9j.net
>>319
Jekyllのディレクトリ構造の
./_includes/
内のファイルは特殊で

ソースコード内から
{% include file %}
で_includesの中からファイルを探して埋め込まれる
これは、別にHTMLに限定せず、

.rbの中でも、.phpの中でも .cppでも展開される

そんで展開後のファイルがコンパイルで生成される
↓ のコードは ↓
case 'Orange'
{% include orange.php %}
  break;
↓ に展開されて ↓
case 'Orange'
 function Foo(){ return 'みかん'; }
  break;
↓ 
./_site/
に、展開後のindex.phpが生成される

ちなみに、出来るってだけで多用はしてない

323 :uy ◆e6.oHu1j.o :2016/06/29(水) 04:37:12.66 ID:XGWq+m9j.net
>>321
いや結構です
はやく逃げたい

324 :デフォルトの名無しさん:2016/06/29(水) 04:40:01.13 ID:bToL6k7W.net
>>322
それ、>>308が馬鹿じゃ無いことのなんかの説明になると思って書いてるの?

>>323
逃げてもいいんだよ。どうぞ脱兎の如くお逃げ下さい、おさるさん候補生。

325 :デフォルトの名無しさん:2016/06/29(水) 04:50:11.95 ID:bToL6k7W.net
> ファイル途中でどうしてもrequireするなら
> ファイル先頭で行うrequireファイルとは区別しろって事を言ってるんだよ

これの意味が

> Jekyllのディレクトリ構造の ./_includes/ 内のファイルは特殊で
> ソースコード内から {% include file %} で_includesの中からファイルを探して埋め込まれる

これだって言いたいの? まさか…?

326 :デフォルトの名無しさん:2016/06/29(水) 04:56:51.01 ID:E5uSV41d.net
いいからお前はいい加減ニートやめて働けよ・・・
起きて早々気分最悪なのに暇そうで羨ましい限りだわ

327 :デフォルトの名無しさん:2016/06/29(水) 05:04:36.39 ID:qQkHqRIX.net
正直に言うがぜんぜんわからん

>>300からして明確に「こんな理由があるから絶対駄目あるいは糞」といえる理由を思いつけん

やり方としては、(省略したのかもしれないが)_onceのほうがいいかもね、最近のversionならautoloader使えるよ、程度
だいたい普通はOPCache使えるんだからrequire対象を少なくする意義がそんなに無いという理由もあるか
だが結局 >>302の「仕様や思想が明確になってるのであれば問題無い」これに尽きると思う

それ以降の2者の連投はハッキリ言って意味不明
「ファイルの頭にまとめたほうが良い」は、べき論としてはまぁ有りだが……、と思えるくらい
>>308の _include も、
「Jekyllのディレクトリ構造だからってそのまま受け入れてるくせに>>306みたいにほざくな」とは思うが
_includeの下にphpがいくつか転がってたとして何の問題があるのかわからん。 .include にせよなんて話じゃあるまいな

328 :デフォルトの名無しさん:2016/06/29(水) 05:07:19.26 ID:bToL6k7W.net
>>326
俺だって3時に目が覚めてしまって仕事あるから酒も飲めず苦しんでんだ。
お前なんかどうせ大した事しねぇんだから少しくらい我慢しろ。

329 :デフォルトの名無しさん:2016/06/29(水) 05:10:56.75 ID:bToL6k7W.net
>>327
お前は多分、大体はわかってんじゃないかな。

ただ、uyの書き込みに対するお前の

>「Jekyllのディレクトリ構造だからってそのまま受け入れてるくせに>>306みたいにほざくな」とは思うが
>_includeの下にphpがいくつか転がってたとして何の問題があるのかわからん。 .include にせよなんて話じゃあるまいな

という解釈は明らかに的外れ。多分考えすぎてるだけだから頭を冷静にすればわかんだろ。
>>306をよく読んでみればな。

330 :デフォルトの名無しさん:2016/06/29(水) 05:12:51.56 ID:bToL6k7W.net
>やり方としては、(省略したのかもしれないが)_onceのほうがいいかもね

_onceは楽でいいんだが少し遅い。あれは綺麗な設計が出来無い奴か場合の妥協手段だ。
そういう事は、>>300から始まる本件では全く関係ない話だ。

331 :デフォルトの名無しさん:2016/06/29(水) 05:15:50.59 ID:qQkHqRIX.net
>>329
いやわからんよ
>>312で「クソみたいなディレクトリ構造」というくらいだから
ディレクトリ構造そのものに問題があるのだと思うが理由が全くわからん

ただし、それ以前の問題として>>308の「途中requireなんて」以降全部が意味不明状態だが
言いたいことの基本は資料不足や認識ズレによる勘違いの防止だろ、_includeなんて名前で別ディレクトリにぶち込んで何が解決するよ、と

332 :デフォルトの名無しさん:2016/06/29(水) 05:21:53.19 ID:bToL6k7W.net
>>331

> ただし、それ以前の問題として>>308の「途中requireなんて」以降全部が意味不明状態だが

俺もuyが何を意図してそう書いたのかわからんから聞いたんだが、言わずに逃げた。
お前が言うとおり、もし >>322 が理由だったとしたら本物のアホだったから気にすんなってことだろう。

>「ファイルの頭にまとめたほうが良い」は、べき論としてはまぁ有りだが……、と思えるくらい

は、とても正しい解釈だと思う。


> ディレクトリ構造そのものに問題があるのだと思うが理由が全くわからん

そうか。ちなみにお前は普段、なんかフレームワークとか使うか?

333 :デフォルトの名無しさん:2016/06/29(水) 05:29:54.18 ID:qQkHqRIX.net
>>332
ああ、だいたい納得
質問については、基本的に、というか可能な限り自ら使うことはない。プライベートでは100%使わない

334 :デフォルトの名無しさん:2016/06/29(水) 05:29:54.72 ID:bToL6k7W.net
よくわかんねぇから聞きたいんだが、

お前らがファイルを分離してrequireなりincludeなりするのって、そもそもなんでだ?

335 :デフォルトの名無しさん:2016/06/29(水) 05:31:30.68 ID:bToL6k7W.net
>>333

そうか。その納得した内容が正しいといいな。

俺はエスパーじゃないから俺の考えてる事とお前の頭の中が同じかどうかはわからん。

336 :デフォルトの名無しさん:2016/06/29(水) 05:32:43.07 ID:V8sGR9Q5.net
コードの再利用のため
ビューを切り離すため

337 :デフォルトの名無しさん:2016/06/29(水) 05:36:01.20 ID:bToL6k7W.net
>>336
んー… 切り離すのはビューだけか?

338 :デフォルトの名無しさん:2016/06/29(水) 05:36:27.82 ID:V8sGR9Q5.net
>>337
それ以外はコードの再利用に繋がるんじゃね

339 :デフォルトの名無しさん:2016/06/29(水) 05:38:34.05 ID:bToL6k7W.net
>>338

そう思ってるのか?

さっきも聞いたが、ちなみにお前は普段、なんかフレームワークとか使うか?

340 :デフォルトの名無しさん:2016/06/29(水) 05:41:29.74 ID:bToL6k7W.net
もう一つわからねぇ事があるから是非聞きたいんだが、

おまえらって、index.phpは一体何だと思ってんだ?

341 :デフォルトの名無しさん:2016/06/29(水) 05:45:02.09 ID:V8sGR9Q5.net
>>339
いやおれは考えを言ったんだからお前の考えを言ったらどうなんだよ。
個別の話をしだしたらいろんな例外はあるだろうが、基本的にそういうことだと思ってるよ。

フレームワークが何を指してるかは分からんが、少なくともアリ物はほとんど使わないね。
自分で作ることも再利用することもあるが。

342 :デフォルトの名無しさん:2016/06/29(水) 05:55:00.14 ID:bToL6k7W.net
>>341
だれも言わなかったら夜に言うって言ったじゃん。
それまではアトラクションを楽しませろよ。

ところでアリ物を使わないのはいいんだが、
自分で作るのに再利用性の無い物で切り離すのはビューだけなのか?

あんまり大したことしてなさそうだな。

343 :デフォルトの名無しさん:2016/06/29(水) 05:55:44.23 ID:bToL6k7W.net
だから教えてくれ。おまえはindex.phpは一体何だと思ってるんだ?

344 :デフォルトの名無しさん:2016/06/29(水) 05:57:32.36 ID:qQkHqRIX.net
テンプレートなんかは都度状況にあわせて作ったり過去に作ったのを調整したりしてるな

>>335 ID:bToL6k7W
問い詰めてた対象の糞コテはすでにいないしもう朝だ
アトラクションとか荒れ材料にしかならんから、後出し後出しはそろそろやめて自身の意見を出して欲しい

345 :デフォルトの名無しさん:2016/06/29(水) 05:57:43.38 ID:V8sGR9Q5.net
ところで、なんか >>300 をポリモーフィズムの失敗みたいに言ってる向きもあるようだが、機能の差し替えは必ずしもそれでやれという話じゃない。
例えば何らかの通知を行う方法としてメールと twitter があったとして、>>300 のやり方なら mail_notifier.php か twitter_notifier.php を switch で require 仕分けて notify() を呼び出す感じになる。
これをクラスのポリモーフィズムでやろうとすればやはり switch で具象クラス MailNotifier か TwitterNotifier を読み分ける必要に加え、それをインスタンス化する個別のコードが必要になる。
その上で $notify->notice() なり notice($notifier) をするわけだけど、インスタンス化するための個別のコードを書くという点はエレガンスに欠ける。
んじゃ前者でいいじゃんという考えもあるでしょ。

あとは >>302 でも言ったけどやっぱ多重継承的な考え方でコードを構成する場合じゃないかな。
これは PHP のクラスじゃできないよね。

346 :デフォルトの名無しさん:2016/06/29(水) 06:00:50.04 ID:V8sGR9Q5.net
>>342
切り離すならビューかね。
DAOみたいなものや各種機能的なものもコードの再利用のためでしょ。

>>343
おれに言ってる?
index.php なんて特に意識してないよ。
URL のパスを省略したときにやってほしいことを書くところじゃないの?

347 :デフォルトの名無しさん:2016/06/29(水) 06:04:03.67 ID:bToL6k7W.net
>>344
言っちゃうのは簡単だ。

でも、この後どっかの馬鹿が変なことを言ってきたとして、
後で俺が思っている事が正しければ、そいつは恥をかく。
そうするとそのことをずっと覚えているだろう。それこそが、そいつのためになる。
もし俺が間違っていて俺が恥をかけば、それこそが俺のためになる。

人生なんて長いんだ。もっと楽しもう。
もし今夜死ぬなら今更一つ学んだところで何の役にもたたんから今すぐ答える必要もない。

だからみんなで index.php とは何かについて語り合おう!

348 :デフォルトの名無しさん:2016/06/29(水) 06:04:18.27 ID:V8sGR9Q5.net
>>345
ちょっと訂正
中腹の
> その上で $notify->notice() なり notice($notifier) をするわけだけど、



その上で $notifier>notify() なり notify($notifier) をするわけだけど、

に。

349 :デフォルトの名無しさん:2016/06/29(水) 06:07:28.65 ID:bToL6k7W.net
>>346
> おれに言ってる?

いいや、みんなに言ってる。


> URL のパスを省略したときにやってほしいことを書くところじゃないの?

そうか。←この「そうか」は呆れて言っているわけではない。お前がどう思っているか理解した「そうか」だ。


> DAOみたいなものや各種機能的なものもコードの再利用のためでしょ。

DAOみたいなクソを未だに使ってるのかという事については本件とは関係ないから考えないとして、
お前の場合、DAOの呼び出しどこでしてるの?

350 :デフォルトの名無しさん:2016/06/29(水) 06:09:21.59 ID:bToL6k7W.net
>>345は、uy=アホ問題とは関係ないから俺はあんまり良く読んでないけど、大体その考え方でいいんじゃないかな。
間違ってないと思うよ。多分だけど。

351 :デフォルトの名無しさん:2016/06/29(水) 06:12:40.18 ID:V8sGR9Q5.net
>>349
DAOみたいなクソとかいちいち突っかかってくる理由がわからん。
おれ個人的な話をすれば少なくとも PHP で DAO など使ってないが、DAO を使った設計がクソかどうかは DAO 自信ではなくその使い方で論ずることでしょ。

352 :デフォルトの名無しさん:2016/06/29(水) 06:16:11.19 ID:bToL6k7W.net
>>351
うん、だからそのことは「考えない」と言ってる。
その上で、DAO使うならどこでDAOを呼び出してるの?と聞いている。


>DAOみたいなクソとかいちいち突っかかってくる理由がわからん。

おやまぁ、俺がどんな奴かしらないってことは、ここ1ヶ月位ここに来たことない人かな?
理由を言おう。糞なものはクソとしか言えない体質だからさ。

353 :デフォルトの名無しさん:2016/06/29(水) 06:21:18.26 ID:qQkHqRIX.net
>>347
どうあっても今は肝心要のところを出さないのに、
今、ファイル分離だのindex.phpだのと質問しているのは言行不一致

354 :デフォルトの名無しさん:2016/06/29(水) 06:32:00.94 ID:bToL6k7W.net
>>353
あれ? 言行不一致だと思うって事は
おまえさん、やっぱりuyのどこがアホなのか分かってなかったって事か?

じゃ、まだアトラクション楽しめるじゃないか。

355 :デフォルトの名無しさん:2016/06/29(水) 07:04:08.91 ID:0agFNvvs.net
俺も最初ディレクトリ構成についてどうかと思ったけど >>322 の説明が追加されて初めて理解したよ
逆に言うとその説明抜きにあのディレクトリ構成はやはり例としては不適切かなぁと思うよ
しかしながらその説明があったんだから、そういうことかと納得できるのが技術者だろうとも思う

356 :デフォルトの名無しさん:2016/06/29(水) 07:04:41.35 ID:0agFNvvs.net
http://jekyllrb-ja.github.io/docs/deployment-methods/
これも。

357 :デフォルトの名無しさん:2016/06/29(水) 07:09:00.07 ID:bToL6k7W.net
>355
>そういうことかと納得できるのが技術者だろうとも思う

いいや、お前は技術者じゃないよ。理由は夜話す。

>>356は長いから読むのめんどくさい。自分が正しいと思ってるなら
その要点を纏めて語れ。お前の考え方が間違っていないかもしれないからな。

358 :デフォルトの名無しさん:2016/06/29(水) 07:10:18.37 ID:0agFNvvs.net
いいよ、今時間ないし夜のアトラクションを後で見るね

359 :デフォルトの名無しさん:2016/06/29(水) 07:19:45.24 ID:bToL6k7W.net
> いいよ、今時間ないし

いいよじゃねぇだろ、ハゲ。「すいません、今時間ないので勘弁して下さい」と言え。

360 :デフォルトの名無しさん:2016/06/29(水) 07:21:39.65 ID:bToL6k7W.net
誰か、index.php ってのは一体何であるか分かる奴いねぇのかよ。
まぁ、こんな朝っぱらだから人いねぇし仕方ねぇけど。

361 :デフォルトの名無しさん:2016/06/29(水) 08:42:53.74 ID:hAe/YxPi.net
手続き型は、オーダーメイド型
オブジェクト指向は、量産型
というイメージであってますか?

362 :デフォルトの名無しさん:2016/06/29(水) 10:33:58.87 ID:rvs6kLew.net
インデックスが記されたPHPファイルだよん

363 :デフォルトの名無しさん:2016/06/29(水) 17:03:27.85 ID:GGM+WiYl.net
phpでautohotkeyみたいなもの作れませんか?
autohotkeyは便利なのですが、言語仕様がマジでクソなのです
phpで書けたらいいと思うのですが

364 :デフォルトの名無しさん:2016/06/29(水) 17:10:10.32 ID:huVvmd5E.net
>>363
phphotkeyを使おう

365 :デフォルトの名無しさん:2016/06/29(水) 17:28:40.07 ID:GGM+WiYl.net
>>364
それはなんですか?
ググっても変なアラビア語のサイトとかしか出てきませんが・・

366 :デフォルトの名無しさん:2016/06/29(水) 17:30:22.73 ID:GGM+WiYl.net
キーボード入力を取って起動
指定したアプリケーションをアクティブにする
クリップボードの読み書き
ギーボード入力を送る

これだけ出来たらいいです
COMとか言うのを使えばクリップボードの操作はできるようですが

367 :デフォルトの名無しさん:2016/06/29(水) 17:55:43.69 ID:hAe/YxPi.net
mysqli関数オブジェクト版をクラスにの中でも使うのはどうするのですか?


$mysqli = new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);

class hoge{
 function get_error{
  //クラスのなかでも$mysqliインスタンスを使いたい↓
  return $mysqli->error
 }
}

$mysqli->close();

一応クラス内のメンバ変数に代入したらいけたんでそれでやってますが、
そんな感じでいいんですかね?

368 :デフォルトの名無しさん:2016/06/29(水) 18:01:40.12 ID:ViUTH2Wh.net
>>367
グロバ変数は普通は使わない
どうしてもグロバ使いたいならクラス内でグロバキーワード使えばイケル

369 :デフォルトの名無しさん:2016/06/29(水) 18:11:08.48 ID:V8sGR9Q5.net
>>367
グローバル変数を使うのが手っ取り早いけど、
DB関連 etc. のリソースを保持なり管理するためのクラスを作り、その staticメンバで保持するなんて方法もあるかな。

class DBResources {
public static $mysql;
}

みたいなのを作っておけば、どこからでも DBResources::$mysql で参照できる。
DB接続やトランザクション管理などの機能を DbResources に収めてしまってもいいかもしれない。

370 :デフォルトの名無しさん:2016/06/29(水) 18:36:34.18 ID:bToL6k7W.net
>>362
分かって言ってるのか言ってないのか…

371 :デフォルトの名無しさん:2016/06/29(水) 18:39:37.93 ID:bToL6k7W.net
>>368
俺は先日、クソフレームワーク渡されたせいでglobalを多様せざるを得なかった。
元の設計が糞だから、globalが使えて助かった。

二度とあんなのやらん。

372 :デフォルトの名無しさん:2016/06/29(水) 19:35:07.80 ID:GGM+WiYl.net
>>367
コネクションを適当な場所、
適当なプロパティやコネクション管理を専門に担当するオブジェクトなどに持っておいて
getConnectionのようなメソッドで取得するようにします
インターフェイスを一元化しておいて、その先を考えずに済むようにする、
ということが一番重要なことですね

373 :デフォルトの名無しさん:2016/06/29(水) 20:51:05.11 ID:bToL6k7W.net
さて、寝るか…

374 :デフォルトの名無しさん:2016/06/29(水) 20:52:00.58 ID:k2hNBRSA.net
会員制サイトのログイン済み認証フラグにはどの型のデータを入れますか?
bool、int、stringなどが候補ですが。boolが適当なのでしょうか?

$_SESSION['login_flag'] = true; //bool
$_SESSION['login_flag'] = 1; //int
$_SESSION['login_flag'] = 'ok'; //string

375 :デフォルトの名無しさん:2016/06/29(水) 20:59:44.78 ID:bToL6k7W.net
お前のフラグには3とか4とかあるのか?

376 :デフォルトの名無しさん:2016/06/29(水) 21:01:58.37 ID:bToL6k7W.net
お前のフラグには'so so'とかあんのか?

377 :デフォルトの名無しさん:2016/06/29(水) 21:30:24.84 ID:Dl78fDxJ.net
条件文でどうするかによる
ただフラグといった場合true/false
bool型がない場合は1/0だろう

378 :デフォルトの名無しさん:2016/06/29(水) 21:38:07.78 ID:V8sGR9Q5.net
>>372
オブジェクトに持たせたらそのオブジェクトにどうやってアクセスするかという問題が出てきて堂々巡りになる。
オブジェクトを必要としないアクセス方法が必要。
とどのつまりどこかに static な入口を用意するというのが一番重要な点。

379 :デフォルトの名無しさん:2016/06/29(水) 22:15:09.51 ID:k2hNBRSA.net
参考になります。ありがとうございました。
bool型にします。

380 :300:2016/06/29(水) 22:21:39.92 ID:1FO+PUBL.net
本文中のrequire+ポリモーフィズム風について質問した>300です。
遅くなりましたが、皆さんありがとうございました。

上司に、保守のためこの書き方を守ってねって言われました。
うわーい

381 :デフォルトの名無しさん:2016/06/29(水) 22:32:06.34 ID:GGM+WiYl.net
>>378
自分はそうはしませんね
特殊なアクセス法をしなければいけない、
という知識がコードにばらまかれることが気持ち悪いので
ごく普通のオブジェクトを最前線のインターフェイスにします
そうしておけばその先をどうしようが自由なので

382 :デフォルトの名無しさん:2016/06/29(水) 22:41:43.57 ID:V8sGR9Q5.net
>>381
オブジェクトとクラス(ないしインタフェース)の区別はついてる?

383 :デフォルトの名無しさん:2016/06/29(水) 22:53:36.74 ID:GGM+WiYl.net
>>382
トンチンカンな質問ですね
何故そう思ったんですか?

384 :デフォルトの名無しさん:2016/06/29(水) 22:55:20.12 ID:GGM+WiYl.net
正直、dbアクセスをstaticメソッドにしていた時期もありましたよ
でも、今はそういうのダサいと思ってます

385 :デフォルトの名無しさん:2016/06/29(水) 22:57:55.67 ID:V8sGR9Q5.net
>>383
DBコネクションをプロパティとして持つオブジェクト $obj があったとき、>>367 のように適当なクラスからそれを参照する場合

class hoge{
 function get_error{
  //クラスのなかでも$mysqliインスタンスを使いたい↓
  $mysqli = $obj->getConnection();
  return $mysqli->error
 }
}

とやるんだろうが、このクラス内から $obj はどうやって取得するん?

386 :デフォルトの名無しさん:2016/06/29(水) 23:06:55.57 ID:Dl78fDxJ.net
流れよまないでレスするがdb接続に関しちゃシングルトンぢゃないんか

387 :デフォルトの名無しさん:2016/06/29(水) 23:08:12.04 ID:V8sGR9Q5.net
>>386
そう思うよ

388 :デフォルトの名無しさん:2016/06/29(水) 23:10:49.77 ID:GGM+WiYl.net
>>385
Hogeが持つControllerオブジェクトにDbオブジェクトを持たせたりしますね
色んなオブジェクトのハブになるControllerのインスタンスを
各オブジェクトに持たせて、
各オブジェクトはそれを使って必要なオブジェクトにアクセスします

389 :デフォルトの名無しさん:2016/06/29(水) 23:13:57.11 ID:GGM+WiYl.net
>>386
dbやloggerはsingletonにしますが
staticなアクセスはcontrollerに局所化する、という話です
あるクラスがsingletonかどうかを知っておく必要のあるのは
controllerだけで十分だ、ということです

390 :デフォルトの名無しさん:2016/06/29(水) 23:25:39.01 ID:V8sGR9Q5.net
>>388
それは結局のところ Hoge のインスタンス化の時に外から DBコネクションを持ってる何らかのオブジェクトを渡されているということで、
すなわち Hoge のインスタンス化の時にDBコネクションを渡すようにしておくのが >>367 に対する回答ということかね?
階層化して Controller のような上位のオブジェクトにしたとしても、外からオブジェクトをもらっておかなければならないという本質は変わらないわけで。
それが悪いとは言わないが、上位オブジェクトが末端のクラスの欲しいものを全部知っていてその面倒を見なくてはいけないというのはあまりイケてるように思えないけどな。
もちろんなんかのフレームワークを使ってるとかで、基本的なつくりとして外からオブジェクトが与えられる前提であればそこに持たせる選択はあると思うけどね。

391 :デフォルトの名無しさん:2016/06/30(木) 00:17:29.43 ID:iCjEUOEi.net
> Controllerのインスタンスを各オブジェクトに持たせて、
すごい

392 :デフォルトの名無しさん:2016/06/30(木) 02:13:35.80 ID:Hy3lwL8X.net
昨日のディレクトリ構造の話だけど、ちょっと黙っとくな。
こっちの話の方が今は有意義みたいだから。

393 :デフォルトの名無しさん:2016/06/30(木) 02:24:57.86 ID:Hy3lwL8X.net
>>386
俺もそうしてるなぁ。

394 :デフォルトの名無しさん:2016/06/30(木) 02:29:40.41 ID:Hy3lwL8X.net
寝起きでどうも話してる内容が今ひとつわかんなくて、質問者が何悩んでんのかもよくわかんない。
>>390の内容って、つまりDIだよね?
それはそれでいいと思うんだけど、結局今の話の主題ってどこにあるの?

395 :デフォルトの名無しさん:2016/06/30(木) 02:34:58.75 ID:Hy3lwL8X.net
寝ぼけてる頭の俺には>>391が言ってるみたいに、

あっそう、凄いね。

って印象が、今はある。ほんとに何なやんでんのか全くわからん…
controllerが何でも知っていなきゃいけない、みたいな、変な事考えてるってことなのかな?

396 :デフォルトの名無しさん:2016/06/30(木) 02:55:36.63 ID:Uofv8D3y.net
例えばクラス Hoge でログ出力が必要な場合、Hoge は Logger のインタフェースさえ知っていればよく、Logger が内部的にどんなものが必要かを知っている必要は無い。
もしクラス Logger がログ出力のためにクラス DBConnection が必要な場合、Logger は DBConnection のインタフェースさえ知っていればよく、DBConnection が内部的にどんなものが必要かを知っている必要は無い。
もちろん Hoge の処理の呼び出し元だって、Hoge が内部で Logger を使っていることなんて知っている必要は無い。
いやむしろ、知っている必要が無いというよりは、知っているべきではない。

仮に Hoge の呼び出し元(Controller とする)がそれらを知っていなければならないとしたら、Controller は Hoge が必要としている Logger、Logger が必要としている DBConnection をお膳立てしなければならない。
もし DBConnection がもっと他の何かを必要としていたらどうする?
もし Logger が差し替わり、DBConnection ではなく LogFile を必要とするようになったらどうする?
と、収集がつかなくなる。

だから Hoge は自身が必要な Logger は自分で取得し、Logger は自身が必要な DBConnection なり LogFile なりを自身で取得しなければならない。
これを系統だってやろうとすると >>394 の言うように DI になる。
DI によって末端のクラスが必要とするいろんなものを上流からたらい回しにする必要が無くなり、各層を純粋な処理のためだけのインタフェースで繋げられるようになる。
Controller になんでも置いとけというのは結局オブジェクト指向から逸脱するということ。
で自動的な DI を使えない環境では、同じようなことを実現するための取っ掛かりとしてクラスのスタティックメンバに頼ることになる(というほど大層なことではないが)。

397 :デフォルトの名無しさん:2016/06/30(木) 02:56:09.75 ID:Uofv8D3y.net
ようは、$controller->getLogger() とか $controller->getDBConnection() を用意するということは、末端の処理に依存してしまっているからこれを止め、
Logger::getInstance() とか DBConnection::getInstance() を使えるようにし、使いたい処理が必要なもののインスタンスを勝手に取得すればよい。
次にクラスの実体として必要とされるものを選択するため、getInstance がコンフィギュレーション等に基づいてその時必要とされる具象クラスインスタンスを返すようにすれば DI みたいなものになる。

398 :デフォルトの名無しさん:2016/06/30(木) 03:01:45.02 ID:Hy3lwL8X.net
普通は>>396みたいに考えると思うんだけどなぁ…

> あるクラスがsingletonかどうかを知っておく必要のあるのは
> controllerだけで十分だ、ということです

いやぁ、
それを知っておく必要があるのはプログラマだけで、それは設計書に示される事だとおもうんだけどなぁ…

399 :デフォルトの名無しさん:2016/06/30(木) 03:07:10.60 ID:Hy3lwL8X.net
あれ? ひょっとして質問者は、

Utility

という存在について、知らない又は認めない、というスタンスということなのか?

400 :デフォルトの名無しさん:2016/06/30(木) 03:11:26.76 ID:Hy3lwL8X.net
>>389で言ってることって、

全ての業務は会社の代表である社長が一元統括する。
各部署が業務の遂行にあたって行う外注についても、
全て社長の指示を仰ぐように

という通達なんじゃないの?

401 :デフォルトの名無しさん:2016/06/30(木) 03:15:42.51 ID:Uofv8D3y.net
>>399
単純に >>367 は Hoge の中で他で使ってるのと同じ $mysqli を参照する方法を聞いてると思われ、
その選択肢としてはグローバル変数を使うか、Hoge の外から $mysqli を与えるのか、はたまたどんなやり方があるのか?
という話からの流れで、これができれば何でも一応の正解だけど、そこから話を膨らませてる感じかな、個人的には。

402 :デフォルトの名無しさん:2016/06/30(木) 03:23:39.47 ID:Hy3lwL8X.net
>>401
ふーむ… それって、プログラミングの悩みじゃなくて、ただの哲学なんじゃないかなぁ…

哲学って、答え出ないよね…

結局今何を聞こうが、自分でこれだという答えを決めて3年くらい経った後に、
「I was such a fool, so unaware what the programming is....」
とか思うしか無いんじゃなかろうか。

403 :uy ◆e6.oHu1j.o :2016/06/30(木) 07:47:47.72 ID:U+B64GZ8.net
ID:bToL6k7W
↑このレベルで仕事就いてるとか、どうなってんだろう日本IT

404 :デフォルトの名無しさん:2016/06/30(木) 11:52:01.59 ID:wgx6c4XV.net
>>403
はぁ?

405 :デフォルトの名無しさん:2016/06/30(木) 11:58:46.50 ID:+D/cohZw.net
ところでphpについてまるで知らんのだが
index.phpとは何なんだ

406 :uy ◆e6.oHu1j.o :2016/06/30(木) 12:11:06.66 ID:U+B64GZ8.net
>>405
http://123456.uy.co.jp/index.php
というアドレスを

http://123456.uy.co.jp/
でもアクセス可能にしたい時につける名前

ただしサーバー側で"index.php"を、DirectoryIndexに登録しないと意味はない

407 :uy ◆e6.oHu1j.o :2016/06/30(木) 12:13:19.33 ID:U+B64GZ8.net
>>404
gmkzksレベルの方々でも
業務に尽力できるよう、2chのプログラム板から日本のITを支えてあげる事が
「uy」という存在の使命のように感じています

408 :デフォルトの名無しさん:2016/06/30(木) 12:32:14.90 ID:wgx6c4XV.net
再び猿が騒ぎ始めたな。結構なことだ。

409 :uy ◆e6.oHu1j.o :2016/06/30(木) 12:41:40.80 ID:U+B64GZ8.net
>>408
普段なんの言語触ってんの?

410 :デフォルトの名無しさん:2016/06/30(木) 12:50:50.19 ID:wgx6c4XV.net
さあ、チンパンはもっとウキ〜と鳴いてみろよ。

411 :uy ◆e6.oHu1j.o :2016/06/30(木) 13:15:06.60 ID:U+B64GZ8.net
一応、普段からPHPやってます ってのは無しの方向で。

412 :デフォルトの名無しさん:2016/06/30(木) 13:25:14.66 ID:1/8oNcyk.net
PHPer って
GAMEer みたいに
ゲームの上手い人、寝る時間も惜しんでゲームをする人みたいな感じで
PHPを絵を描くように使いこなす人、
というニュアンスを持つと思っていたのですが実際は
パソコンの大先生みたいなニュアンスなんでしょうか?

↓ こういう人たち?
http://d.hatena.ne.jp/tt_clown/20111025/ng_programmer

413 :uy ◆e6.oHu1j.o :2016/06/30(木) 13:29:09.08 ID:U+B64GZ8.net
>>412
パソコンの大先生と、
パソコンの大先生ごっこをしている人たちを区別する為の差別用語です

414 :デフォルトの名無しさん:2016/06/30(木) 13:40:16.11 ID:krcZfk1l.net
>>412
これのこと?
14. staticを使えば,わざわざインスタンスを作る必要などない
15. 全部グローバル変数

415 :デフォルトの名無しさん:2016/06/30(木) 15:04:30.08 ID:HRilbWFY.net
「Smarty」を利用することで作業が3倍のスピードになって捗るねえ

416 :デフォルトの名無しさん:2016/06/30(木) 15:05:49.95 ID:wgx6c4XV.net
ならねえよ、ハゲ

417 :デフォルトの名無しさん:2016/06/30(木) 15:14:21.41 ID:8IMpbPEW.net
当社比

418 :デフォルトの名無しさん:2016/06/30(木) 15:32:43.89 ID:HRilbWFY.net
>>416
Smarty3.1使ってみろよチョンコ

419 :デフォルトの名無しさん:2016/06/30(木) 15:42:36.15 ID:1/8oNcyk.net
Smartyって結局 MVC環境を提供するプラットフォームのひとつなだけで
MVC環境が構築できるなら
Smartyでもフレームワークでも平打ちでもなんでもOKなんじゃないの????

420 :デフォルトの名無しさん:2016/06/30(木) 15:54:35.46 ID:/chSWQ9t.net
問題点は設計力

421 :デフォルトの名無しさん:2016/06/30(木) 15:59:55.63 ID:gp1pAeXB.net
今日からPHPを始めることにした者ですが質問させてください

<?php include('hoge.html')?>
<?php include('hoge.html');?>

↑のインクルード文でセミコロンの有無の違いとはどのようなものですか?

422 :デフォルトの名無しさん:2016/06/30(木) 16:08:16.11 ID:8IMpbPEW.net
複数行にまたがるときは必須
?>の直前なら行の終わりが自明なので省略できる、というだけかと

423 :デフォルトの名無しさん:2016/06/30(木) 16:42:00.33 ID:gp1pAeXB.net
>>422
レスありがとうございます
このインクルード文単体であれば省略しても問題ないということなのですね
教えてくださりありがとうございます

424 :デフォルトの名無しさん:2016/06/30(木) 16:54:40.95 ID:krcZfk1l.net
>>423
文法はそうだけど省略しない方がいい
統一性がなくなり後で後悔する

425 :デフォルトの名無しさん:2016/06/30(木) 17:12:29.20 ID:aEKtepVG.net
ささいなことなんだけど誰か教えて欲しい
例えば文字列型の8桁の数字であるかどうか正規表現で判定したいときに

$string='20160630';
var_dump( preg_match('/\A\d{8}\z/', $string) );
var_dump( preg_match('/\\A\\d{8}\\z/', $string) );

上記のどちらも期待通りに動いてしまう
「これは誰がうまいこと処理してくれているのか」と
「どちらのスタイルで書くべきか」を教えて欲しい

426 :デフォルトの名無しさん:2016/06/30(木) 17:51:19.03 ID:iCjEUOEi.net
>>425
常に問題をシンプルにすべき。
シングルクォート内のバックスラッシュがどう扱われるかという点に集約される。
http://php.net/manual/ja/language.types.string.php#language.types.string.syntax.single

var_dump('\A');
var_dump('\\A');

427 :デフォルトの名無しさん:2016/06/30(木) 17:51:39.23 ID:gp1pAeXB.net
>>424
レスありがとうございます
自分なりに検索してみたところ>>422さんのいうとおり任意で省略できるところもあるようです
自分ではまだ判断できるレベルではないので基本を身につけるという意味でも記述していきたいと考えます

428 :デフォルトの名無しさん:2016/06/30(木) 17:57:31.20 ID:aEKtepVG.net
>>426
あざっす 言われてみればほんと仰るとおり
phpのコアが''のなかで\\=>\と\'=>'だけ変換してくれる、そこさえ気をつければどちらでも良い、ということですね

429 :デフォルトの名無しさん:2016/06/30(木) 18:04:32.12 ID:/chSWQ9t.net
ctype_degit()

430 :デフォルトの名無しさん:2016/06/30(木) 18:07:05.46 ID:Uofv8D3y.net
>>426
それはそうなんだけど、>>425 をブルクォートにしてもうまく動いちゃうよね。
ダブルクォート内でエスケープが定義されてない文字をエスケープするとそれは元の文字列になり、エスケープできる文字はそれが表す文字に置換される。
たとえば "\t" は定義されてるからタブ1文字に置換されるし、 "\A" は定義されてないから文字列 \A という元のままの文字列になる。

正規表現で例示すれば、
"/\A.\t,\z/" → /\A.(タブ).\z/
"/\\A.\\t.\\z/" → "/\A.\t\z/
となって、異なる文字列になる。
でもどっちの書き方をしても、preg_match では同じようにマッチする。
だから正規表現のパーサーがうまいことやってるんだと思う。

でもこれって正直ややこしいなぁといつも思う。
\ 自体を表すときに数がわからなくなったりw

431 :デフォルトの名無しさん:2016/06/30(木) 18:07:20.06 ID:5vaSyn6Q.net
>>397
>Logger::getInstance() とか DBConnection::getInstance() を使えるようにし、
>使いたい処理が必要なもののインスタンスを勝手に取得すればよい。

それでも、実際には問題が出ることはありませんし
他人がそうすることに文句を言うつもりはありません。
ただ個人的には気持ちが悪いということです
関数言語の洗礼を受けているかどうかの違いかもしれません
関数言語では、同一のパイプに色んなオブジェクトを通す、という感覚があるので
同一の処理に掛けられないものが処理の中に存在していることが気持ちが悪いのです

432 :デフォルトの名無しさん:2016/06/30(木) 18:10:19.68 ID:5vaSyn6Q.net
米国Amazon.comでベストセラーの技術書を翻訳
AI技術の基礎を解説した『Python機械学習プログラミング』を6月30日に発売
http://www.jiji.com/jc/article?k=000001246.000005875&g=prt

こんな記事を見ました
pythonの話をしている人がいましたが、
PHPで機械学習をする本は出そうもないので、
PHPERもこれを読むべきでしょうか

433 :デフォルトの名無しさん:2016/06/30(木) 18:37:27.72 ID:OLhHZgT/.net
>>431
あらゆる物をひとつのオブジェクトに閉じ込めて引きずり回すというのは、なんでもかんでもグローバル変数にしてしまうのとそう変わりが無いよ。
オブジェクト指向というのは自分の面倒は自分で見るようにするということ。
誰かから自分の必要な、しかもその誰かにとっては必要の無いものを貰わなければならないというのは、カプセル化ができていないということだ。
関数型の利点を使い回しているならそれを培った過程を「洗礼」などと言うのもアリだが、元々関数型の欠点だったのに違うパラダイムにわざわざそれを持ち込むというのはただ理解が不足してるだけだ。
どっちでも大差無いことなら気分で好きな方を選べばいいが、問題解決の方法に大きな違いが出るのであればもっと論理的に考えないとな。

434 :デフォルトの名無しさん:2016/06/30(木) 18:50:16.18 ID:5vaSyn6Q.net
>>433
オブジェクトが環流しているエコシステムの中で
勝手にグローバル領域に手を伸ばしてオブジェクトを取り出すことを
行儀が悪いと思うのに、そこまで技術的素養はいらないと思いますが?

435 :デフォルトの名無しさん:2016/06/30(木) 18:51:15.00 ID:5vaSyn6Q.net
「自分の面倒は自分で見るようにするということ」が
グローバル領域からオブジェクトを取り出すことなのですから
正直とんだお笑いぐさとしか言いようがありません

436 :デフォルトの名無しさん:2016/06/30(木) 18:52:37.55 ID:iCjEUOEi.net
>>430
問題をシンプルにすべき。
それは \t が タブ文字にマッチする正規表現だから。

\ にマッチする正規表現は \\ であり、それを表現するための記述方法は '\\\\' 。
とても単純なことだよ。

437 :デフォルトの名無しさん:2016/06/30(木) 19:03:06.38 ID:Uofv8D3y.net
>>436
んなことは分かってるさ。
分かってるけど \\\\ というのには少々おののくってこと。
若干話は逸れるが、シェルスクリプトでコマンドラインを構築する処理とかも目がチカチカしてくる。

438 :デフォルトの名無しさん:2016/06/30(木) 19:10:30.08 ID:Uofv8D3y.net
>>435
グローバルな名前空間で参照できるクラスと、グローバル変数には決定的な違うがあると思うんだ。

439 :デフォルトの名無しさん:2016/06/30(木) 19:12:02.46 ID:OLhHZgT/.net
>>435
グローバル変数を用意するには、事前に必要になる変数を全部把握していなければならないんだが。
クラスをそれを必要とする者が自分でロードしてそれがグローバルの空間で参照できることとはグローバルの空間に変数を置くこととは全く違うことだぞ。

440 :デフォルトの名無しさん:2016/06/30(木) 19:21:18.60 ID:Hy3lwL8X.net
>>433
ほら、言ったとおり哲学闘争になってきたじゃん。
その文章、文章通りに頭に入ってきてないぞ多分。>>439の意味もわかんないだろうし。
時がたったら馬鹿だったって思うだろうからほっとくしかないよ。

441 :デフォルトの名無しさん:2016/06/30(木) 19:24:01.13 ID:Hy3lwL8X.net
>>418
なんでTwig様がいるのに、そんなポンコツ使わなきゃいけないんだよ。

使って欲しいならSmarty3.1の方がTwig様より優れているところを最低3つ挙げろ。
その内容次第では使ってやらない事もない。

442 :デフォルトの名無しさん:2016/06/30(木) 19:25:40.26 ID:Hy3lwL8X.net
>>406
そのセリフ、忘れるなよ?

>>405
今、哲学闘争してるから邪魔しないように様子見してるんだが、
一段落したら何故uyをアホ猿だと言ったか説明する。

443 :デフォルトの名無しさん:2016/06/30(木) 19:44:17.77 ID:Uofv8D3y.net
>>440
なぜグローバル変数がいけないのか、これがその哲学の出発点になるのかな。

444 :デフォルトの名無しさん:2016/06/30(木) 19:50:48.10 ID:Hy3lwL8X.net
>>443
「え〜、今更?」って思ったけど、確かにそこなんだろうな、彼が勘違いしてるのは。

445 :デフォルトの名無しさん:2016/06/30(木) 19:52:39.02 ID:Hy3lwL8X.net
なんだろう、
子供は公共の場というと「自分が何しても自由な場所」と考えるが、
大人は公共の場というと「節度を守って互いに共有しあう場所」と考える、

みたいな説明だと分かってくれんのかな?
逆に尚更わかんなくなるのかな?

446 :デフォルトの名無しさん:2016/06/30(木) 19:53:14.55 ID:Uofv8D3y.net
>>406
ちょっと話はそれるが、
> http://123456.uy.co.jp/index.php
そういうインデックスまで URL に明示したらインデックスの利点半減だよね。
http://123456.uy.co.jp/ と省略すれば都合によって実体を index.php でも index.html でも他の CGI かなんかでも好きな方式を採れるし、後から切り替えることだってできるのに。
おれが関わってる某サイトも http://example.com/index.html なんて URL を印刷物なんかに示しちゃってるんだよな。
省略することを進言したけど、全く変わらんなぁ
ちなみに、後で index.php に差し替えたくなったら .htaccess でリライトする予定w
クソだよクソ

447 :デフォルトの名無しさん:2016/06/30(木) 20:01:23.13 ID:Uofv8D3y.net
>>445
そのたとえはあまりイケてるようには思えないなぁ
まあ例え方には思想が表れるから、そこを突っ込んでいくと今度は宗教論争になりかねないがw
なんにしても、まず当たり前だと思い込んでいたところに目を向け考えるということが肝心だと思うよ。

448 :デフォルトの名無しさん:2016/06/30(木) 20:08:06.79 ID:Hy3lwL8X.net
>>447
一番いいのは彼が言っている通り、全部controllerに管理させたシステムを作って
3年くらい自分でメンテナンスしてみれば一番わかるんだがな。

多分3年を待たずして彼は逃げ出し、後から入ってきた新人が精神やられるんじゃないかな。

What a fuckin' awesome world here is. なわけだ。

449 :デフォルトの名無しさん:2016/06/30(木) 20:13:58.56 ID:Hy3lwL8X.net
>>429
俺もあんま関係なけど
ctype_digit()に代表されるそれ系のメソッドの

>-128 から 255 までの整数値を渡すと、ひとつの文字の ASCII 値とみなします (負の値には 256 を足して、拡張 ASCII の範囲に収まるようにします)。 それ以外の整数値は、10 進数を含む文字列とみなします。

は、PHPぶっ壊してやろうかと思ったよ。

バリデータのリファクタリングしてて、
しめしめと思ってコードを書き換えてから
マニュアルを最後まで読んで元に戻すまでの10分間返せ、と。

450 :デフォルトの名無しさん:2016/06/30(木) 20:21:25.25 ID:Uofv8D3y.net
>>448
規模にもよるけど Web くらいだとコントローラに全部持たせてもなんとかなっちゃうかも。
仕様変更を重ねるといろんな取得メソッドが増えていき、いらなくなったものも判別つかず「念のため」残して謎のメソッドとして溜まっていき、
本当にやりたい処理では必要もないリソースもよく分からないから「念のため」確保をして CPU時間やメモリを無駄遣いすることになっても、まあ放置できたりする。
それをリプレイスする時に整理のチャンスが来るけど、結局読み解くことができず「念のため」謎のメソッドごと移植対象になって無駄なコストが発生するが、
予算を謎メソッド込のコード規模で見積もれるなら問題無い。

451 :デフォルトの名無しさん:2016/06/30(木) 20:21:33.71 ID:Hy3lwL8X.net
>>412
>>414

こういう人のこと
http://anond.hatelabo.jp/20110329150439

452 :デフォルトの名無しさん:2016/06/30(木) 20:23:09.56 ID:Hy3lwL8X.net
>>450
3行目の「…必要もないリソースもよく分からないから…」あたりで涙が溢れ出てきてその後はよく読めない…

453 :デフォルトの名無しさん:2016/06/30(木) 21:02:56.18 ID:5H3XVU3F.net
お前らテンプレートエンジンなんて使うか?

454 :デフォルトの名無しさん:2016/06/30(木) 21:07:50.76 ID:sLb1f1Kv.net
>>453
eccubeでsmarty使ってた
いまmagentoやってるけどめんどくせえ

455 :デフォルトの名無しさん:2016/06/30(木) 21:13:06.61 ID:Hy3lwL8X.net
>>453
もう、その煽り飽きたよ。「俺、大したことしてない」自慢はどうでもいい。

456 :デフォルトの名無しさん:2016/06/30(木) 21:15:15.85 ID:sLb1f1Kv.net
煽りだったのか
一年ぶりくらいに覗いたから真面目に答えちゃったよ

457 :デフォルトの名無しさん:2016/06/30(木) 21:39:24.80 ID:5H3XVU3F.net
煽ってないけど煽られたように感じたのか?被害妄想が強いよ

458 :デフォルトの名無しさん:2016/06/30(木) 21:51:18.97 ID:rtdypMBf.net
最近賑やかだよねここ

459 :デフォルトの名無しさん:2016/06/30(木) 22:05:26.08 ID:6mb8/Dow.net
正しくは、騒々しい
どうしたもんかね?

460 :デフォルトの名無しさん:2016/06/30(木) 22:18:28.46 ID:Hy3lwL8X.net
どうしたもこうしたも、お前らがもっとマトモな事言うようになれば良いんだよ。

461 :デフォルトの名無しさん:2016/06/30(木) 22:35:35.05 ID:6mb8/Dow.net
>>460
つ鏡

462 :デフォルトの名無しさん:2016/06/30(木) 23:13:51.94 ID:5H3XVU3F.net
Twigについて詳細に書かれた書籍を紹介してくれ

463 :デフォルトの名無しさん:2016/06/30(木) 23:28:00.99 ID:OLhHZgT/.net
煽りと言い放った twig信者 ID:Hy3lwL8X がどう出るかw

464 :デフォルトの名無しさん:2016/07/01(金) 00:00:14.32 ID:6h387Z9w.net
Twigの機能ってめちゃくちゃ少ないから、すぐ理解できるよ
http://twig.sensiolabs.org/doc/templates.html

465 :デフォルトの名無しさん:2016/07/01(金) 00:00:33.23 ID:6h387Z9w.net
ID変わったが別人だよ

466 :デフォルトの名無しさん:2016/07/01(金) 03:49:26.00 ID:nOdNhffJ.net
テンプレートエンジンは100行ぐらいの自作の使ってるぜ
動作的にはSmarty参考にしてるが
あきらかに無駄なものは省いてる(その分PHPのコードは多くなるが)
というのは5年前の話

今はPHP組み込みテンプレートに回帰した

467 :デフォルトの名無しさん:2016/07/01(金) 04:37:05.69 ID:nuxhinLl.net
>>463
どう出るかもこう出るかも、本なんかいらねえだろ、としか言いようがない。

468 :デフォルトの名無しさん:2016/07/01(金) 09:07:50.23 ID:WjKv4YQ6.net
>>443
グローバル変数がいけないとする理由が名前空間を汚すからくらいで理解が止まってるなら、もっと掘り下げた方がいいよ

469 :デフォルトの名無しさん:2016/07/01(金) 09:11:23.73 ID:WjKv4YQ6.net
アンカーミス
>>468>>435 へ。

470 :デフォルトの名無しさん:2016/07/01(金) 09:38:52.62 ID:NFKGUhUy.net
メンバ変数に何かしら代入するとき
クラスの外から直接
$instance->hoge = "りんご"
と入れるのと
set メソッドを作って
$instance->hoge_set(りんご);
と代入するのとなにが違うんでしょうか?

471 :デフォルトの名無しさん:2016/07/01(金) 10:26:52.99 ID:J5pfKHnN.net
>>470
何も違わないよ。

ただ、カプセル化のためメンバ変数は原則としてprivateにすべきであり、
そうしたなら$instance->hoge =

472 :デフォルトの名無しさん:2016/07/01(金) 10:28:01.45 ID:J5pfKHnN.net
ただ、カプセル化のためメンバ変数は原則としてprivateにすべきであり、
そうしたなら$instance->hoge = "りんご" という直接のアクセスはできなくなる。
そのため、setterやgetterメソッドを使いメンバ変数にアクセスする。

473 :デフォルトの名無しさん:2016/07/01(金) 10:33:46.78 ID:AsXln+F0.net
>>467
あんたアスペルガーかよ
知らないなら素直に謝りなよ

474 :デフォルトの名無しさん:2016/07/01(金) 13:13:46.41 ID:nuxhinLl.net
>>473
知る必要のない物について、なんで謝らなきゃいけないんだよ。
アスペルガーは自己紹介か?

475 :デフォルトの名無しさん:2016/07/01(金) 13:16:02.41 ID:nOdNhffJ.net
まぁもちつけよ
なかよくやろうぜ

476 :デフォルトの名無しさん:2016/07/01(金) 13:39:25.37 ID:nuxhinLl.net
>>475
うるさい、お前があやまれ、百貫デブ

477 :デフォルトの名無しさん:2016/07/01(金) 13:59:48.74 ID:pwvuyQXb.net
爺さん血圧あがるぜ

478 :デフォルトの名無しさん:2016/07/01(金) 14:13:59.98 ID:5rBp6YVV.net
LoggerはgetInstanceで直接取れというアホがいましたが
LoggerがLogAggregatorに置き換わる可能性を考えてないのでしょうか?
LoggerであろうがLogAggregatorであろうが呼ぶコードを変える必要がない、
というところがオブジェクト指向における肝要な点なのです
分かりますね?

479 :デフォルトの名無しさん:2016/07/01(金) 14:17:01.78 ID:f1B4cC0i.net
変えりゃいいじゃん(真理)

480 :デフォルトの名無しさん:2016/07/01(金) 14:20:57.93 ID:5rBp6YVV.net
DBにおいても、Storageなどのように抽象化して使うという可能性を考えてないのでしょうか?
オブジェクト指向を理解するにはPHPの本だけでは足りません
PHPERといえども、PHP以外に目を向けなくてはいけません

481 :デフォルトの名無しさん:2016/07/01(金) 14:26:03.75 ID:5rBp6YVV.net
>>479
LogAggregator::getInstance()ですか?
そんな醜いコードありませんね?
LogAggregatorをLoggerとして呼べる、というところがオブジェクト指向の力なのですよ
分かりますね?

482 :デフォルトの名無しさん:2016/07/01(金) 14:26:23.14 ID:NXNtj4AO.net
テンプレートエジソンって何ですか?

483 :デフォルトの名無しさん:2016/07/01(金) 14:37:15.67 ID:WjKv4YQ6.net
>>478
Hoge だけが Logger ではなく LogAggregator を使うように変更されたなら LogAggregator::getInstance を使えばいいし、
システム全体として変更になったなら Logger::getInstance が LogAggregator のインスタンスを返せばいいんだろ?
置き換えたり差し替えたりする事を考えているからこそ必要なものを自己解決するようにしろってことなんだが、本当に何も理解できてないんだな。
つか、DI に絡めた説明を読んでも本当に分からないの?
ちょっと理解力の無さに衝撃を受けるけど、>>440 が言うようなことなんだろうかね。

484 :デフォルトの名無しさん:2016/07/01(金) 15:09:10.67 ID:B4DFHSl0.net
>>478
それはオブジェクト指向における肝要な点ではないよね
呼ばれるコードを変えればいいんじゃない?
OreoreLoggerを作ってそれを呼べばいいだけだし

485 :デフォルトの名無しさん:2016/07/01(金) 16:28:20.33 ID:5rBp6YVV.net
>>484
本気で言ってるんですか?
PHPERがオブジェクト指向を台なしにするクソコードを量産してると思うと戦慄しますね

486 :デフォルトの名無しさん:2016/07/01(金) 16:30:26.06 ID:5rBp6YVV.net
メソッドの中にクラス::getInstance()を直書きするよりも
getLoggerというグローバル関数を作ってそれを呼んだ方がまだマシですよ?
分かりますか?

487 :デフォルトの名無しさん:2016/07/01(金) 16:36:16.42 ID:nuxhinLl.net
>>477
この爺さんはお前と違って低血圧で寝起きがわりぃんだよ、クソガキ

488 :デフォルトの名無しさん:2016/07/01(金) 16:41:33.23 ID:nuxhinLl.net
>>478
> というところがオブジェクト指向における肝要な点なのです
> 分かりますね?

Of course not.
Shit and Shut your mouth up and write dusty codes quietly, ah?

489 :デフォルトの名無しさん:2016/07/01(金) 16:47:47.37 ID:5rBp6YVV.net
自分が言っていることはオブジェクト指向においてはごく標準的なことですので
code completeなどの教養書を読むことをおすすめします
こちらからは以上です

490 :デフォルトの名無しさん:2016/07/01(金) 16:59:21.27 ID:6h387Z9w.net
DI寄りの人とサービスロケータ寄りの人の哲学論争と見せかけて、
DI寄りっぽい人が >>483 のようなことを書いてるわけで勝負にならず。

>>488 は論外。

491 :デフォルトの名無しさん:2016/07/01(金) 17:34:37.38 ID:nuxhinLl.net
おまえの考慮の範囲内かどうかなんて知らねぇよ

492 :デフォルトの名無しさん:2016/07/01(金) 17:57:24.88 ID:B4DFHSl0.net
>>485
phpをバカにしたいがためだけに
オブジェクト指向とはなんたるかまで捻じ曲げないでほしい

リファクタリングとか最近新装版出たし読んどこうよ

493 :デフォルトの名無しさん:2016/07/01(金) 18:09:47.50 ID:5rBp6YVV.net
PHPを馬鹿になんてしてませんよ
ただPHPERが馬鹿にされるのもしょうがないとこのスレ見てると分かりますね

494 :デフォルトの名無しさん:2016/07/01(金) 18:13:10.09 ID:5rBp6YVV.net
LOG関係の定数はどうなってるのだろうと思って表示してみたら
LOG_NOTICEとLOG_DEBUGが同じでファ?ってなりました
ググったところwindows版phpはログのfacilityの定数がめちゃくちゃなようです
これはPHPイケてませんな〜

495 :デフォルトの名無しさん:2016/07/01(金) 18:21:00.03 ID:6h387Z9w.net
>>494
イベントログに合わせてるので、どちらかというと
イベントログに対して notice と debug を使い分けようとする windows ユーザの方がおかしい。

また syslog用定数をsyslog(またはイベントログ)と関係ないクラスで流用しようと考えてるならそれもおかしい。

496 :デフォルトの名無しさん:2016/07/01(金) 19:14:33.29 ID:nuxhinLl.net
PHPerが馬鹿ばっかりなのは事実だからいいんじゃねぇかな?
奴が「PHPerが馬鹿だ」と今回思った理由は奴の頭の中だけのことだけど、
アホの中では、結果が同じなら理由なんてどうでもいい事だろうし。

497 :デフォルトの名無しさん:2016/07/01(金) 19:35:59.50 ID:NFKGUhUy.net
ぺちぱー なぜ

498 :デフォルトの名無しさん:2016/07/01(金) 19:39:13.50 ID:NaVGwgiy.net
>>490
素の PHP でできもしない DI をやれと言ってるんじゃなくて、なぜ DI という概念が生まれたのかを考えてみたらと言ってるつもりなんだが、そこは分かっているのかな。

499 :デフォルトの名無しさん:2016/07/01(金) 19:44:46.37 ID:nuxhinLl.net
俺様を論外と言い捨てる馬鹿が、そんなこと分かってる訳ないじゃん。

500 :デフォルトの名無しさん:2016/07/01(金) 19:46:35.74 ID:nuxhinLl.net
ID:5rBp6YVV はさ、自分みたいな人の事をなんと呼ぶか
端的に言い表すとても良い言葉が昔から言われ続けてるって事、
わかってるのかな?

501 :デフォルトの名無しさん:2016/07/01(金) 19:47:04.39 ID:6h387Z9w.net
>>498
なぜ生まれたかってことに対してはDRY原則以外にはないけれど、そもそも話の中でインターフェースのイの字も出てこないのはおかしいでしょ。

502 :デフォルトの名無しさん:2016/07/01(金) 19:47:42.13 ID:NaVGwgiy.net
>>470
メンバ変数に直接代入するということは、値を保持する実体を変数に固定化することになり抽象化できていないということ。
アクセスメソッドを通せば値の保持を変数以外にすることもできるし、クラスの動作を維持できる値に限定することでき、クラスの内情を隠蔽できる。
サブクラスでオーバーライドすることもできるし interface化することもできるし、これはポリモーフィズムの考え方の上でも重要。

503 :デフォルトの名無しさん:2016/07/01(金) 19:53:06.85 ID:NaVGwgiy.net
>>501
何言ってるのかよく分からないけど、DI の特筆するべき点は依存性の排除だよ。
上流が下流の事情に合わせて段取りしなければならないのはその間に依存関係ができているということだ。
特に上流が下流に依存している点はとてつもなく愚かなことだろう?

504 :デフォルトの名無しさん:2016/07/01(金) 19:54:05.44 ID:6h387Z9w.net
>>503
結合を疎にすることが目的であって、依存性を排除したわけじゃない。

505 :デフォルトの名無しさん:2016/07/01(金) 19:56:46.91 ID:NaVGwgiy.net
>>486
まあ考え方の上ではそれでもいいんじゃない。
PHP は実行時に後から関数を足せるから満たすべき要件は満たしていると思うよ。
ただその処理に他の関数や変数が必要なのであればクラス化すべきなのは分かるよね。

506 :デフォルトの名無しさん:2016/07/01(金) 19:57:30.96 ID:NaVGwgiy.net
>>504
結合を疎にするってどういうこと?

507 :デフォルトの名無しさん:2016/07/01(金) 20:06:17.45 ID:NaVGwgiy.net
あ、>>506 は否定してるわけではなく、依存性の排除を否定した上で疎結合を理由に挙げるその心を訪ねてるんだよ。

508 :デフォルトの名無しさん:2016/07/01(金) 20:13:22.39 ID:6h387Z9w.net
期待しているメソッドがあるはずだから、依存性を排除することはできない。
問題は何に依存するかであって、具象クラスよりインターフェイスの方が依存性は低く、
かつ、抽象クラスよりインターフェイスの方が呼び出し側に与える影響は小さくなる。

509 :デフォルトの名無しさん:2016/07/01(金) 20:15:08.21 ID:6h387Z9w.net
あ、結合を疎にするというのは依存レベルを低くすること。

510 :デフォルトの名無しさん:2016/07/01(金) 20:17:34.29 ID:5rBp6YVV.net
クラスのコンストラクタに、配列でパラメータを渡したいです
[1,2,3]
という配列を渡したとしたら、
1が第一引数、2が第二引数、3が第三引数になるような形にしたいということです
call_user_func_arrayでクラスのコンストラクタを呼んでみたのですが
やはりというか、___constructは呼べませんでした
いい方法はないでしょうか?

511 :デフォルトの名無しさん:2016/07/01(金) 20:17:41.67 ID:NaVGwgiy.net
>>508
うんとね、Logger を使うクラスだけが Logger(の存在)に依存するのは当たり前なの。
んで Logger の内情に依存しないことが重要だし、Logger を使いもしない Controller が Logger に依存しないことも重要なの。
でないと下流のクラスの仕様に上流が引きずられちゃうでしょう?

512 :デフォルトの名無しさん:2016/07/01(金) 20:20:00.68 ID:NaVGwgiy.net
>>511
Logger(の存在と interface) と言うべきだった

513 :デフォルトの名無しさん:2016/07/01(金) 20:26:55.89 ID:6h387Z9w.net
>>511
誰が注入するかという話はDIのバリエーションの話になるよ。
何もDIコンテナを使ったものだけをDIというわけじゃない。

514 :デフォルトの名無しさん:2016/07/01(金) 20:31:02.53 ID:5rBp6YVV.net
B級プログラマーのオブジェクト指向論はどうでもいいです
ちゃんとした本を読んだ方がずっと勉強になるのですから、意味ないですよね?
>>510は出来ないのでしょうか?

515 :デフォルトの名無しさん:2016/07/01(金) 20:33:54.91 ID:e7PnYpXD.net
パーフェクトPHPという本を読み込みなさい
そして http://php.net/manual/ja/ を丸暗記しなさい
英語が読めるなら原文の方を暗記しなさい

516 :デフォルトの名無しさん:2016/07/01(金) 20:35:32.51 ID:6h387Z9w.net
>>511
連投ごめんね。

ClassAが、
・Loggerの内情に依存しない
・ClassAがLoggerを使っていること(=ClassAの内情)を、他のクラスに知られないようにする
という形にしたいのであれば、ClassAの中でLoggerを利用すればいいだけ。

DIが生まれたのは、ClassAがLoggerと密に結合していることを問題視して、
利用する側がClassAにLoggerを渡すところから始まっている。
そしてそれは引きずられるのではなく、上流が下流に対して振る舞いを指示できるようになったという結果を生んでるんだよ。

517 :デフォルトの名無しさん:2016/07/01(金) 20:38:26.06 ID:NaVGwgiy.net
>>513
DIコンテナが使えないなら当事者が注入しなけりゃ意味が無いだろ。
Controller から Hoge の処理を呼び出すとき、お前は Hoge の存在だけを見て Hoge が何に依存しているのか分かるのかい?
コードを知っているから DBConnection と Logger と FTPSession と Pipe を必要としていて他の物を必要としていないことが分かるんだろ?
ころころ変わるコードに Controller 等の上流を強依存させて何の得があるんだよ。

518 :デフォルトの名無しさん:2016/07/01(金) 20:44:56.53 ID:5rBp6YVV.net
>>510の件ですが
ReflectionClassオブジェクトを作成して
newInstanceArgsメソッドを呼ぶことで出来ました
さすがPHPですね

519 :デフォルトの名無しさん:2016/07/01(金) 20:47:32.96 ID:NaVGwgiy.net
>>516
振る舞いを指定するのは上流ではなく注入処理だよ。
DIコンテナならそれが、Logger::getInstance ならそれが。
これは Logger用の interface を持つオブジェクトを返しさえすればよく、具象クラスとして何を取るかは状況次第。

520 :デフォルトの名無しさん:2016/07/01(金) 20:52:58.33 ID:5rBp6YVV.net
なんかアホがワーワー言ってますが
loggerやstorageなどは中核オブジェクトなんですから
controllerが持つのは当たり前の話ですよ
どうでもいい小さいオブジェクトまでcontrollerが管理するというのとは訳が違うのです
中核オブジェクトを、controllerが管理する
当たり前の話です
分かりますね?

521 :デフォルトの名無しさん:2016/07/01(金) 21:04:55.89 ID:qQXMaWnA.net
>>520
どっちの意見もそれなりに論理で勝負してるのに、お前は取り残されてるなw

522 :デフォルトの名無しさん:2016/07/01(金) 21:07:39.17 ID:NaVGwgiy.net
>>520
どうでもいい小さなオブジェクトはどう扱うつもりなの?

523 :デフォルトの名無しさん:2016/07/01(金) 21:11:42.84 ID:5rBp6YVV.net
>>522
別に、普通に扱えばいいのでは?

524 :デフォルトの名無しさん:2016/07/01(金) 21:16:37.08 ID:NaVGwgiy.net
>>523
普通ね

恥ずかしげもなくそう言えるなら大物だわ。

525 :デフォルトの名無しさん:2016/07/01(金) 21:39:49.55 ID:YXX+KkPc.net
普通===俺の常識

526 :デフォルトの名無しさん:2016/07/01(金) 21:47:14.33 ID:9AhyjXN+.net
=って三本あるとどうなるの

527 :デフォルトの名無しさん:2016/07/01(金) 22:02:12.30 ID:NIM9JsnI.net
===じゃないと糞になる

528 :デフォルトの名無しさん:2016/07/01(金) 22:03:34.68 ID:Dm1EmYMS.net
糞になるなら仕方ない

529 :デフォルトの名無しさん:2016/07/01(金) 22:04:01.53 ID:Dm1EmYMS.net
……なんかidコロコロ変わるな
なんでや

530 :デフォルトの名無しさん:2016/07/01(金) 23:00:52.52 ID:iZDDOrJW.net
今後のアプデで、switchが===扱いになったりとかしない?

531 :デフォルトの名無しさん:2016/07/01(金) 23:11:50.29 ID:f1B4cC0i.net
アプデってお前

532 :デフォルトの名無しさん:2016/07/01(金) 23:53:15.86 ID:5rBp6YVV.net
このスレの人はフレームワークとか使わないんですか?
まともなフレームワークをそこそこの深さで使ってたら
標準的な手法が身につくと思うのですが・・

533 :デフォルトの名無しさん:2016/07/02(土) 00:09:41.68 ID:6wqirpOd.net
> loggerやstorageなどは中核オブジェクトなんですから
> controllerが持つのは当たり前の話ですよ

どのフレームワーク使ったらこんな恐ろしいこと言えるようになるの?

534 :デフォルトの名無しさん:2016/07/02(土) 00:14:51.51 ID:Ak+ALY9s.net
>>533
????
きちがいですか?

535 :デフォルトの名無しさん:2016/07/02(土) 00:19:04.43 ID:Ak+ALY9s.net
loggerをcontrollerに持たせる場合、
つまり標準的なフレームワークと同じやり方をする場合、
よく考えたらloggerをわざわざsingletonにする必要ありませんね
controllerが持っているloggerを使い回すということはコードを見れば明らかなのですから
規約的な意味も希薄ですし

536 :デフォルトの名無しさん:2016/07/02(土) 03:08:16.71 ID:aZlBsz9H.net
すっかり雑談スレだな
WebProg池よ
初心者がこねーだろ

537 :デフォルトの名無しさん:2016/07/02(土) 03:50:31.31 ID:Gc3c5Ysp.net
>>535
logger と聞いただけで singleton にする必要が無いと思い込んじゃう想像力の無さがお前のダメさを如実に表しているな。
さらに logger が singleton なのかどうかを logger を使う側が気にすることがダメなんだということにもまだ気付いていない。

538 :デフォルトの名無しさん:2016/07/02(土) 04:00:37.11 ID:Ak+ALY9s.net
>>536
その前に変な回答者が多すぎるのが問題では?
少し掃除しないと初心者も可哀想ですよ

539 :デフォルトの名無しさん:2016/07/02(土) 05:44:08.77 ID:3tO+fsu0.net
>>538
ああ、俺もその意見に同感だ。猿は少し間引かないとな。
RADWIMPSが言ってたな。「パンダ増やします、猿減らします」って。
パンダを増やすべきだ。

540 :デフォルトの名無しさん:2016/07/02(土) 05:55:20.18 ID:Ak+ALY9s.net
PHPで二進対数を計算するにはどうしたらいいですか?
8→3
16→4
32→5
みたいな計算をしたいです

541 :デフォルトの名無しさん:2016/07/02(土) 06:01:12.08 ID:Gc3c5Ysp.net
>>540
対数 底の変換 で検索してみるといいよ。

お前がやりたいことは 2 を底(てい)とした対数を取りたいということで、
それは他の底を持つ対数から変換できる。

542 :デフォルトの名無しさん:2016/07/02(土) 06:03:21.19 ID:3tO+fsu0.net
これでいいのけ? もう20年も使ってないから、対数ってなんだったか忘れたよ。

http://php.net/manual/ja/function.log.php

<?php
echo log(8, 2);
echo log(16, 2);
echo log(32, 2);

543 :デフォルトの名無しさん:2016/07/02(土) 06:04:59.88 ID:3tO+fsu0.net
>>541
悪意はない、すまない。時差の問題だ。

544 :デフォルトの名無しさん:2016/07/02(土) 06:06:41.66 ID:Gc3c5Ysp.net
>>542
すまん、それが正解だw

>>541 で言った答えは log(x)/log(2) だったけど、PHP の log は任意の底を取れるんだからそれを使うのが正しいね。

545 :デフォルトの名無しさん:2016/07/02(土) 06:08:59.63 ID:3tO+fsu0.net
んー… 基数を何乗したらその数になるかっていう値のことだったかな…?

546 :デフォルトの名無しさん:2016/07/02(土) 07:07:15.18 ID:Gc3c5Ysp.net
なんとなく気になってベンチを取ってみた。
$x=200; $b=2; 、加えて $l1=log($b); $l2=1/log($b); としたとき、同じ結果を得る以下の式の場合、

A: log($x, $n)
B: log($x)/log($n)
C: log($x)/$l1;
D: log($x)*$l2;

処理時間の昇順に
D: 1.35
C: 1.38
A: 1.68
B: 2.25
って比率だった(PHP5.3)。

PHP的に一番シンプルな A が最速ではないというのは注目ポイントかも。
些細な最適化のためにコードを汚すのは考え物だけど、大量に計算する場合には役に立つかもしれない。

547 :デフォルトの名無しさん:2016/07/02(土) 07:09:05.12 ID:Gc3c5Ysp.net
>>546
間違い
謎の $n とか入ってるけど、底を表す $b に読み替えて。

548 :デフォルトの名無しさん:2016/07/02(土) 07:25:22.73 ID:3tO+fsu0.net
>>546乙インド

549 :デフォルトの名無しさん:2016/07/02(土) 09:07:04.13 ID:Gr/AVEJE.net
>>539
RADWIMPSだってさプークスクス

550 :デフォルトの名無しさん:2016/07/02(土) 09:46:41.43 ID:VKlZsQCl.net
ぶっちゃけ今でもDAO的なclass普通に作るよな
要件、拡張の可能性、そして使い方次第

551 :デフォルトの名無しさん:2016/07/02(土) 11:13:17.79 ID:Ak+ALY9s.net
>>542
log関数って底が指定できたんですね
自然対数って書いてるので出来ないと思い込んでいました
ありがとうございました

552 :デフォルトの名無しさん:2016/07/02(土) 11:14:31.68 ID:Ak+ALY9s.net
>>546
log関数が遅いのは意外な結果ですね〜
ありがとうございます

553 :デフォルトの名無しさん:2016/07/02(土) 12:02:48.88 ID:Gr/AVEJE.net
おまえらで書籍にまとめてくれ

554 :デフォルトの名無しさん:2016/07/02(土) 13:01:04.30 ID:Uz/cYZNQ.net
>>552
底が決まってれば大抵ハードウェアで一発で計算できるけど、任意の底を取れるようにすると対数の計算が二度必要な底の変換公式を内部で使うから遅いんだろうね。
底が決まっていれば予め係数(>>546 で言う $l2)を求めておくことでハードウェア一発で計算できるし、
そのかけ算を別途行ったとしても対数を二度取るよりは速いということなんだろう。

ハードウェアと言ってるのは浮動小数演算ユニットのことだけど、こいつは大抵 y * log2(x) を一度で計算できる命令を持っているから、y の取り方次第で好きな底の対数を計算できる。

555 :デフォルトの名無しさん:2016/07/02(土) 13:53:24.67 ID:wsJfJL21.net
PHPの実装では底がe, 2, 10の場合はそれぞれCでの実装のlog, log2, log10の値をそのまま返すから速い(例えばglibcの実装では>>554の言うFYL2Xなどを使用)
それ以外の正の底に対しては内部で2回logの呼び出しをするから相対的には遅くなっている

まぁ, とはいえそもそもPHPで数値計算するのは間違ってると言わざるを得ないので, 素直に log($x, $base) 形式を用いるのが実用上正しいのでは

556 :デフォルトの名無しさん:2016/07/02(土) 14:36:42.37 ID:3tO+fsu0.net
>>551
すまんのぅ、わしゃ、もう年寄りだで、自分が書いたのが役に立ったのか立ってないのかもよくわからんのじゃ。

557 :デフォルトの名無しさん:2016/07/02(土) 15:10:05.35 ID:JtYANZRx.net
>>555
対数を 2度計算するとは言え C で書かれた PHP の組み込み関数内で完結した処理より、
対数を 1度しか計算しないとは言えスクリプトで書かれ PHP内では多くの工程で処理されると思われる >>546 の C や D の式の評価の方が速いというのはちょっと驚きだよ。
$l2 のように変数に取らずリテラルで書いてしまえばもっと速いんだろうな。
実験としては十分面白かった。

558 :デフォルトの名無しさん:2016/07/02(土) 15:14:10.00 ID:wsJfJL21.net
個人的には, logの計算が最大の律速段階で, 次いでPHPの関数呼び出し(引数のパース等)が遅いと思っているから違和感のない結果

559 :デフォルトの名無しさん:2016/07/02(土) 16:19:08.15 ID:Rb2LkFYj.net
ドキュメントルートではなくサーバーのルートからファイルをincludeする書き方を教えて下さい。

/home/user1/public_html/test1.php
から
/home/test2.php
をincludeするのは
include('/home/test2.php');
と書けば出来ました。

/varなどでも同じように可能でしたが、

/test2.php
include('/test2.php');

/test_dir/test2.php
include('/test_dir/test2.php');
などのルート直下にファイルやディレクトリを作った場合はなぜか上手くinclude出来ません。

どのように記述すればinclude出来ますでしょうか?

560 :デフォルトの名無しさん:2016/07/02(土) 17:32:12.19 ID:OG4R9rBF.net
パーミッションとかの話じゃなく?

どうでもいいけど、
ドキュメントルートからって話は一体どこから出てきた?

561 :デフォルトの名無しさん:2016/07/02(土) 17:37:34.03 ID:Rb2LkFYj.net
>>560
ありがとうございます。

ドキュメントルートを出したのは念の為です。

ルートのパーミッションを弄るのは怖いので諦めて/homeに設置しようと思います。

562 :デフォルトの名無しさん:2016/07/02(土) 17:47:41.05 ID:mwZIaQih.net
何でルート直下に置きたがるんだろう

563 :デフォルトの名無しさん:2016/07/02(土) 19:04:27.57 ID:3tO+fsu0.net
坊やだからさ。

564 :デフォルトの名無しさん:2016/07/02(土) 20:11:16.72 ID:Rb2LkFYj.net
anyenv(phpenv)をrootでインストールしたら.anyenvがルート直下に出来てしまったのでinclude_pathをどうしたものかと悩んでいました。

php.ini

include_path = ".:~/.anyenv/envs/phpenv/versions/7.0.8/composer"

/home/user1/public_html/test.php

include('vendor/autoload.php');


これだと動かないので。

565 :デフォルトの名無しさん:2016/07/02(土) 21:13:27.87 ID:qCWBlFIu.net
設計書もコメントも一切存在しないzend frameworkベースのバグフィックスってどうすればいいかね
やっぱりローカルに同じ環境持ってきてステップ実行しかねえかなあ

566 :デフォルトの名無しさん:2016/07/03(日) 01:56:31.63 ID:TTP9/HVO.net
echo explode(' ','hoge moge')[0]

みたいな書き方が出来るようになったのってバージョンいくつからですか?

567 :デフォルトの名無しさん:2016/07/03(日) 02:18:27.91 ID:tHOEkEV6.net
http://php.net/manual/ja/migration54.new-features.php

>PHP 5.4.0 には多くの新機能が含まれています。
>(中略)
>foo()[0] のように、関数の返り値を配列として扱えるようになりました。

568 :デフォルトの名無しさん:2016/07/03(日) 03:29:34.72 ID:TTP9/HVO.net
>>567
5.4ですか
いつの間にか出来るようになってたのでびっくりしました
ありがとうございます

569 :デフォルトの名無しさん:2016/07/04(月) 01:21:36.32 ID:Kv6VoUZu.net
結局フレームワークってどれがいいの?
一人で開発するのにフレームワークって必要?
あと一番シンプルなフレームワークってどれ?

570 :デフォルトの名無しさん:2016/07/04(月) 01:26:06.13 ID:HalI8QWT.net
>結局フレームワークってどれがいいの?
PHPのFWは軒並み糞
なんで糞なのかというとPHPの仕様に問題がある
どれも糞だから自分にあった好きなの選べ

>一人で開発するのにフレームワークって必要?
何をするのかとか規模による
FWを使ってラピッド開発にならないなら使う必要はない

>あと一番シンプルなフレームワークってどれ?
元祖CI

571 :デフォルトの名無しさん:2016/07/04(月) 01:47:52.14 ID:aBAEFZpX.net
file_get_contentsに@を付けて
その後エラーチェックしてないコードをネットで見ますが
エラーチェックしないなら@を付けずに実行して、
読み込みを失敗した時点で止まった方が良くないですか?
エラーチェックしないのに@を付けるメリットは何でしょうか?

572 :デフォルトの名無しさん:2016/07/04(月) 02:12:01.69 ID:HalI8QWT.net
止まったほうが良くないのだろう
まぁ十中八九エラー処理が面倒でそういう糞コード書いてるだけ

573 :デフォルトの名無しさん:2016/07/04(月) 04:24:29.65 ID:zEq9SldJ.net
ここんとこ、良くわかんねぇ事がある。
先日のcontroller原理主義者の時に、
「DBアクセスはシングルトンだろ」と言ってた奴いたよな。二人ほど。
俺も同感なんだか、その結論に至るには結構紆余曲折した。
DAOみたいなクソシステムや、ActiveRecord試してみたりしながら、結局、シングルトンDataMapperが最善だってなった。
でも、関わるどのプロジェクトでも、そんなの使ってる事は皆無で、本当に嫌で嫌でしょうがなかった。「世の中はアホしかいないんだ」と半ば諦めてた。
ところが、当たり前のようにシングルトンを選べる奴が、普通にいる訳だ。
お前らは一体何処にいるんだ?
本当に現実に存在してるのか?最近のマイミステリーだ。

574 :デフォルトの名無しさん:2016/07/04(月) 05:23:03.82 ID:jofDwZqc.net
ActiveRecord、DataMapper、DAOだって
結局のところ突き詰めていけばどのように細分化・分担するかだけだ
どれが常に最善であるかは一意に決められるものではない 決めたがるお猿さんはいるけどな

効率の観点で使うものを決めれば良い
常に要件に最も合うものを使うか、
チームが扱うプロジェクトに合う確率が最も高いものを使うか、
チームのメンバー全体で見て最も使い慣れたメンバーが多いものを使うか

ま、>>573は自分の気に食わないやり方を採用するプロジェクトにしか関われない立場と
自分の発言力の無さを呪うしかないな

575 :デフォルトの名無しさん:2016/07/04(月) 07:35:44.59 ID:zEq9SldJ.net
>>574
おまえがcontroller原理主義者でないかどうかはわからんし、
過去に何言った奴かもわからんから、お前の言うことに説得力はない。

>どれが常に最善であるかは一意に決められるものではない
>効率の観点で使うものを決めれば良い

そう思うか? 俺はそうは思わないな。なんか、お前レベル低そうだ。
どんなものだろうと便利であれば1度作って使い回すだけだから、
効率の話なんか出てくる時点でおかしい。

>自分の気に食わないやり方を採用するプロジェクトにしか関われない立場と
>自分の発言力の無さを呪うしかないな

それは俺も呪ってる。これからは >>574 のことも呪うことにする。

576 :デフォルトの名無しさん:2016/07/04(月) 07:42:54.30 ID:vfQsqtYB.net
>>575
なんだこの絡み方はw

577 :デフォルトの名無しさん:2016/07/04(月) 08:11:45.05 ID:Fhur3x2/.net
>>576
最近おかしいやつが1人常駐してるんだよ

578 :デフォルトの名無しさん:2016/07/04(月) 11:23:55.91 ID:aBAEFZpX.net
controller原理主義わろた
単なる普通のやり方だろ
合理的な普通のやり方にレッテル貼りをして安心せざるを得ない時は
自分の感覚の方がおかしいと分からんか?
singletonっていうのは分かりやすいから
初心者に毛が生えたくらいの奴が形式的に受け入れてドグマ化しやすいってだけ
何が「どこにいるんだ?」だよ気持ち悪い

579 :デフォルトの名無しさん:2016/07/04(月) 13:15:25.25 ID:HalI8QWT.net
わかりやすいからって・・・
まあ小規模しか作らないやつにはリソースの使い方なんてのは考慮する必要ないか

580 :デフォルトの名無しさん:2016/07/04(月) 13:44:51.69 ID:vfQsqtYB.net
>>571
他人を初心者に毛が生えた程度と評するやつの質問がこれか。

一応その質問に答えておくと、@ はエラーメッセージの出力を抑制するのであり、エラー時に止まらないようにするわけでもエラーチェックをしないことを宣言しているわけでもない。

581 :デフォルトの名無しさん:2016/07/04(月) 15:12:00.24 ID:9DDjFtrw.net
彼の流儀としてはloggerのインスタンスをcontrollerに持たせて、
controllerのインスタンスをいろんなオブジェクトに引き回すんだっけか。

582 :デフォルトの名無しさん:2016/07/04(月) 15:35:36.28 ID:aBAEFZpX.net
煽り方も頭が悪いね〜
鸚鵡返ししておけば馬鹿がばれないと思ってるようだが大間違いやぞ

583 :デフォルトの名無しさん:2016/07/04(月) 15:39:21.49 ID:aBAEFZpX.net
>>580
じゃあ@を書いていても止まるんですか?
ログを見ると、503エラーでプログラムが止まっているようなので
@を付加して止まらないようにして
503ならしばらく置いてからリトライするようにしたのですが
これだとうまくいかないということでしょうか?

584 :uy ◆e6.oHu1j.o :2016/07/04(月) 15:42:45.46 ID:RKNLnwF6.net
uyだけど
PHPスレで初心者レッテルはやめたほうが良いと思う
そんなのは、言語の時点で気づかなければならない

585 :デフォルトの名無しさん:2016/07/04(月) 15:47:34.47 ID:9DDjFtrw.net
>>583
> 503ならしばらく置いてからリトライするようにした
この近辺のコードを提示すると話が進みやすいと思うよ

586 :デフォルトの名無しさん:2016/07/04(月) 15:47:37.30 ID:icaMCGk1.net
え, 何>>583>>578とたまたまIDが被っただけの別人?

587 :デフォルトの名無しさん:2016/07/04(月) 15:49:10.24 ID:aBAEFZpX.net
>>586
同じですよ
質問する時には敬語を使うようにしているだけです

588 :デフォルトの名無しさん:2016/07/04(月) 16:01:21.99 ID:icaMCGk1.net
>>578の発言的にエラー制御演算子の動作を理解してないとは思えないんだけども

まぁ一応回答しておくと>>580の言う通りで, file_get_contentsは(通常)失敗時にE_WARNINGを吐くだけだから@を付けようが付けまいが停止しない
E_ERRORレベルのエラーを出す式に@を付けてエラー出力抑制してもプログラムは終了される

589 :デフォルトの名無しさん:2016/07/04(月) 16:04:10.30 ID:vfQsqtYB.net
>>583
@ を書かなければ設定によっては Warning が出るだけで、@ の有無によらず関数は false を返して処理は続行するだろう?
止まるってんなら >>585 の言うようにコードを出してごらんよ。
ステータス拾ってるようだから URL 以外のパラメータも渡してるんだろ?

590 :デフォルトの名無しさん:2016/07/04(月) 16:09:06.70 ID:icaMCGk1.net
ステータス自体は呼出直後に$http_response_headerを見れば分かるからパラメタとして渡す必要はないよ

591 :デフォルトの名無しさん:2016/07/04(月) 16:24:12.10 ID:aBAEFZpX.net
ありがとうございます
503エラーを返してくれるサイトを使って

$url = 'http://ozuma.さくら.ne.jp/httpstatus/503';
$s = @file_get_contents($url);
echo "hoge\n";

$s = file_get_contents($url);
echo "poge\n";

としてみたところ、止まらないことが確認出来ました
(さくらはsakura。NGに引っかかったため)
ログの状況から、そこで止まってるように見えたのですが、そうではないようです

592 :デフォルトの名無しさん:2016/07/04(月) 17:42:46.61 ID:QRGFh0J0.net
>>591
本題と関係ないが、
<?php
header ('HTTP/1.0 503 Service Temporarily Unavailable');
とか書けばどんなエラーも自由自在

593 :デフォルトの名無しさん:2016/07/04(月) 18:15:21.18 ID:aBAEFZpX.net
>>592
そうですね
それは知っていました
でも知らなかった人もいると思います
良かったですね?

594 :デフォルトの名無しさん:2016/07/04(月) 18:18:21.22 ID:aBAEFZpX.net
>>591の件ですが原因が分かりました
メソッド名を間違えていた
→fatalエラー発生
→エラーハンドラ呼ばれない
→ログにも残らない

という流れでした
fatalエラーだとエラーハンドラが呼ばれないとは知りませんでした
しかし、だとしたら問題ですよね?
fatalなエラーなのにログに残らないなんて、駄目だと思います

595 :デフォルトの名無しさん:2016/07/04(月) 19:28:30.53 ID:aBAEFZpX.net
>>594の件ですが
register_shutdown_functionで登録した終了関数の中で
error_get_last()でエラーを取得してエラーハンドラに投げる
という方法でロギング出来ました
こんな癖のある挙動をするとは知りませんでした・・

596 :デフォルトの名無しさん:2016/07/04(月) 20:59:29.51 ID:wLgTOUHR.net
@$foo ?: 〜だけは許して欲しい

597 :デフォルトの名無しさん:2016/07/04(月) 21:18:03.82 ID:rivoK9gl.net
issetじゃダメなん?

598 :デフォルトの名無しさん:2016/07/04(月) 22:53:33.53 ID:ePWHxodh.net
isset($foo)&&$foo? ってのも正直だるいよね。
ただ @$foo['bar']? なら isset($foo['bar'])&&$foo['bar']? の方が速いんだよね。

599 :デフォルトの名無しさん:2016/07/04(月) 23:46:16.70 ID:HalI8QWT.net
error_reportingで制御すりゃいいのに

600 :デフォルトの名無しさん:2016/07/05(火) 00:04:51.54 ID:sZrXDB54.net
>>599
開発中どうすんの?

601 :デフォルトの名無しさん:2016/07/05(火) 01:18:28.86 ID:fcpyEoAk.net
開発中は出すにきまってんだろjk

602 :デフォルトの名無しさん:2016/07/05(火) 02:27:59.76 ID:JruVBNMN.net
見たくないnoticeを消したら
見る必要のある(想定外の)noticeまで消えてしまうので良くないのでは

603 :デフォルトの名無しさん:2016/07/05(火) 03:05:45.42 ID:6Y/PZUJV.net
そりゃproduction環境では E_ALL & ~E_DEPRECATED & ~E_STRICT にするんだろうけどさ
E_NOTICEレベルの警告は開発段階で(@演算子を使わずに)潰しておくだろう

604 :デフォルトの名無しさん:2016/07/05(火) 12:18:06.22 ID:LDDVFgFX.net
>>600
開発環境の時はエラー出力して
本番環境ならエラーの出力は抑制してログへ吐き出す
今がどちらの環境かか自動で判定して制御すればいいだけ

>>598
if (!empty$foo['bar'])
値が0の時は注意しないといけないが
2行目についてはそれで正解
ベンチ取れば分かるが@のエラー抑制はくっそ遅い
何よりそんなコード気持ち悪い

605 :デフォルトの名無しさん:2016/07/05(火) 12:22:18.14 ID:LDDVFgFX.net
>>596
変数定義のエラーを@で抑制するようなうんこコードはあり得ないな
定義されてない変数をif()とかで評価する可能性がある時点でそのコードがうんこってこと

PHP自体うんこだろと言われたらその通りではあるが

606 :デフォルトの名無しさん:2016/07/05(火) 12:25:34.51 ID:Pdx4sn6D.net
それを言っちゃあ、おしめえよ

607 :デフォルトの名無しさん:2016/07/05(火) 12:29:13.98 ID:l48k36DU.net
定義されてるかわからない変数の評価もだが
($foo)と評価するやり方が個人的に一番気持ち悪い

608 :デフォルトの名無しさん:2016/07/05(火) 12:29:21.48 ID:WI0+kd35.net
> PHP自体うんこだろと言われたらその通りではあるが

俺のPHPは美しいぞ? お前のPHPとはなんか違うようだな。

609 :デフォルトの名無しさん:2016/07/05(火) 12:34:43.11 ID:LDDVFgFX.net
>>595
もう終わった質問かもしれないが、
そもそもの話、HTTPリクエストを扱うのにfile_get_contents()なんか使うのを止める事をおすすめしとく
良いHTTPライブラリが色々あるから好みのを探して使うといい

file_get_contents()は手軽さ以上のメリットは何もない
PHPなんて手軽さしか取り柄がないだろとと言われたらその通りではあるが

610 :デフォルトの名無しさん:2016/07/05(火) 12:41:09.45 ID:LDDVFgFX.net
>>573
その話は知らないし過去ログを見る気もしないが
クライアントにとって大事なのは「何で」作るかではなく「何を」作るかだ
そこら辺勘違いしてるアホなレッテル貼りが○○原理主義者なんて呼ばれるんだろうな

PHPレベルに要求される案件をあまり勘違いしないことだ

611 :デフォルトの名無しさん:2016/07/05(火) 12:50:10.10 ID:LDDVFgFX.net
>>600
例えば個人の趣味レベルで作ったもので、本とかによく載ってる開発環境がwindows・本番環境がwindows以外って条件なら

if (DIRECTORY_SEPARATOR === '\\') {
error_reporting();
ini_set('log_errors', );
ini_set('error_log', );
ini_set('display_errors', );
ini_set('display_startup_errors', );
} else {

}

こんなコードでも充分
くどいようだがあくまでも個人の趣味レベルな

ID赤くなったから息抜きお終い
何年かぶりにスレ覗いたがPHPもまだまだ元気で安心したわ

612 :デフォルトの名無しさん:2016/07/05(火) 13:10:57.27 ID:WI0+kd35.net
>何年かぶりにスレ覗いたがPHPもまだまだ元気で安心したわ

お前は明日にも死にそうだけどな。

613 :デフォルトの名無しさん:2016/07/05(火) 13:18:07.68 ID:JruVBNMN.net
>>609
そんなに悪くないと思いますよ
手軽ですし、速いです
file_get_contentsのタイムアウト周りの挙動が良く分からなかったので
一時cURLを使おうともしたのですが
wgetコマンドを呼び出すより遅かったのでやめました

614 :デフォルトの名無しさん:2016/07/05(火) 16:46:09.36 ID:VU1gnqxP.net
アホなクライアントはラーメン屋の行列と同じで「(隣を指さして)これと同じの」としか言わないから
どうやって量産するかという基盤システムを作ったもん勝ち
それが大体10年くらい前の話題で、今居残りさせられてるのは貧乏くじ
土方と揶揄されても仕方ないだろう

615 :デフォルトの名無しさん:2016/07/05(火) 17:58:57.47 ID:EUUfHMIQ.net
>>611
> 例えば個人の趣味レベルで作ったもので、本とかによく載ってる開発環境がwindows・本番環境がwindows以外って条件なら
どんなゴミ本だよ

616 :デフォルトの名無しさん:2016/07/05(火) 18:02:30.00 ID:jouMPhmz.net
常にクロスプラットフォームを意識しろってことだよたぶん

617 :デフォルトの名無しさん:2016/07/05(火) 18:54:57.76 ID:WI0+kd35.net
>>615
流石にお前が馬鹿過ぎて>>611が可哀想。

618 :デフォルトの名無しさん:2016/07/05(火) 19:35:22.08 ID:LDDVFgFX.net
>>613
PHPのコードはもうかなり長い間ゴリゴリは書いてないし、新機能以外の知識はほぼ止まってるから、間違った事を書いてたら申し訳ない…と断った上で

file_get_contents()の欠点は、書いてる通りタイムアウトを始めとしたエラー処理が貧弱な事
逆にいうとそこは理解した上で使ってるっぽいから、俺がとやかく言う事じゃなかった
申し訳ない

あとこれは好みの問題になるのかもしれないが、HTTP(S)以外の処理を書く時に、なんか直感的ではないというか汎用性がないというか…
例えばDBMSでMySQLとSQLiteの選択肢があっても、ほぼ同じコードでどちらにも対応できると思うんだけど、
file_get_contents()はそうじゃないんだよね

これが例えばcURLを使ったライブラリならほぼ同じコードで対応できる
※cURLは環境依存性が高いから絶対にこれが良いというつもりはないが、ライブラリの中にはcURLその他を選択できるものもある

結局のところPHPレベルに求められている事は、いかに労力をかけずにやりたい事を実現するか?なので、
汎用性のあるコードを自分の財産にしていった者勝ちなんだよね(>>614も似たような事書いてるけど)
流石に30才過ぎてPHPのコードなんてゴリゴリ書きたくないでしょw

619 :デフォルトの名無しさん:2016/07/05(火) 20:31:01.36 ID:JruVBNMN.net
ストレージは将来的に置き換わることはあり得ますが
httpを取得する部分が置き換わることはまずないので、
汎用的である必要もない気が・・。
curlを覚えておけば知識の流用はできますが
それよりhttp自体の知識の方が大切ですよね

620 :デフォルトの名無しさん:2016/07/05(火) 20:45:30.41 ID:xlC0Dx0E.net
最近のAPIなんかはHTTP叩くものが主流だがcURLは色んなプロトコルに対応してるからな
file_get_contentsも対応はしてるが読む気が失せるソースが多い
大昔から車輪の再発明なんて言われるが賢い人の作ったコードライブラリを賢く使うことは大事だぞ
あまり人の言うことを素直に聞くタイプではなさそうだが

621 :デフォルトの名無しさん:2016/07/05(火) 20:55:48.22 ID:LDDVFgFX.net
それを言い出すとPHPもcURLも賢い人が作った賢い(ry
…というのはさておき、メリットデメリットを理解した上で納得して使ってるなら別に良いと思う
正解は1つじゃないんだし

もう何年前になるのか分からないけど、初めてPHP5でfile_get_contents()を使った時なんて、
そのシンプルさに感動したものだ

622 :デフォルトの名無しさん:2016/07/05(火) 21:22:59.42 ID:xlC0Dx0E.net
file_get_contentsでWebApi叩く例を適当にググったらこんなのがでてきたがものすごく気持ち悪いと思うのは俺だけか
ttp://qiita.com/re-24/items/542f39220a606e319fa1

$o = new Class();
$res = $o->timeout(100)
->header('User-Agent', 'are')
->param('get', 'hoge')
->param('get', 'fuge')
->param('post', 'hage')
->fetch('http://');
if ($o->error()) {}
if ($o->status() === '500') {}

http系のクラス使ったらスマートに書けるのにな
ちなみに>>583はfile_get_contentsの第3引数にignore_errorsを与えて制御しないと意味ないし@付ける付けないは別問題だぞ
file_get_contentsでhttp煽る時のFAQだし普段file_get_contents使わん俺でもこれぐらいは知ってるがwww

623 :デフォルトの名無しさん:2016/07/05(火) 21:53:28.86 ID:JruVBNMN.net
>>620
いやcurlでも一度書いてるんですよ
最初は「こんないいものがあったのか!」と思ったのですが、
触ってみたらあんまりな感じでした
あくまで印象ですが

624 :デフォルトの名無しさん:2016/07/05(火) 22:08:10.63 ID:JruVBNMN.net
うっすら思い出してきましたが

file_get_contentsのタイムアウト処理がいけてない
→curlで書き直す
→タイムアウト処理同じくいけてない

っていう感じだったと思います
同じくいけてないならもう楽な方でいいや、という。
いまだにfile_get_contentsのタイムアウト処理は何が正解か分かってません

625 :デフォルトの名無しさん:2016/07/05(火) 22:11:20.33 ID:JruVBNMN.net
>>622
そのクラスっていうのはpearですか?
なるべく依存関係少なくしたいので
pearは使いたくないです
標準であればいいのですが・・

626 :デフォルトの名無しさん:2016/07/05(火) 22:40:10.03 ID:/TbYDVp4.net
>>622
突然でてくる$http_response_header辺が悪い意味でphpらしい気色悪さだがそのサイトにも同じこと書いてるよく読め

>>625
pearはオワコン
pear以外に色々あるし下位互換まで考えられてるものもあるから探してみ
624のコードはphpを知らん人間が見てもhttpの知識あれば何をしてるか分かる
622を見て気色悪いと思わないのはphpしかやったことないやつだろうな

627 :デフォルトの名無しさん:2016/07/05(火) 22:43:34.89 ID:/TbYDVp4.net
間違えた
622が書いてるサンプルコードはhttpの知識さえあれば何をやってるか分かる
622の紹介ページ内に書いてるコードは気色悪いと思うのが普通の感覚だしページ作った本人もそう書いてる

628 :デフォルトの名無しさん:2016/07/05(火) 22:51:03.80 ID:6Y/PZUJV.net
すげーどうでもいいけど$http_response_headerはPHP的というよりはPerl的な気持ち悪さを感じる

629 :デフォルトの名無しさん:2016/07/05(火) 23:05:59.31 ID:xlC0Dx0E.net
>>625
そこでpearって言葉が出てくるのがすごいwww
他人を初心者に毛が生えたなーんて偉そうなこと書いてる暇あったら少しは自分で調べようや
エラー制御の知識もそうだけどお前は毛さえ生えてない

>>626
最後の方に書かれてもそんなところまで読んでないわ。。。
やはり気持ち悪いと思うのが普通か

630 :デフォルトの名無しさん:2016/07/05(火) 23:06:18.34 ID:xlC0Dx0E.net
>>628
たしかにww
大昔のperlのコードは読むと目眩がする

631 :デフォルトの名無しさん:2016/07/05(火) 23:27:27.90 ID:/TbYDVp4.net
ZendFrameworkのHttp/Requestの実装コードを読むといいかもな
コーディング規約がしっかりしてるしコードも綺麗だから昔はよく教科書代わりにしてた

632 :デフォルトの名無しさん:2016/07/05(火) 23:28:22.04 ID:sZrXDB54.net
今のやつはだいぶ大人しいねぇ

633 :デフォルトの名無しさん:2016/07/05(火) 23:31:10.94 ID:XVKha2VO.net
そういやPERL7ってどうなった

634 :デフォルトの名無しさん:2016/07/05(火) 23:56:44.67 ID:JruVBNMN.net
>>629
嘘ついてもしょうがないので本当のことを言いますが、初心者ではないですよ
実装的な知識の多寡と技術者としてのレベルはあんまり関係ないんです
それが分からないあなたは初心者ですよね?

635 :デフォルトの名無しさん:2016/07/06(水) 03:20:35.55 ID:esje8Xjh.net
うわぁ…

636 :デフォルトの名無しさん:2016/07/06(水) 04:15:00.72 ID:Wc0lMlpk.net
レベルの低い煽りですね
というか煽りにもなっていません
S級プログラマー=物知り博士、ではないのです
まあ時分かS級だとは言いませんが

637 :デフォルトの名無しさん:2016/07/06(水) 04:24:14.35 ID:pKrapbJD.net
php-memcachedって正式にはPHP7に対応してないんですね。

ここしばらくmemcachedの代わりにリバースプロキシを使ってたから特に問題は無いんですけど、あったものが無くなるのはちょっと不安です。

正式対応っていつ頃になりそうですか?

638 :デフォルトの名無しさん:2016/07/06(水) 04:31:21.70 ID:Wc0lMlpk.net
ここのイキった初心者っぽい人はC級だと思いますが
B級とA級以上の差は、自分の中に基準があるかだと思います
B級以下の人は、他人がしている方法、一般的におこなわれている方法と比較して善し悪しを判断する
A級以上の人は、自分の中の理想と実装を比較する
だからたとえば自分でフレームワークを作ることが出来るのはA級以上なんですね

639 :デフォルトの名無しさん:2016/07/06(水) 04:38:36.83 ID:DwoEIapK.net
その程度でA級以上認定なら、俺は永世名人もらえちゃうな。
チョロイ基準だ事。

640 :デフォルトの名無しさん:2016/07/06(水) 04:40:43.35 ID:Wc0lMlpk.net
そうですか?
フレームワークを作ることが出来る、というのは決して低いハードルではありませんよ
むしろ作ったことがないからそんなことを言えるのでは?

641 :デフォルトの名無しさん:2016/07/06(水) 04:46:17.08 ID:35uL/pel.net
作ろうと思うかどうかは問題だが
たとえばMVCなフレームワークを作る、だけなら、そう難しくはない

そこそこあるいはそれ以上の機能を備え軽量高速に動くフレームワークならば問題だ
超キツい

642 :デフォルトの名無しさん:2016/07/06(水) 05:07:29.73 ID:cOqQxcae.net
なんかミサワっぽいのが語っててワロタ

643 :デフォルトの名無しさん:2016/07/06(水) 07:45:56.72 ID:zP4o+jv5.net
いろんな環境の些細なことまで何でも知ってる物知り博士である必要は無いけど、
それがどんな概念、どんな思想のものなのかについては深く理解している必要はあると思うよ。
だから何が問題でそれをどう緩和できるかを考えることができ、設計に反映させることができるんだ。
かつて C++ が普及し始めた頃、構造体にメソッド足しただけでオブジェクト指向をマスターした気になっちゃった人いたでしょ?
そういう輩が Logger の中の実装まで controller が気にして Logger もまた controller の実装のことを気にしないといけない、
その途中のコンポーネントもその都合を知ってないといけない共(強)依存の設計をしてみたりその問題点が分からなかったりするわけだ。

644 :デフォルトの名無しさん:2016/07/06(水) 08:24:41.84 ID:DwoEIapK.net
>>640
>むしろ作ったことがないからそんなことを言えるのでは?

そういう頭の悪そうな煽りは猿相手にしてろ。
俺とお前とではレベルがジェントルマンと未開の部族くらい違う。

645 :デフォルトの名無しさん:2016/07/06(水) 08:44:13.05 ID:DwoEIapK.net
ID:Wc0lMlpk はさ、言ってることがいちいちガキ臭いんだよ。
オナニー覚えたての猿みたいだが、おまえ、アイちゃんだろ?

646 :デフォルトの名無しさん:2016/07/06(水) 10:09:23.36 ID:FwbN/TS9.net
さぁ、ID:DwoEIapKが差別発言をしたくてウズウズし始めました。
面白そうだからじっくりと拝聴してみましょう。

647 :デフォルトの名無しさん:2016/07/06(水) 10:17:40.83 ID:Y2LFgmcr.net
一連のやり取り見てれば分かる通り
実務経験のない毛すら生えてない包茎童貞チンコ君だと思ってみんな相手にしてるんじゃないの

能力は素人以下なのに自分を過大評価しライドだけは無駄に高い
口癖は「でも」と「だって」
あーいるいるそんな奴って感じで

648 :デフォルトの名無しさん:2016/07/06(水) 10:36:14.17 ID:H6ViycfC.net
          |
            |  彡⌒ミ
           \ (´・ω・`)また髪の話してる
             (|   |)::::
              (γ /:::::::
               し \:::
                  \

649 :デフォルトの名無しさん:2016/07/07(木) 01:29:51.22 ID:WAz1Z40Q.net
(*^^*)

650 :デフォルトの名無しさん:2016/07/07(木) 04:09:49.30 ID:S2omwxRh.net
loggerにログローテーションを組み込もうと思っています
過去ログは、
hoge.log.1
みたいな命名で
過去ログの数が最大世代数を超えたら削除する形になると思いますが
過去ログが生成されるごとにファイル名の接尾辞をインクリメントしていくとすると
数字がどんどん増えていってしまいますね
かといって新しい過去ログほど若い数字にすると
過去ログが生成されるたびにそれまでの過去ログをリネームすることになり、
煩瑣な気がします
どうやるのが一般的なのでしょうか?

651 :デフォルトの名無しさん:2016/07/07(木) 04:22:26.29 ID:0sDfEMvh.net
logrotateに任せればいいのにというのはNG?

652 :デフォルトの名無しさん:2016/07/07(木) 04:34:58.59 ID:kKKhCcp5.net
loggerってなにロジャーですか

653 :デフォルトの名無しさん:2016/07/07(木) 04:56:25.49 ID:S2omwxRh.net
logrotateでするかって最初は思ってたんですが
phpレベルで設定できた方が楽だなって思って。
logrotateは過去ログが作られるたびに、
それまでの過去ログもリネームしてるようですね
日付を接尾辞にしてもいいかもですが、
とりあえず一番一般的なやり方に合わせたようと思います
ありがとうございました

654 :デフォルトの名無しさん:2016/07/07(木) 04:59:58.43 ID:DBh6Xw4A.net
ログをファイル管理せずsqliteあたりにぶっこむというのもありかも
特に純然たるアクセスログではなく操作ログや書き込みログなどは

655 :デフォルトの名無しさん:2016/07/07(木) 06:40:42.01 ID:Ry0ooGfS.net
OSのloggerを使えば、何も考えなくていい

雑多なアプリのログが、ごちゃ混ぜ

656 :デフォルトの名無しさん:2016/07/07(木) 07:44:25.53 ID:HZJ5Un0h.net
>>653
ログは複数プロセスから同時期に書き込まれる可能性があるから、しっかり排他制御しないとおかしなことになるよ。
自前でローテートさせるならよりしっかり意識しないといけない。
そしてそういう慎重なファイル操作を判定含めてどのタイミングでやるのかもよく吟味しないといけない。
書き込みメソッドが呼ばれる毎にやるのか、それを適当に間引くのか、クラス初期化時にやるのか、プロセス終了時にやるのか、結構面倒だと思うよ。

657 :デフォルトの名無しさん:2016/07/07(木) 10:46:25.50 ID://snXdIv.net
>>650
hoge.log.20160707
みたいな日付にする

658 :デフォルトの名無しさん:2016/07/07(木) 11:13:45.87 ID:OO8yzwIL.net
例えば、9の次は消す、とかなら全リネームでもいいよ
永久保存とかだったら連番リネームはやめたほうが、、、

659 :デフォルトの名無しさん:2016/07/07(木) 20:50:20.87 ID:7v8C/C8s.net
わぁいZend Framework! あかり Zend Framework大嫌い!

660 :デフォルトの名無しさん:2016/07/08(金) 00:56:25.53 ID:XrzttvRz.net
file_get_contentsのドキュメントに

この関数は論理値 FALSE を返す可能性がありますが、
FALSE として評価される値を返す可能性もあります。
詳細については 論理値の セクションを参照してください。
この関数の返り値を調べるには ===演算子 を 使用してください。

という説明がありますが
FALSEとして評価される値、おそらくヌルストリングなどが返ってくる場合があると言っているのに
なぜ===で厳密に評価しろと書いてあるのでしょうか?

661 :デフォルトの名無しさん:2016/07/08(金) 01:32:11.32 ID:+hXmUnvS.net
null stringは表現としてちょっとあいまいだから気をつけよう

ファイル内容が「0」だけの場合
ファイル内容が空文字列の場合

662 :デフォルトの名無しさん:2016/07/08(金) 01:36:25.30 ID:cQ0ivQ9T.net
JavaScriptでは、== を使うと、自動的に型変換されるから、危険なので、
=== だけを使うことが推奨されている

PHPでも同じかね?

663 :デフォルトの名無しさん:2016/07/08(金) 01:36:44.52 ID:XrzttvRz.net
ヌルストリングは空文字でしょう
それ以外の意味で使う人なんているんですか?

664 :デフォルトの名無しさん:2016/07/08(金) 01:42:13.99 ID:+hXmUnvS.net
nullバイトすなわち\0

>>662
基本同じ
switchはゆるやかな判定オンリー、< や > もそうだったはず

665 :デフォルトの名無しさん:2016/07/08(金) 02:16:24.14 ID:XrzttvRz.net
stringの原義は糸ですから、ヌルストリングには、null characterとは違い
「列」のイメージがはっきりあると思います
日本語の「空文字」の方が、
ヌルキャラクターなのかヌルストリングなのか分かりにくいのでは

666 :デフォルトの名無しさん:2016/07/08(金) 03:02:52.65 ID:7ivzfMbr.net
>>660
ヌルストリングが返ってきたときは処理に成功しているからというだけの話だよ。

667 :デフォルトの名無しさん:2016/07/08(金) 03:18:31.04 ID:18g7tdmy.net
ヌルヌルうっせーなー

668 :デフォルトの名無しさん:2016/07/08(金) 04:23:29.37 ID:XrzttvRz.net
>>666
あ、なるほどー。
納得です
ありがとうございました

669 :デフォルトの名無しさん:2016/07/08(金) 19:24:06.70 ID:34+WiH5Ul
忍びよるスパムメールの脅威が存在していた

http://music.geocities.jp/jphope21/0203/35/234_1.html

なぜスパムメールが来るのかが、わからなかった。

( http://sky.geocities.jp/datepedia/02/update.html )

( http://music.geocities.jp/jphope21/0103/34/228.html )

( 個人的意見 )

670 :デフォルトの名無しさん:2016/07/09(土) 00:29:52.78 ID:aYxk+QMl.net
コマンドラインにオプションと複数のパラメータを渡そうと思います
getopt関数でパースしようとしたのですが
test.php -a hoge fuga
のように呼び出して
getopt('a:')
とやっても、
array(1) {
["a"]=>
string(4) "hoge"
}
になってしまいます
getopt関数ではオプションに対して複数の引数を渡すことは出来ないのでしょうか?

671 :デフォルトの名無しさん:2016/07/09(土) 02:36:27.31 ID:aYxk+QMl.net
>>670の件ですが
指定していないオプションが来たら
そこで処理が止まるというのもいけてないし
一体誰が使うんだ?というような関数ですよね

672 :片山博文MZ ◆T6xkBnTXz7B0 :2016/07/09(土) 02:41:01.31 ID:Mz5tnssE.net
>>671
getoptはC言語の影響が強い。Cの真似してコマンドを作りたいときに使う。

673 :デフォルトの名無しさん:2016/07/09(土) 03:05:48.53 ID:OhO+Rrd1.net
つまり?

674 :片山博文MZ ◆T6xkBnTXz7B0 :2016/07/09(土) 03:13:09.91 ID:Mz5tnssE.net
Linux文化を知らないヤツに用はないよ

675 :デフォルトの名無しさん:2016/07/09(土) 03:18:03.27 ID:BJFFzJZU.net
>>674
変なサイトばっかだな

676 :デフォルトの名無しさん:2016/07/09(土) 03:33:46.86 ID:aYxk+QMl.net
>>672
そうなんですか
たしかに昔風の感じがします
ありがとうございました

677 :デフォルトの名無しさん:2016/07/09(土) 10:40:26.69 ID:8bEaOg6O.net
昔風というか、コマンドラインの書き方には一定のルールがあるので
それに準拠してるだけなのでは。

 プログラム名.php [-o 任意引数] 必須引数

とかそんな感じのやつ  。
[ ]の部分は任意(オプション)ってやつね。

まあgetoptが使いにくそうという意見には、100%同意するが。

678 :デフォルトの名無しさん:2016/07/09(土) 10:54:53.54 ID:aYxk+QMl.net
オプションに続ける引数の数は0あるいは1という決まりがあるのでしょうか?
それならgetoptの仕様も理解できますが、
その決まりの意味は分かりませんね
先頭の-の有無でオプション指定とオプションの引数は判別できるので、
オプションの引数が複数あっても問題ないと思います

679 :デフォルトの名無しさん:2016/07/09(土) 11:05:17.35 ID:3Fin4poN.net
少し前から意味不明なイケてる君が居付いてるな
文句を言わず自分で$argvをループにかけて処理すりゃいい

680 :デフォルトの名無しさん:2016/07/09(土) 12:48:13.50 ID:rEaVjU7Y.net
imgurから画像を拾ってきて表示するプログラムを書きました
そこで前の画面に戻るリンクを追加したい思い、調べてみたところ$_SERVER['HTTP_REFERER']に
前の画面の情報が残っているとわかりましたが結局できませんでした
画像を表示するプログラムをimage.phpとしてHTML内にどのように記述すれば実現できますか?

681 :デフォルトの名無しさん:2016/07/09(土) 15:00:57.65 ID:8bEaOg6O.net
>>678
複数指定したいなら -o 引数1 -o 引数2 -o 引数3 じゃね

682 :デフォルトの名無しさん:2016/07/09(土) 19:03:06.59 ID:aYxk+QMl.net
>>679
は?ないなら自分で書きますよ
たいして難しくもない処理ですし。
ただ標準の関数があるなら、そっちを使うべきだと思いますし
それがいけてるのかいけてないのかは重要な判断になります
当たり前ですよね?

>>681
そういう慣習なのでしょうか
あまり意識したことがなかったので・・

683 :デフォルトの名無しさん:2016/07/09(土) 19:49:29.84 ID:r9KiSHah.net
例えばawkの場合は
awk -f script1.awk -f script2.awk
と言う形でオプションとその引数を渡してる。

オプションに複数引数を渡しても良いことにしてしまうと
awk -f script1.awk script2.awk
のとき、オプションの引数なのか、awkが処理するファイルの指定なのかが分からなくなる。

684 :デフォルトの名無しさん:2016/07/09(土) 20:50:10.93 ID:aYxk+QMl.net
うーむ、そうですね
最初から、コマンド自体の引数は先に書き、
オプションはその後ろに書く、という決まりにしておけば
そういう混乱も起きなかったと思いますが
歴史的なあれですかね〜。
ありがとうございました

685 :デフォルトの名無しさん:2016/07/09(土) 20:56:52.60 ID:7GvtVXYv.net
ファイル名の先頭が - で始まってたら、なんて考慮も必要だから、コマンドライン決める時にはある程度頭使った方がいいよ

686 :デフォルトの名無しさん:2016/07/09(土) 21:09:09.65 ID:+JaDepXt.net
使える頭があったら、の話だがな。

687 :デフォルトの名無しさん:2016/07/09(土) 21:24:35.02 ID:r9KiSHah.net
誰かが誤操作したんだろう、ハイフンで始まるファイルを作成して放置してたことがあったな
恥ずかしいから消しておけよ

688 :デフォルトの名無しさん:2016/07/09(土) 21:42:36.97 ID:nw/Tgfsc.net
man getopt すら知らん奴がまた車輪を発明しようとしてたのか

689 :デフォルトの名無しさん:2016/07/09(土) 22:11:50.56 ID:+JaDepXt.net
再開発は別にしてもいいんじゃねぇのか?
同僚が仕事時間中にやってたら「お前はサルか?」と聞くが、
知らん他人が何をしようと、それはそいつの自由だ。

690 :デフォルトの名無しさん:2016/07/09(土) 23:07:48.86 ID:7GvtVXYv.net
>>687
それを消そうと普通にコマンドラインにファイル名を指定するとオプションとして解釈されちゃうし、
先頭のハイフンをエスケープしたりクォートしてもやっぱりオプションになっちゃうし、
ヤケクソでワイルドカードで展開させてもやっぱりオプションになっちゃうんだよな。
うっかりオプションとして解釈されると致命的なファイル名だったりすると悲惨なことになりかねないから、そういうファイルがあったらワナだと思ってよーく考えた方がいい。
FreeBSD のシェルはそこら辺の安全対策がされてたが、linux は割とヌケてる。

691 :デフォルトの名無しさん:2016/07/09(土) 23:57:33.99 ID:r9KiSHah.net
単に
rm ./-foo
でいいだろうに

692 :デフォルトの名無しさん:2016/07/10(日) 00:05:28.80 ID:zIlqAmmZ.net
SSH上で動かす前提のとあるPHPコードに

693 :デフォルトの名無しさん:2016/07/10(日) 00:06:10.67 ID:zIlqAmmZ.net
SSH上で動かす前提のとあるPHPコードに"php -r ほげほげ"と
phpを呼び出してワンライナー実行するコードが大量にあるんだけど
動かすレンタルサーバがphpのCGI版しかない
CLI版がないので、php -rで一行コードが動かない
こういう時のうまい回避策ってなんかない?

(php -rにエイリアス仕掛けて引数を一時ファイルにして……とか考えたけど途中で頭こんがらがった)

694 :デフォルトの名無しさん:2016/07/10(日) 00:32:18.88 ID:qFUmu4Xh.net
>>691
注意してちゃんとそういうことしろよって話だよ。
ただそれよりも -- を覚えておく方がいいと思うが。

695 :デフォルトの名無しさん:2016/07/10(日) 00:39:57.35 ID:qFUmu4Xh.net
>>693
そのやり方のうま味というのが今一つ思いつかないので参考までに教えてほしいんだけど、当たり障りのないコードを何個か貼ってみてくれないか。

まあ、エイリアス仕掛けるのもいいけど php ってシェルスクリプトを作ってしまうってのはどうかな。
与えられた PHPコードを Web領域にファイル化して、HTTP でリクエストかけるような感じ?
パーミッションの関係でうまくいかないような気もするけど。
PHPコードが限定的なら、それを shスクリプトなり perlスクリプトなりに変換してしまうようにするとか。

696 :デフォルトの名無しさん:2016/07/10(日) 01:57:52.58 ID:JTH0ZdYC.net
前後の1-liner と、関係をなくすために、
1-linerを次々と、無名関数のような、閉鎖されたスコープに入れて実行する

スコープ(1-liner)
(1-liner)
(1-liner)

>>690
ハイフンで始まるファイルって、
シェルスクリプトなどのツールで処理すると、エラーになりそう

697 :デフォルトの名無しさん:2016/07/10(日) 02:50:26.82 ID:qFUmu4Xh.net
>>693
>>695 で言ったスクリプト書いてみた。
こいつを php という名前にしておいてパスを通しておけばとりあえずやれた。
いくらかセキュリティ上の問題があるし権限なんかに制約があるし、標準入力に何かをパイプしてるようなのだと対応できないんで実際に使うには調整が必要だけど。

#!/bin/sh

if [ "$1" != "-r" ]; then
exit 1
fi

fn=/tmp/$$.php
url=http://localhost$fn
fn=/var/www/default/htdocs$fn

echo "<?php chdir('`pwd`'); $2" >$fn

wget -q -O - "$url"

rm -f $fn

>>696
エラーになるから注意が必要。
というか今まで書いてきたシェルスクリプトを全部見直したくなるレベルだと思う。

698 :デフォルトの名無しさん:2016/07/10(日) 02:57:46.36 ID:Nb5FSVTz.net
phpは何でも実現できる夢の言語だ!忘れるでないぞ!!

699 :デフォルトの名無しさん:2016/07/11(月) 10:04:40.23 ID:RzXkr5ts.net
緑色がつまらねぇ事言うと必ず止まるな。

700 :デフォルトの名無しさん:2016/07/11(月) 13:23:37.03 ID:7hd/2RYR.net
緑色ってメール欄になにも書いていない人のことか

701 :デフォルトの名無しさん:2016/07/11(月) 15:38:18.62 ID:MB3tc90D.net
<?php pro

http://www.phppro.jp/

702 :デフォルトの名無しさん:2016/07/11(月) 15:47:33.27 ID:2x/6j4qS.net
少し前に出ていたloggerとsingletonの話ですが
オブジェクトを登録するRegistryクラスを作って、
Registry::get('logger')
みたいな形で取り出すのもアリですよね?

703 :デフォルトの名無しさん:2016/07/11(月) 16:40:43.78 ID:r9PY8t2O.net
>>702
singleton を実現したいという目的をかなえる手段としてはアリだと思うけど、
singleton の実現は本当にやりたいことの目的ではないから、そこを見誤ると何やってんだかわからなくなるよ。
(ある特定の)logger が singleton であるべきか、実際にそうなのかを知っているのはそれを設計した人だけでいいことで、
Registory を使うべきかを logger を利用する立場の設計者やプログラマが気にする必要があったり、
Registory が与えられたオブジェクトを singleton として扱う必要があるかを知っている必要があったりするのであれば、
そもそもそれを使う目的は何か?ということになる。

704 :デフォルトの名無しさん:2016/07/11(月) 16:51:59.94 ID:NV/GGl1a.net
>>703
いい事言うね
ここら辺が分かってない頭でっかちな奴の多いこと多いこと
趣味でやる分には好きにすりゃいいけどさ
仕事やらせると「ただ頭が固いだけの使えない奴」という評価になる

705 :デフォルトの名無しさん:2016/07/11(月) 17:27:35.21 ID:RMeyE2Ie.net
singletonかどうかを知らずにインスタンスを正しく取得するためにはどうすればいいんでしょうか

706 :デフォルトの名無しさん:2016/07/11(月) 17:33:28.80 ID:xzQbdIaK.net
>singletonかどうかを知らずにインスタンスを正しく取得するためにはどうすればいいんでしょうか

基本設計書を作れ。

以上。

707 :デフォルトの名無しさん:2016/07/11(月) 18:23:50.84 ID:r9PY8t2O.net
>>705
// シングルトン版
class Logger {
public static function getInstance()
{
static $obj;
if(!$obj) $obj = new Logger();
return $obj;
}

private __construct()
{
}
}

// シングルトンじゃない版
class Logger {
public static function getInstance()
{
return new Logger();
}

private __construct()
{
}
}

// インスタンス取得
$logger = Logger::getinstance();

実際にはインタフェースに抽象化して、実装クラスと取得クラスを分ける方がいろいろいい。

708 :デフォルトの名無しさん:2016/07/11(月) 18:27:14.11 ID:r9PY8t2O.net
syntax erro が入ってたw
適当に直して

709 :デフォルトの名無しさん:2016/07/11(月) 20:07:13.87 ID:RMeyE2Ie.net
えぇ…難しくなってきました
全てのクラスはそのように作るべきということでしょうか

710 :デフォルトの名無しさん:2016/07/11(月) 20:34:35.38 ID:r9PY8t2O.net
>>709
このスタイルに徹底して合わせていく設計もあるけど、必ずしもそうする必要は無い。
何かを成すために一番いい方法を選べばいい。

でも、Logger みたいな共通部品で、誰でも使う可能性があるし、かと言って必ず使うわけでもないようなものはこうしとくと便利だと思うよ。
あるクラスで突然 Logger を使いたくなっても、呼び出し元の協力が無くてもその場ですぐ使えるでしょ。
他には DBコネクションみたいなものとか、コンフィギュレーションとか?
必要なところで
$logger = Logger::getInstance();
$dbcon = DbConnection::getInstance();
$conf = Configure::getInstance();
とやれると便利でしょ。

これらインスタンスを一番最初の誰かがインスタンス化して引き回していくという手もあるけど、
もし途中にその枠組みに沿わない Utilクラスが挟まったらその引き回しの連鎖が終わって破たんしてしまうし、
本当にそれらインスタンスが必要な処理かどうかも分からない最初の段階で投機的にインスタンス化するのも無駄でしょ。
そういった点を考えて何をどう扱うかを決めるといい。

711 :デフォルトの名無しさん:2016/07/11(月) 20:41:01.38 ID:r9PY8t2O.net
ちなみに、例えば Logger が設定ファイルを読んで動作を変えるようなものだったら、Logger の中で Configure::getInstance() を使って設定にアクセスするわけだけど、
そのことは Logger を使う側は知らなくてもいいし、Logger が欲しがっているものを外からお膳立てしてやる必要もなく、ただ Logger::getInstance() してやるだけでいい。
もしかしたら Logger がファイルじゃなく DBにログを吐くようなものだったら DBコネクションを必要とするだろうけど、やっぱり呼び出し側はそんなこと気にする必要が無い。
Logger が自分で勝手に DbConnection::getInstance() すれば済む。

712 :デフォルトの名無しさん:2016/07/12(火) 04:29:06.49 ID:FX1OdrUT.net
アホが偉そうに語ってるが
loggerがlogaggregatorになる可能性をどう考えてるんだよ
loggerが単なるloggerなら、はっきり言って何でもいいんだよ

713 :デフォルトの名無しさん:2016/07/12(火) 04:31:21.88 ID:dFS5ZeTB.net
お前ら最近あほみたいにlogger連呼してるよな

714 :デフォルトの名無しさん:2016/07/12(火) 04:34:39.55 ID:FX1OdrUT.net
controllerで持ち回したくないなら
registryに持たせるなりファクトリで抽象化する方がセンスあるわ
singletonクラスから直接取得させるのは余程単純な場合で
それくらい単純ならsingletonとかいちいち考える必要すらない

715 :デフォルトの名無しさん:2016/07/12(火) 04:37:39.67 ID:FX1OdrUT.net
singletonってもともとオブジェクトを共有するJavaの発想やからな
phpの場合は規約程度の意味しかない

716 :デフォルトの名無しさん:2016/07/12(火) 04:41:28.36 ID:lqGwlo47.net
>>707 みたいなこと書いちゃう人の時点ですべて台無しなんですよ。
あんな地雷製造機を作っちゃう人と同じ現場の人がかわいそうでならない。

717 :デフォルトの名無しさん:2016/07/12(火) 05:12:02.65 ID:uO+n2C32.net
loggerなんか、staticメソッド持ったただのクラスでいいじゃん。
必要な時に静的アクセスしてログ出すだけ。

loggerシングルトンの話はcontroller原理主義者に対する説明で出てきただけで、
loggerはシングルトンである“べき”論ではなかったでしょ。

718 :デフォルトの名無しさん:2016/07/12(火) 06:19:50.25 ID:/N0MuYwe.net
>>712
つ 実際にはインタフェースに抽象化して、実装クラスと取得クラスを分ける方がいろいろいい。

意味がわからなかったかな?

719 :デフォルトの名無しさん:2016/07/12(火) 06:27:32.36 ID:/N0MuYwe.net
>>717
そうだよ。
singleton であるべきかどうかを使う側が気にする話じゃないと言ってるでしょ?
だから実体がどっちであっても同じ使い方で使えるようにするにはどうしたらいいか、ということなんだけど、そこらへんどう考えてるの?

> loggerなんか、staticメソッド持ったただのクラスでいいじゃん。
Logger が singleton である必要がある場合にはそれでおkだけど、
Logger が singleton じゃいけない状況になったらどうする?

720 :デフォルトの名無しさん:2016/07/12(火) 07:47:30.87 ID:uO+n2C32.net
ん? おれ、シングルトンじゃない場合について書いたんだから
いけない場合はそうすれば良いんだけど、
なにをききたいの? 焦点はどこよ?

>>718

721 :デフォルトの名無しさん:2016/07/12(火) 07:50:11.28 ID:uO+n2C32.net
まちがえた、>>719

722 :デフォルトの名無しさん:2016/07/12(火) 07:58:34.63 ID:pNpIqf8Q.net
俺はRubyにいくぜ

723 :デフォルトの名無しさん:2016/07/12(火) 08:47:36.87 ID:/N0MuYwe.net
>>720
ああ、singleton 以前に Logger などインスタンス化せず機能は全部 static でいいじゃんと言ってるのか。
何にでも一長一短あるものだからそのやり方がハマる場所ならそうすればいいと思うけど、
Logger みたいな特定の何かを挙げてインスタンス化の是非にまで立ち返った話をするつもりはさすがに無い。

724 :デフォルトの名無しさん:2016/07/12(火) 08:53:41.40 ID:z9qOKD3x.net
new objectもsingletonもstaticメソッドも
どれでも対応可能なようにと考えるとラッパを作るしかなくなる
そしてもう全部ラッパ作っておけばいいよという結論に達する

725 :デフォルトの名無しさん:2016/07/12(火) 11:46:23.88 ID:rsJrinwC.net
>>724
方式なんて一言で言えば何かを楽にする手段なんだから、そのやり方を採るかは何が楽になりどんな恩恵を受けられるか次第だよね

726 :デフォルトの名無しさん:2016/07/12(火) 15:26:04.74 ID:uO+n2C32.net
>>724
お前の言ってるのは、手段が目的化している状態に見えるな。

727 :デフォルトの名無しさん:2016/07/12(火) 15:41:29.17 ID:uO+n2C32.net
>>723

You are right. You just are wise.

728 :デフォルトの名無しさん:2016/07/12(火) 16:08:49.53 ID:4hlad0hV.net
クラスで、
function hoge(){
 return 100;
}
のように直接メソッド単体で出力させず
一旦メンバ変数にいれて
function hoge(){
 $this->num = 100;
}
function hoge_get(){
 return $this->num
}
getとか、getterとか呼び出し専用のメソッドをつくるのをみかけますが
これはどういった意図、メリットがあるのでしょうか?

729 :デフォルトの名無しさん:2016/07/12(火) 16:24:17.28 ID:z9qOKD3x.net
>>725
あとどんな方法が受け入れられるかと、どこまで考えるかだ
namespaceもうまく使ってどんな処理もラッパー関数なりラッパークラスなりを通すようにしておけば
最悪でも、統一された一貫したコードで書け、呼び出し方の制約にとらわれず、実体のコードを変えずに仕様変更が可能になる
極論だが真理でもある

730 :デフォルトの名無しさん:2016/07/12(火) 16:24:45.50 ID:y3QuZQ+o.net
値が変わるから

731 :デフォルトの名無しさん:2016/07/12(火) 16:37:58.91 ID:uO+n2C32.net
>>728

setter が private や protected なら他の奴ら(クラス)がいじれない事を保証するため。
setter が public なら、もう、そいつはただのアホなロボ。

732 :デフォルトの名無しさん:2016/07/12(火) 16:38:56.82 ID:uO+n2C32.net
>>728

一応、ラップしておくと後で機能をすげ替えるのに楽だ、という意味はある。
けど、薄い。

733 :デフォルトの名無しさん:2016/07/12(火) 17:01:25.05 ID:YnZz98X3.net
オブジェクト指向ってセンスない人は無理して使う必要ないぞ
…とここ最近のやり取りを見てて思う
手段が目的化してるアホが多すぎ

734 :デフォルトの名無しさん:2016/07/12(火) 17:04:36.35 ID:dFS5ZeTB.net
そもそもオブジェクト指向がもう古いからな
何をいまさら必死にJava臭い話してんのかと

735 :デフォルトの名無しさん:2016/07/12(火) 17:05:05.35 ID:uO+n2C32.net
いや、無理してでも使ってくれよ、ちゃんと覚えてから。
今時フラットなPHPなんか弄りたくもねぇよ。

736 :デフォルトの名無しさん:2016/07/12(火) 17:09:04.43 ID:uO+n2C32.net
Java脳のやつがPHPつかうと、全てのクラスの前半300〜500行はメンバ変数定義とgetterとsetterだ。
本当に頭おかしい。

737 :デフォルトの名無しさん:2016/07/12(火) 17:11:19.68 ID:uO+n2C32.net
んだから、「このコード誰が書いたんですか?」って聞いたら
「自分です。何か?」って言いやがるから、
「いや、かなりパンチの効いたコードだと思って…」と、
やんわりと嫌味言っといたけど、多分、あいつは今でも意味がわかってねぇ。

738 :デフォルトの名無しさん:2016/07/12(火) 17:15:38.46 ID:YnZz98X3.net
>>734
10年前にタイムスリップしてきたのかと思うレベルだからなw
もうプログラミングそのもののセンスがないんだから、さっさと足洗う事をオススメしたくなる

739 :デフォルトの名無しさん:2016/07/12(火) 19:07:36.89 ID:M4Ysa7HD.net
たとえ10年前の技術でも、
それを学び始めたのが昨日今日の人もゴマンといるからな

740 :デフォルトの名無しさん:2016/07/12(火) 20:13:47.33 ID:mhtdbZQH.net
せいぜい500人くらいじゃないか?ゴマンもいるなら俺本書くよ

741 :デフォルトの名無しさん:2016/07/12(火) 21:03:40.61 ID:rsJrinwC.net
>>734
古いというより、もはや身に付けていて当たり前のことになってるだけ。
それが分からない(利点だけではなく欠点も含めて)というのは古いという言葉で誤魔化せるような考え方じゃない。

742 :デフォルトの名無しさん:2016/07/12(火) 23:06:39.04 ID:dFS5ZeTB.net
身に着けていて当たり前(ドヤァ
なんて言ってるのペチパーだけだろうが
時代は関数型だっつうのに

743 :デフォルトの名無しさん:2016/07/12(火) 23:27:14.21 ID:/N0MuYwe.net
前に友人が乗ってたボロ車のリアウィンドウには「パワーステアリング付」と誇らしげにプリントしてあったが、
今時わざわざオブジェクト指向とか言ってるのはそれに通ずるものがあるななんて思ったり。
そういや昔うちにあったテレビにも「カラー」と書いてあった。
もうそこはいちいちアピールするようなことじゃなくなってるけど、古くなって捨て去られてるわけではないんだな。

744 :デフォルトの名無しさん:2016/07/13(水) 00:55:37.85 ID:c7PelxrO.net
>>740
そんなの学校、会社にいたらすぐわかるだろ?
いくらでも湧いてくる

745 :デフォルトの名無しさん:2016/07/13(水) 03:11:43.84 ID:SgUJAkJi.net
なんか「俺は拳の握り方分かってんだ」な発言がずらりと並んだな。

俺にはそういうのは無理だ。

746 :デフォルトの名無しさん:2016/07/13(水) 07:33:54.65 ID:EopiVE3u.net
うん、箸も満足に握れないやつが箸なんて古いと言ってるんだもんな
ちょっと見てられないわ

747 :デフォルトの名無しさん:2016/07/13(水) 09:12:27.31 ID:5fhCNN//.net
>>743
プログラム言語側が
「オブジェクト指向対応!!!」
とか行ってたら お、おう・・・とかなるんかもしれんが
使う側がオブジェクト思考を習得するのに遅いも速いもないだろ。

英語という言語自体は何百年も前からあるけど
その英語をいつ習得するかはひとそれぞれ。
子供の時から話せるやつもいれば、大人になってから習得したやつもいる。
一生必要ない人もいる。

748 :デフォルトの名無しさん:2016/07/13(水) 12:38:22.84 ID:SwB39zsk.net
>>746
お前は機械語からやればいいよ

749 :デフォルトの名無しさん:2016/07/13(水) 12:46:06.43 ID:BO773i0L.net
>>748
お前マシン語扱うの禁止な
最終的にマシン語に変換されるコンパイラ言語もインタプリタもダメだぞ

750 :デフォルトの名無しさん:2016/07/13(水) 13:54:41.92 ID:WdtFCbLB.net
PHPさえ憶えれば年収500万円以上は確約されたようなもの

751 :デフォルトの名無しさん:2016/07/13(水) 19:27:24.57 ID:5fhCNN//.net
天皇陛下 「生前退位」の意向示される
http://www3.nhk.or.jp/news/html/20160713/k10010594271000.html

平成が終わったらシステム的にどんな変更が必要になってくるのだろう

752 :デフォルトの名無しさん:2016/07/13(水) 19:33:39.89 ID:SgUJAkJi.net
>>751

「やった、仕事が生まれる!」と、人売り人買いSIerが大喜びし始めてるだろうな。

753 :デフォルトの名無しさん:2016/07/13(水) 20:13:28.81 ID:Qe61Wci0.net
>>752
ほんとにな……

もう紙ベースで帳票やら何やら年号使ってるもの全てが要修正になって
和暦を受け入れる何もかもでコード追加が必要になって、
和暦入力を受け入れるフォームの類もフォームの入力を受け取るコードも全て追加が生じて、でもそのくらい?

754 :デフォルトの名無しさん:2016/07/13(水) 20:36:48.75 ID:SgUJAkJi.net
多分、人手不足だからインドやアジアから安い人員を補充しまくって
各地で炎上しまくるなぁ…

先月末でITから離れたけど、空に困ってもITには戻らないようにしよっと。

755 :デフォルトの名無しさん:2016/07/13(水) 20:40:54.93 ID:ml4j3UQD.net
普通に和暦テーブルと変換ルーチンを用意するだけでしょう

元号が平成になった時の改造で大抵の所は対処済みだと思うけど
違うのか?

756 :デフォルトの名無しさん:2016/07/13(水) 20:47:13.10 ID:5fhCNN//.net
とりあえず ○○元年を ○○1年と表示させるやつは絶対あらわれる

757 :デフォルトの名無しさん:2016/07/13(水) 20:52:42.64 ID:GswR66/t.net
優秀なプログラマーならば容易に変更できるよう設計しているから問題ない。
というのは建前で結構面倒だな。

>元号が平成になった時
それ28年も前じゃん。WEBアプリ存在してなくない?

758 :デフォルトの名無しさん:2016/07/13(水) 20:53:23.66 ID:SgUJAkJi.net
>>756

酔っ払ってたから初見意味わかんなかった。
間違いなく現れるなw

759 :デフォルトの名無しさん:2016/07/13(水) 20:59:30.65 ID:ml4j3UQD.net
>>757
Webに移行する前の、元のシステムでそういう改造があったと思うよ

760 :デフォルトの名無しさん:2016/07/13(水) 21:15:42.03 ID:Qe61Wci0.net
この手の改修で一番厄介なのは
絶対に新年号開始時から使えるように合わせなければ!と言い出す奴
開始時に使用できないと即座にクレームたれこみまくる奴
あとks営業市ね

761 :デフォルトの名無しさん:2016/07/13(水) 21:58:28.18 ID:RvUgJ2p4.net
次の元号が、は行で始まる名前で
略称がHだったら…

762 :デフォルトの名無しさん:2016/07/13(水) 23:34:53.37 ID:cTGOW3vT.net
いくら用意のいいやつでも、和暦はやめて西暦に統一します!
なんてことになったらさすがに対応できないだろう?

763 :デフォルトの名無しさん:2016/07/14(木) 00:32:07.72 ID:H+rKct8n.net
対応できないなんてことはない
元号追加よりは手間がかかるけどね

764 :デフォルトの名無しさん:2016/07/14(木) 00:37:50.01 ID:AWjfs/Yy.net
そして西暦にしようとしたらしたで
1970年以前の日付の表現には負の値が必要なのをド忘れして設計不備/バグを出してしまう

765 :デフォルトの名無しさん:2016/07/14(木) 04:44:10.28 ID:lILkfZqG.net
ディレクトリをディレクトリの下に移動したいと思います
シェルで
mv dir dir1
とした場合、dir1の下にdirが移動します
しかしphpで
rename('dir','dir1')
とすると、dir1にdirを上書きするようです
シェルみたいな動作をさせるにはどうすればいいですか?

766 :デフォルトの名無しさん:2016/07/14(木) 04:59:29.30 ID:s/3ZM10x.net
なんでディレクトリ移動がrenameだと思ったのかちょっとイミフだが
おとなしくsystem関数でrmコマンド使えばよろしいのでは
抵抗があるならmkdirやcopyで自分で関数組むしかないね

767 :デフォルトの名無しさん:2016/07/14(木) 04:59:56.94 ID:s/3ZM10x.net
rmじゃないmvねw

768 :デフォルトの名無しさん:2016/07/14(木) 06:25:00.26 ID:lILkfZqG.net
ファイルの移動はrenameで出来るので
ディレクトリも同じかと思いまして。
自分の中ではrename=移動という感覚でした
でも言われてみれば、これだと単にディレクトリ名を変更してるだけですね
とするとdirをdir1/dirにrenameすればいいのかも?
ありがとうございました

769 :デフォルトの名無しさん:2016/07/14(木) 07:49:32.80 ID:kQwkeBaJ.net
>>766

「おい、お前はデータ吹っ飛ばすつもりか」って怒鳴るところだったぞ。
命拾いしたな。

770 :デフォルトの名無しさん:2016/07/14(木) 08:06:56.59 ID:AWjfs/Yy.net
・・・
$dir_src= 'dir'; $dir_dst = 'dir1'; として
rename( $dir_src, $dir_dst.'/'.$dir_src ); とすればいいんじゃないのか
system系関数使うより健全

771 :デフォルトの名無しさん:2016/07/14(木) 15:13:30.51 ID:lILkfZqG.net
mb_internal_encodingって、
文字列のエンコード変換しない限り設定しなくても問題ないですか?

772 :デフォルトの名無しさん:2016/07/14(木) 16:20:37.46 ID:lILkfZqG.net
file_existsを使う時って、ファイルでもディレクトリでもいいケースよりも
ファイルかディレクトリかは決まっている場合の方が多いので
is_fileやis_dirを使った方がいいですね?

773 :デフォルトの名無しさん:2016/07/14(木) 16:24:03.49 ID:I0A8eCNU.net
> ID:lILkfZqG
好きなようにしろよ
うざいわ

774 :デフォルトの名無しさん:2016/07/14(木) 16:35:13.13 ID:NIa9yA68.net
ほんとどうでもいいw
ケースバイケースだしな
同名のファイル作りたい時にディレクトリがあったら作れないからファイルのチェックだけじゃ無理よね

775 :デフォルトの名無しさん:2016/07/14(木) 16:36:13.11 ID:H+rKct8n.net
状況によっては is_readable とかも便利よ

776 :デフォルトの名無しさん:2016/07/14(木) 18:33:10.85 ID:lILkfZqG.net
>>773
スレタイ読めねーのかハゲ
>>774
そういう場合もありますね
>>775
ありがとうございます

777 :デフォルトの名無しさん:2016/07/14(木) 18:56:34.48 ID:I0A8eCNU.net
>>776
> ◆質問する時の注意
> ・ 己の行った操作、変更などを詳しく明記すること。
> ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
> ・ 質問者として、態度をわきまえること。
> ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

778 :デフォルトの名無しさん:2016/07/14(木) 19:04:50.08 ID:lILkfZqG.net
>>777
回答者じゃない奴に態度をわきまえる必要はない
分かるな?

779 :デフォルトの名無しさん:2016/07/14(木) 19:07:43.63 ID:lILkfZqG.net
ドキュメントのfread()の項目に

バイナリとテキストファイルの形式が異なるシステム(すなわち Windows)では、
fopen()の mode パラメータに 'b' を指定してファイルをオープンする必要があります。

とありますが、
windows環境の場合、リモートのバイナリファイルをダウンロードする場合にも
bパラメータが必要なのでしょうか?

780 :デフォルトの名無しさん:2016/07/14(木) 19:19:40.85 ID:s57sfz3A.net
>>778
今後はトリップ付けてくれないか。
思い過ごしかもしれないが過去にお前に回答したことあるような気がして、今後はそういうことの無いよう気を付けたい。

781 :デフォルトの名無しさん:2016/07/14(木) 19:40:17.19 ID:lILkfZqG.net
>>780
実に了見が狭いですね
そんな人間は質問スレにいりませんので
黙って出て行けばいいだけのことです

782 :デフォルトの名無しさん:2016/07/14(木) 19:47:38.01 ID:H+rKct8n.net
>>779
fopenも見た?

783 :デフォルトの名無しさん:2016/07/14(木) 20:05:22.62 ID:kQwkeBaJ.net
fopenは見たんだが、見ただけで最後まで読んでないんだろうな、きっと。

784 :デフォルトの名無しさん:2016/07/14(木) 20:11:21.22 ID:vDkk9MGv.net
ここもワッチョイにした方が良い感じ

785 :デフォルトの名無しさん:2016/07/14(木) 20:13:05.46 ID:H+rKct8n.net
次スレこそはね。

【PHP】下らねぇ質問はここに書き込みやがれ 5 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1462971286/

786 :デフォルトの名無しさん:2016/07/14(木) 20:59:12.61 ID:lILkfZqG.net
>>783
fopenの項目を見ました
テキストモードで読むと改行の自動変換をするので壊れる、
ということなので、ローカルかリモートかは問題ではないですね
ありがとうございました

787 :デフォルトの名無しさん:2016/07/14(木) 22:38:41.03 ID:lILkfZqG.net
freadを使ってリモートファイルを読んでいます
freadのlengthを大きくしても
一度に1360バイトしか読めないのですが、
この数字はどこで規定されているのでしょうか?
「バッファつきで読み込まれた、プレーンなファイルでないストリームの場合に、
一回の読み込みバイト数がチャンクサイズ (通常は 8192) に達した」時に
freadは終了するとドキュメントには書いてありますが、
何故かそれよりもずっと小さいです

788 :デフォルトの名無しさん:2016/07/14(木) 23:19:31.98 ID:kQwkeBaJ.net
>>786
俺は>782の意見に対して感想を言っただけだからお前が俺に礼を述べるのは筋違いだ。
俺はお前には興味はないからお前がどうなろうと知ったこっちゃない。

789 :デフォルトの名無しさん:2016/07/14(木) 23:32:35.75 ID:lILkfZqG.net
>>788
レス番間違えてたわ
そんくらい分からんか?

790 :デフォルトの名無しさん:2016/07/14(木) 23:48:24.71 ID:kQwkeBaJ.net
今日も猿が元気だ。

791 :デフォルトの名無しさん:2016/07/15(金) 00:14:25.77 ID:fXhDZaUe.net
>>784-785
合意形成はできてるの?

792 :デフォルトの名無しさん:2016/07/15(金) 00:32:45.86 ID:QvjmI5eD.net
このやり取り見てて、どう思った?

793 :デフォルトの名無しさん:2016/07/15(金) 00:49:47.28 ID:ySEzePPe.net
どう思ったって、そりゃ、猿しかいないなと思ったとしか言えんな。

794 :デフォルトの名無しさん:2016/07/15(金) 01:01:39.09 ID:dm6z3Cfz.net
>>787の件ですが
バッファが少ないだけあってブラウザでダウンロードした時よりも1.7倍くらい遅いです
これがPHPの限界なのでしょうか?

795 :デフォルトの名無しさん:2016/07/15(金) 01:10:35.49 ID:QvjmI5eD.net
じゃあ、猿対策として

796 :デフォルトの名無しさん:2016/07/15(金) 01:19:57.34 ID:dm6z3Cfz.net
fread a lot slower for downloads than readfile
http://stackoverflow.com/questions/14664409/fread-a-lot-slower-for-downloads-than-readfile

やはりfreadは遅いようですね
stream_get_contents()を使えばいいようです

797 :デフォルトの名無しさん:2016/07/15(金) 03:26:53.39 ID:dm6z3Cfz.net
URLの中に日本語が含まれていても
ブラウザは適切にURLエンコードしてからサーバにアクセスしますが
これと同じ処理をPHPでやるにはどうすればいいですか?

798 :デフォルトの名無しさん:2016/07/15(金) 03:50:03.80 ID:1/YfIWp8.net
urlencode rawurlencode

799 :デフォルトの名無しさん:2016/07/15(金) 03:51:58.09 ID:5LGzx4BY.net
>>791
みんなが一斉に移る必要なんてなくて、好きな方に行けばいいだけじゃないの?

800 :デフォルトの名無しさん:2016/07/15(金) 03:57:05.53 ID:dm6z3Cfz.net
>>798
ありがとうございます
それはそうなのですが、URL全体にurlencodeをかけると
不必要なところまでURLエンコードしてしまいますね
URLエンコードする必要のある部分だけを抜き出して
urlencodeをかける、というのがややこしいです
今考えていたのはpreg_splitで一文字ごとに切断してバイト数で判断するという方法です
マルチバイトにマッチする正規表現が良く分からないので・・
分かる人いますか?

801 :デフォルトの名無しさん:2016/07/15(金) 04:03:07.86 ID:1/YfIWp8.net
>不必要なところまでURLエンコード
具体的には?

802 :デフォルトの名無しさん:2016/07/15(金) 05:17:56.64 ID:dm6z3Cfz.net
たとえば「/」なんかもエンコードされますね?

結局
foreach (preg_split('//u',$url) as $str){
$result .= strlen($str) >1 ? urlencode($str) : $str;
}

みたいな感じにしました
ループが多くなりすぎるのが気になったのですが、
正規表現使うよりシンプルでもあるのでいいかと。
もっといい方法ありますか?

803 :デフォルトの名無しさん:2016/07/15(金) 07:09:02.64 ID:1/YfIWp8.net
まぁurlencodeの例見て分かる通り
あれはクエリ部分をフィルタリングするのを想定してるからね
ユーザーノートの2番目のような感じでいいのでは?
一度エンコードしてから戻すってやつ
http://php.net/manual/ja/function.urlencode.php#97969

804 :デフォルトの名無しさん:2016/07/15(金) 08:09:11.34 ID:NGSkpex0.net
>>799
次スレはそこにしましょうってことでしょ。
もう立ってるんだから再利用しない手も拒否する理由も無いんじゃない?

805 :デフォルトの名無しさん:2016/07/15(金) 08:15:40.10 ID:AxPyhRCw.net
>>804
このスレより後に、ワッチョイ使用の是非を議論されぬままにワッチョイ仕様で立てられた
重複スレを再利用することを積極的に肯定する理由もない

806 :デフォルトの名無しさん:2016/07/15(金) 08:19:36.43 ID:NGSkpex0.net
なんだ、ワッチョイがやだってことかw
普段何書いてんだよw

807 :デフォルトの名無しさん:2016/07/15(金) 09:37:55.32 ID:QvjmI5eD.net
ワッチョイ合った方が、暴言掛けない様になるから、賛成

808 :デフォルトの名無しさん:2016/07/15(金) 09:44:52.05 ID:ySEzePPe.net
清流を好む魚が、そもそも2chに来てるとは思えないけどな。まぁ、いいんじゃないか?

809 :デフォルトの名無しさん:2016/07/15(金) 13:07:41.56 ID:JNOIp6O6.net
清濁併せ呑む

810 :デフォルトの名無しさん:2016/07/15(金) 13:33:05.15 ID:nn4v9hWV.net
>>802
php parse url encode
でググって20ページ読んでから出直せ。

811 :デフォルトの名無しさん:2016/07/15(金) 13:42:50.20 ID:dm6z3Cfz.net
>>803
一度エンコードしてから戻す方法ですか
予想外のアプローチです
この方がすっきりしてるかもしれませんね
ありがとうございます

812 :デフォルトの名無しさん:2016/07/15(金) 13:57:32.46 ID:8bN8rZM/.net
PHPならあらゆることが簡単に実現できるお

813 :デフォルトの名無しさん:2016/07/15(金) 14:12:03.14 ID:nn4v9hWV.net
まあそれでいいならいいが

814 :デフォルトの名無しさん:2016/07/15(金) 14:12:37.25 ID:nn4v9hWV.net
もしかして"parse"という概念をしらないのか。

815 :デフォルトの名無しさん:2016/07/15(金) 14:12:56.89 ID:8bN8rZM/.net
>>813
スルー決め込まれちゃいましたでやんすね

816 :デフォルトの名無しさん:2016/07/15(金) 14:15:19.10 ID:vMJo/UD7.net
ワッチョイなんてガラケースマホ回線規制しないと何の意味もないと思うが好きにすりゃいいんじゃね
猿が1匹でも減るとありがたいし

>>802
parse_urlでクエリ部分抜き出す→parse_strで配列に→http_build_queryでエンコード
みたいな流れが正統派か
http_build_queryはちと癖があるから要注意

817 :デフォルトの名無しさん:2016/07/15(金) 14:20:33.68 ID:vMJo/UD7.net
ぉぅ
電話取ってる間に解決してたのかw

818 :デフォルトの名無しさん:2016/07/15(金) 15:58:59.57 ID:KZX0uSyb.net
みなさんはmemcachedなどのキャッシュにどのようなデータを格納していますか?

819 :デフォルトの名無しさん:2016/07/15(金) 16:26:00.97 ID:nn4v9hWV.net
>>818
memcached 用途
でググって20件くらい読めば?

820 :デフォルトの名無しさん:2016/07/15(金) 16:49:38.26 ID:ySEzePPe.net
つーか、それを知って何をしたいんだかわからん。
何でも必要な物を入れればいいだけじゃねぇか。

821 :デフォルトの名無しさん:2016/07/15(金) 17:28:51.17 ID:Pd4qmxmL.net
楽天APIのPHPサンプルコードを拾ってきたのですが
たとえば検索ワードを指定するのにいちいちPHPを開いて入力しなければならないので

例 "keyword => "楽天←ここをいちいち書き換える”

ので事前にフォームをかませて name="text"
actionでとばして
$str = $_post'text'

 "keyword => "$str”としたのですが動かしてみると

$str”がちゃんと認識してないみたいでapiにリクエストするURLの生成を失敗します

フォームで パソコン と入力したときに

"keyword => "パソコン”で処理するようにするためにはどのようにすればいいでしょうか?

822 :デフォルトの名無しさん:2016/07/15(金) 17:42:55.38 ID:5LGzx4BY.net
>>821
まずは記号を正しく入力できるようになろう。

823 :デフォルトの名無しさん:2016/07/15(金) 17:48:49.98 ID:nn4v9hWV.net
>>821
$_POST['text']
文字列に埋め込む場合は、"...{$_POST['text']}..."

824 :デフォルトの名無しさん:2016/07/15(金) 19:01:57.92 ID:Pd4qmxmL.net
>>823
ありがとうございました。勉強になりました821

>>822
"keyword => ×
"keyword” => のミスでした。仰られてるのは => がダメという事でしょうか? 

このソースをphpとしてブラウザで読めば動作しますがフォームのhtmlからactionで
飛ばすと => のあとからの部分が ページに表示されてしまうみたいです。
=> が まずいという事でしょうか?

825 :デフォルトの名無しさん:2016/07/15(金) 19:56:34.61 ID:5LGzx4BY.net
>>824
全角と半角の区別をつけられるようになろう。
等幅フォントを使うとよい。

826 :デフォルトの名無しさん:2016/07/15(金) 23:52:00.18 ID:bZsX5UUL.net
ファイルアップロードを行いPHPからDBにBLOBで登録したいんですが、
$_FILES['userfile']['tmp_name']を使用しない(サーバ上の一時ファイルを使用したくない)やり方ってありますか?

827 :デフォルトの名無しさん:2016/07/16(土) 00:35:46.80 ID:ffEJBIp4.net
>>826
サーバーでソケット開いて、そのソケット経由でデータを渡して、それをそのままDBに突っ込む。

828 :デフォルトの名無しさん:2016/07/16(土) 00:38:38.36 ID:ffEJBIp4.net
んー、ていうか、Base64でポストしてサーバー側でデコードして突っ込むだけで、一時ファイルは作られないか。

829 :デフォルトの名無しさん:2016/07/16(土) 18:18:33.61 ID:TSqGKgMU.net
Registryにマジックメソッドを実装して
getHogeを呼んだら
get('hoge')を返す
setHogeを呼んだら
set('hoge',$object)を返す、みたいにしたら便利ですよね?
こんな発想を取り入れているフレームワークありますか?

830 :デフォルトの名無しさん:2016/07/16(土) 18:28:10.91 ID:3cEw7l6X.net
そう思うなら勝手に実装してろ、ハゲ

って言って欲しいんだろ、マゾ

831 :デフォルトの名無しさん:2016/07/16(土) 19:06:50.49 ID:TSqGKgMU.net
は?
ハゲの思考回路は意味が不明ですね
やはり紫外線を直接浴びてるからでしょうかワラ

832 :デフォルトの名無しさん:2016/07/16(土) 22:38:10.71 ID:AvQfeY+j.net
最近こういう煽り方が流行ってるの?

833 :デフォルトの名無しさん:2016/07/16(土) 22:40:54.06 ID:RpE3j4vB.net
移動した直後はゴミが一掃されたって感じだったけど
やっぱ馴染んでくると一緒なんだなw

834 :デフォルトの名無しさん:2016/07/17(日) 00:32:43.52 ID:KNY6thMb.net
最近始めたよphp
データベースとかなんやかんやのネットワーク関係まで触るの初めてだから結構戸惑い気味だ。

835 :kakuuunn:2016/07/17(日) 01:33:07.00 ID:gMGk8PGe.net
WEBサーバApacheについての質問です。

自宅サーバでWEB/FTPを提供しているのですが、
原因不明のアクセス不可が続いています。

■事象
・外部からIEやChromeでWEB接続するとアクセスが出来ない旨が表示
・内部(自分自身のサーバ)からIEやChromeでWEB接続するとアクセスが出来ない旨が表示
・外部からFFFTPでFTP接続するとアクセスできる時と出来ない時がある


■試したこと
・サーバ再起動
・ルータ再起動

■環境
WIndows7 64bit
Apache + PHP
FIleZilla

■質問
原因が色々考えられると思います。
まず名前解決は出来ています。
そこからのネットワーク的な障害なのか、
アプリの障害なのか、
TCPコネクション数の問題なのか、
不正アクセスを受けているのか、
原因が分かりません。

原因の切り分けの方法と、解決策をご教授下さい。

836 :デフォルトの名無しさん:2016/07/17(日) 02:56:08.07 ID:jkbcx0cY.net
ここは鯖板じゃないからなぁ。
アクセス出来ない時のステータスコードは何なん?

500とかならこの板かもしれんけど…

837 :デフォルトの名無しさん:2016/07/17(日) 02:57:56.47 ID:jkbcx0cY.net
というか、windowsでIIS以外で公開するの、ライセンス違反でお縄ね。

838 :デフォルトの名無しさん:2016/07/17(日) 03:25:01.20 ID:/DoV8KsF.net
アホがおるで

839 :デフォルトの名無しさん:2016/07/17(日) 03:29:11.43 ID:NDevJxwd.net
独禁法って知ってるか

840 :デフォルトの名無しさん:2016/07/17(日) 04:22:51.66 ID:HNicyEHT.net
>>837
たとえIISであったとしても、公開Webサーバにするのはライセンス違反

>>839
>>836に対するレスじゃないという逃げ方があることは分かっているけれど、独禁法て。

841 :デフォルトの名無しさん:2016/07/17(日) 04:29:17.11 ID:jkbcx0cY.net
>>840

おまえは優先順位を知らないって言われるだろ。

842 :デフォルトの名無しさん:2016/07/17(日) 05:09:23.94 ID:l1DXOoYc.net
EUC-JPの「@」をUTF8にmb_convert_encodingしたら
「?」になってしまいました
ちゃんと変換するにはどうすればいいですか?

843 :デフォルトの名無しさん:2016/07/17(日) 05:23:19.44 ID:nQcyBORp.net
EUCJP-WINは試した?

844 :デフォルトの名無しさん:2016/07/17(日) 06:09:38.95 ID:KNY6thMb.net
Oauthってさくらレンタルサーバーに入れられないのかあ。やっぱ自前で用意しようかなあ

845 :デフォルトの名無しさん:2016/07/17(日) 06:38:43.83 ID:l1DXOoYc.net
>>843
それでした
ありがとうございました

846 :デフォルトの名無しさん:2016/07/17(日) 07:10:43.42 ID:NDevJxwd.net
>>840
Windows Serverのことじゃないという逃げ方があることはわかっているけど(ry

847 :デフォルトの名無しさん:2016/07/17(日) 17:27:29.44 ID:l1DXOoYc.net
flockを使って排他処理をしようと思います

$lockFIle = 'test.lock';
$fp = fopen($lockFIle,'w');
if (flock($fp,LOCK_EX)){
// 処理
flock($fp,LOCK_UN);
fclose($fp);
unlink($lockFIle);
}

こんな感じにしようと思うのですが
アンロックした後の削除が
他のプロセスの処理と不整合を起こす可能性があるのではないかと思います
アンロック→他プロセスがオープン→他プロセスがロックする前に削除
ってなるのでは?と。
どうでしょうか?

848 :デフォルトの名無しさん:2016/07/17(日) 19:42:48.55 ID:li0s1RGq.net
削除する理由は?

849 :デフォルトの名無しさん:2016/07/17(日) 19:57:13.43 ID:K/o4iFAB.net
>>835

・具体的なエラーを明記してください。
→タイムアウトエラーです

・Apacheのログは?

XXXX.jpg ステータス:200 応答時間:1秒
〜省略〜
XXXX.jpg ステータス:200 応答時間:2秒
〜省略〜
XXXX.jpg ステータス:200 応答時間:10秒
〜省略〜
XXXX.jpg ステータス:200 応答時間:50秒
〜省略〜
XXXX.jpg ステータス:200 応答時間:200秒
〜省略〜
XXXX.jpg ステータス:200 応答時間:250秒
〜省略〜
XXXX.jpg ステータス:200 応答時間:300秒

徐々に応答時間が遅くなっていき、
アパッチを再起動すると、また0秒→300秒といった具合です

性能系の問題だと思うのですが、
アパッチの性能チューニングってどうやればいいのでしょうか?

・発生は毎回?稀に? 成功はしたことある?
→再起動直後は正常接続ですが、上記の通りだんだん重くなっていき、最後には接続不可となります

850 :デフォルトの名無しさん:2016/07/17(日) 20:16:22.49 ID:l1DXOoYc.net
>>848
後片付けです
確かに、削除しなければいいとも思いますが・・
なんとなく気持ち悪いので

851 :デフォルトの名無しさん:2016/07/17(日) 20:33:02.90 ID:J3SjwmUf.net
>>849
そこまで調べた上で何でここで聞いてるん?
どう見てもPHP関係ないやん
自宅サーバ板辺りで適当なスレ探して訊け

852 :デフォルトの名無しさん:2016/07/17(日) 20:45:53.49 ID:CJZXGNcJ.net
メモリリークしてんじゃね

853 :デフォルトの名無しさん:2016/07/17(日) 21:54:53.71 ID:l1DXOoYc.net
>>847の件ですが
flockではなくディレクトリを使ったロックにして、
コードで待ち処理を実現することにしました

854 :デフォルトの名無しさん:2016/07/17(日) 22:49:56.84 ID:l1DXOoYc.net
register_shutdown_functionにオブジェクトのメソッドを登録していますが
シャットダウン時には既にオブジェクトがなくてメソッドを呼び出せない、
という事態になるケースはありますか?

855 :デフォルトの名無しさん:2016/07/18(月) 00:11:44.12 ID:PFPZuQeZ.net
>>854
お前 ID:lILkfZqG だろ?
お前のこと応援してるぜ。
独自のがんばりを期待してる。

856 :デフォルトの名無しさん:2016/07/18(月) 00:20:46.92 ID:4T/8sIS0.net
>>855
そうですよ
ご声援ありがとうございます

857 :デフォルトの名無しさん:2016/07/18(月) 00:35:12.94 ID:PVAMR62M.net
>>856
パーフェクトPHPを読め

858 :デフォルトの名無しさん:2016/07/18(月) 01:53:25.57 ID:Lt3DZeAI.net
googleのOAth.phpってgooglecodeがなくなってからどこに行ったんだ?

859 :デフォルトの名無しさん:2016/07/18(月) 04:17:58.37 ID:98j4qI3o.net
美味いとこだけ食って、
不味いとこはノーサンクスでイケるとおもってるヤツは
自分だけでやってくのがいいんじゃねえの?

860 :デフォルトの名無しさん:2016/07/18(月) 15:03:38.08 ID:HvUhYf8t.net
phpでtimezoneをUTCにしたいんだけど設定しても

$ php -i | grep timezone
PHP Warning: Unknown: Invalid date.timezone value 'UTC', we selected the timezone 'UTC' for now. in Unknown on line 0
Default timezone => UTC
date.timezone => UTC => UTC

上記のようにwarningが出るしcomposerで以下の様なエラーが出る

$ composer
PHP Fatal error: date_default_timezone_get(): Timezone database is corrupt - this should *never* happen! in /usr/share/php/Composer/Util/Silencer.php on line 67

どう設定すればtimezoneをUTCにできます?

861 :デフォルトの名無しさん:2016/07/18(月) 17:10:06.27 ID:JmouzzDC.net
>>860

お前何言ってんのかよくわかんねぇから、
とりあえず、php.iniの

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone

ここにどう書いてるかそのままコピペして見せてみろ

あと、Invalidの意味調べとけ

862 :デフォルトの名無しさん:2016/07/18(月) 23:26:00.90 ID:uIS2YusA.net
浮動小数点数について、以下のURLは一通り読んだ(つもりな)んですが
http://php.net/manual/ja/language.types.float.php
整数のうち1〜3桁目を切り捨てたいとき、正しくはどうすれば良いんでしょうか?
$value = 23918721;
$value_floored = floor( $value/1000 )*1000;
これだとfloorの結果が1ズレてしまいそうで怖いです

863 :デフォルトの名無しさん:2016/07/19(火) 00:31:57.15 ID:yn34H7Ow.net
>>862
$value -= $value % 1000;

864 :デフォルトの名無しさん:2016/07/19(火) 00:34:38.06 ID:q4tCE0Na.net
>>863
ありがとう天才

865 :デフォルトの名無しさん:2016/07/19(火) 06:19:33.07 ID:eWc5HTQT.net
すてるゴミが腐る事気にしてる奴、初めて見た。
てか、捨てるゴミが腐ったら冷蔵庫の中の食品まで腐って食べられないと思ってる奴、初めて見た。

866 :デフォルトの名無しさん:2016/07/19(火) 09:56:11.64 ID:PABFu/YB.net
>>850
ロックファイルは絶対に消してはいけない

867 :デフォルトの名無しさん:2016/07/19(火) 13:08:20.04 ID:7ocwX+2m.net
初めてWebアプリケーションを作っています。

LaravelのEloqmentを使ってデータベースに書き込みを行っているのですが、書き込みを行う文字列はエスケープを行うべきなのでしょうか?

868 :デフォルトの名無しさん:2016/07/19(火) 14:16:31.72 ID:QuuYpuW+.net
例えばシングルクオートはエスケープしないと登録できないだろう
そういうことじゃなくて?

869 :デフォルトの名無しさん:2016/07/19(火) 15:35:26.93 ID:eWc5HTQT.net
>> 867 : デフォルトの名無しさん2016/07/19(火) 14:16:31.72 ID:QuuYpuW+
> 例えばシングルクオートはエスケープしないと登録できないだろう
> そういうことじゃなくて?


こいつ、本気で言ってるのか!?

これに真面目に応えなきゃいけない ID:7ocwX+2m が可哀想過ぎる。

870 :デフォルトの名無しさん:2016/07/19(火) 16:19:20.94 ID:QuuYpuW+.net
こういう煽りしかできない人は書き込まなくても良いと思う

871 :デフォルトの名無しさん:2016/07/19(火) 16:26:27.57 ID:sDdf09fy.net
何のためにやるか、によるけど
SQLそのまま使う場合以外はなくていい

872 :デフォルトの名無しさん:2016/07/19(火) 17:18:58.88 ID:q4tCE0Na.net
%と_は

873 :デフォルトの名無しさん:2016/07/19(火) 17:25:12.19 ID:eWc5HTQT.net
>こういう煽りしかできない人は書き込まなくても良いと思う

アホか?ここは初心者が答えるスレじゃねぇんだぞ?

質問者がなんでそんな事聞いてきたのか理解できねぇような奴こそ、
黙って成り行き見てろよ。

874 :デフォルトの名無しさん:2016/07/19(火) 17:29:55.86 ID:eWc5HTQT.net
>>867

http://stackoverflow.com/questions/27131856/prepared-statement-with-eloquent-orm-laravel

> Eloquent does the PDO style prepared statements behind the scenes to protect against things like sql injection. Eloquent models also protect against mass assignment by default.

と、いうことなわけだ。

875 :デフォルトの名無しさん:2016/07/19(火) 18:31:09.98 ID:8sbR6QQG.net
Apache+PHPのhttproxy対策は、Apacheの更新だけでOKなのか、mod_headersの設定も必要なのか?

876 :デフォルトの名無しさん:2016/07/19(火) 21:16:24.48 ID:dFi2gZ/8.net
Laravelでテスト作っているのですが、
テストの正しい書き方などについて体系的に学べるサイトはないでしょうか?

テストメソッドはなるべく細分化した方がいい....などの細かな事まで学んでみたいです

877 :866:2016/07/19(火) 21:43:33.29 ID:7ocwX+2m.net
SQLインジェクションの例を見てどういう時にエスケープが必要なのか理解出来ました

後下らねえ質問ってスレタイだったから全然テンプレ読んでなくて申し訳ないです

878 :デフォルトの名無しさん:2016/07/19(火) 23:04:15.18 ID:YB1SJPgK.net
天ぷらなんて読む必要なし!

879 :デフォルトの名無しさん:2016/07/19(火) 23:16:18.78 ID:tYaiVuRc.net
テンプレに不満のある人は対案もしくは代案を提示するといい。
具体的にね。そうでないと変わらないと思う。

880 :デフォルトの名無しさん:2016/07/20(水) 00:09:27.68 ID:IFW9VMW+.net
PHPで作ったブラウザってありますか?
JavaScriptも動けば神すぎますが、さすがにそれをマストだとは言えません
PHPじゃなくても、サーバサイドで動かせるようなブラウザが欲しいのです

881 :デフォルトの名無しさん:2016/07/20(水) 00:13:35.84 ID:j5N4Zhbo.net
この短い文章にあふれるキチ加減

882 :デフォルトの名無しさん:2016/07/20(水) 01:56:51.72 ID:Cwc0yafo.net
とりあえず>>2の案
もうちょっと何か足したい感

関連リンク
■公式 http://php.net/
■PHPマニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PHPNG        https://wiki.php.net/phpng
■PECL http://pecl.php.net/
■メーリングリスト   http://ml.php.gr.jp/mailman/listinfo/
■Composer https://getcomposer.org/

ライブラリ等
■Zend Framework https://framework.zend.com/
■Twig http://twig.sensiolabs.org/
■Doctrine http://www.doctrine-project.org/
■PHPUnit https://phpunit.de/
■Packagist https://packagist.org/

883 :デフォルトの名無しさん:2016/07/20(水) 01:57:25.47 ID:Cwc0yafo.net
>>2じゃねぇや>>3

884 :デフォルトの名無しさん:2016/07/20(水) 02:44:16.90 ID:IFW9VMW+.net
>>881
いや単にあなたが低能なだけですよ

885 :デフォルトの名無しさん:2016/07/20(水) 03:31:27.08 ID:MZms4SGS.net
>>884
お前はそろそろロピテクス以下の最下層だという事を自覚して
>>881に一言詫びを入れてから3ヶ月ほどブラウザを閉じて一人で勉強してろ。
そうすれば少しはマシになるだろう。

886 :デフォルトの名無しさん:2016/07/20(水) 03:51:49.58 ID:gdU6tHq4.net
久々この言葉を使う

夏だ

887 :デフォルトの名無しさん:2016/07/20(水) 04:11:40.77 ID:o3DMqR45.net
phpしてないで外で遊びましょう

888 :デフォルトの名無しさん:2016/07/20(水) 04:51:30.22 ID:MZms4SGS.net
勝手に遊んでろ、ハゲ!

889 :デフォルトの名無しさん:2016/07/20(水) 05:10:52.86 ID:IFW9VMW+.net
>>885
ブラウザ=クライアント用、
という頭の固い老人は少し黙っていてもらえますか?
サーバーサイドで動いてphpで操作できるブラウザはないのか、
と聞いているんです
分かりますか?

890 :デフォルトの名無しさん:2016/07/20(水) 05:15:32.32 ID:IFW9VMW+.net
>>803の件ですが
http://php.net/manual/ja/function.urlencode.php#97969
のmyUrlEncodeでは
(や)も元に戻していますが、これはこの挙動であってるのでしょうか?
()を含んだURL見たことない気がしますし
そもそもエンコードする必要もないのにエンコードしてしまっているのなら
urlencodeって何なの?という気がします
どうなのでしょうか?

891 :デフォルトの名無しさん:2016/07/20(水) 05:24:02.57 ID:MZms4SGS.net
日本語が理解できない・使えないロピテクス以下は、
本当に3ヶ月ネット遮断して図書館行ってろよ。
それがお前の為だ。

892 :デフォルトの名無しさん:2016/07/20(水) 06:46:27.33 ID:IFW9VMW+.net
>>890の件ですが
googleで(abc)と検索したら、()もurlエンコードされていると分かりますね
いったい何故、myUrlEncodeでは戻すようにしたのか?
RFC的にはこの方が正しいのでしょうか?

>>891
語彙の少ない老いぼれは辞書でも読んでいた方がいいんじゃないですか?

893 :デフォルトの名無しさん:2016/07/20(水) 07:41:46.95 ID:UjLu+WCS.net
>>892
RFC読めばいいじゃん。
その上で好きな仕様で作ればいいでしょ。

894 :デフォルトの名無しさん:2016/07/20(水) 10:12:33.86 ID:MZms4SGS.net
辞書読めって他人に勧めてた奴が、なんでここで口籠って止まるんだよw

895 :デフォルトの名無しさん:2016/07/20(水) 13:32:40.74 ID:IFW9VMW+.net
>>893
RFCには()は符号化しないで使うことが出来ると書かれています
何故urlencodeやchrome(あるいは他のブラウザも)は符号化しているのでしょうか?

896 :デフォルトの名無しさん:2016/07/20(水) 13:59:57.01 ID:CmER0+yj.net
URLエンコーディングも RFC も google も知っていてなぜたどり着けないのか

897 :デフォルトの名無しさん:2016/07/20(水) 14:15:57.24 ID:M7N2bOht.net
> リファレンスはシンボルテーブルのエイリアスです。

どういうこと?

898 :デフォルトの名無しさん:2016/07/20(水) 15:37:54.96 ID:CmER0+yj.net
>>896
すまん、これおれもたどり着けなかった。
記憶違いだったかもしれないのでコメント保留する。

899 :デフォルトの名無しさん:2016/07/20(水) 15:47:08.93 ID:rNC2ZoW6.net
>>892
検索してみました
https://www.google.co.jp/search?hl=ja&q=(abc)&lr=lang_ja&gws_rd=ssl

900 :デフォルトの名無しさん:2016/07/20(水) 15:59:05.47 ID:IFW9VMW+.net
まあおそらくですが、RFCに準拠してないサービスなどがはびこっているので
urlencodeなどは互換性のためにそうしているのでしょうね
それならドキュメントにそう明記しておくべきだと思いますが・・

901 :デフォルトの名無しさん:2016/07/20(水) 16:04:36.54 ID:CmER0+yj.net
>>898
見つけた

902 :デフォルトの名無しさん:2016/07/20(水) 16:05:42.53 ID:MZms4SGS.net
お前ら、楽しそうでいいな。

903 :デフォルトの名無しさん:2016/07/20(水) 16:08:52.34 ID:MZms4SGS.net
お前らって、アレだろ?
宇宙に行ってボールペンが書けない事を発見したら
宇宙でも書けるボールペンを開発する派だろ?

904 :デフォルトの名無しさん:2016/07/20(水) 16:36:37.06 ID:rNC2ZoW6.net
> googleで(abc)と検索したら、()もurlエンコードされていると分かりますね
ここがどうしても分からないんですけど、教えてはもらえないでしょうか

905 :デフォルトの名無しさん:2016/07/20(水) 16:42:07.64 ID:rNC2ZoW6.net
あ、ログインした状態のchromeを使ってgoogleのトップページのフォームで検索したらエンコードされた

906 :デフォルトの名無しさん:2016/07/20(水) 19:34:31.32 ID:MZms4SGS.net
ロピテクスが元気にハシャグと、流れが止まるんだよなぁ…

907 :デフォルトの名無しさん:2016/07/20(水) 20:26:13.48 ID:1xTp84Qd.net
>>903
ちょっと違う
開発させる派だわ

908 :デフォルトの名無しさん:2016/07/20(水) 20:34:21.46 ID:MZms4SGS.net
>>907
あー、さいですか。

ここは最低限霊長類のスレなので、
それ以上か以下かはしらんけど、
わざわざやってきて止まってるスレで下らん自己主張する
外の人は自分に合ったスレに行ってもらえますか?

909 :デフォルトの名無しさん:2016/07/21(木) 00:56:36.51 ID:Ihe/yemF.net
質問です。
メソッドチェーンでの使用を前提とした、既存のクラス(ライブラリ)があります。
このライブラリ自体には手を加えずに独自の拡張を行いたいと思っています。

単にクラスを継承しただけでは、親クラスの関数を数珠繋ぎに出来ませんよね?
とりあえず、$thisを返す可能性があるpublic関数に対して
片っ端からラッパを書いてみたのですが、その数が何十にもなると大変でした。

ライブラリのアップデートで関数が追加された場合、
そのたびに修正しなければならないのも不具合の原因になりそうです。

こういった場合、どうするのがスマートでしょうか。
バージョンは5.3.3ですが、最近のバージョンで解決可能ならそれでも構いません。

910 :デフォルトの名無しさん:2016/07/21(木) 01:57:25.93 ID:lSK4P9QQ.net
>>909
コンパクトなサンプルコード
何がしたいのかが何となくしか分からん

911 :デフォルトの名無しさん:2016/07/21(木) 01:57:33.96 ID:XMUTKrdL.net
>単にクラスを継承しただけでは、親クラスの関数を数珠繋ぎに出来ませんよね?

なぜ?普通に出来るのでは?

912 :デフォルトの名無しさん:2016/07/21(木) 01:59:09.85 ID:h2Njwq+3.net
>ライブラリのアップデートで関数が追加され

るようなライブラリを使うのに、勝手に独自拡張するような使い方は
他人が不幸になるだけだからやめたら?

913 :デフォルトの名無しさん:2016/07/21(木) 11:06:11.02 ID:EiiI2tqp.net
>>909
ラッパクラス作ってそのクラス内で__call使えばいいだけじゃないの?
そういう事ではなく?

914 :デフォルトの名無しさん:2016/07/21(木) 12:50:08.84 ID:hw5N2HEi.net
>>913
>>911 のようなことだと思ってた

915 :デフォルトの名無しさん:2016/07/21(木) 14:08:12.15 ID:XMUTKrdL.net
継承してれば普通に呼べるやろ?
呼べないなら継承って何なの?と思ったけど
親クラスのメソッドがマジックメソッドで実装されてる場合は普通には呼べないのか

916 :908:2016/07/21(木) 22:48:08.97 ID:Ihe/yemF.net
>909です。
最小ソースで実験してみたら普通に継承できました。
お騒がせしてスミマセン。

既存ライブラリの仕様(初心者ゆえ曖昧な表現でご容赦ください)により、
そのまま継承してもチェーンできないのを
チェーンメソッドは継承できないと勘違いしていました。

917 :デフォルトの名無しさん:2016/07/22(金) 06:56:43.37 ID:cBSnbO0t.net
windowsでphp使って全文検索できるシステム組むなら
検索部分は何使うのがいいですか?

918 :デフォルトの名無しさん:2016/07/22(金) 07:57:00.50 ID:1vDggOyW.net
抽象的だな

919 :デフォルトの名無しさん:2016/07/22(金) 08:23:42.89 ID:N9kAj4S3.net
中小学生の子なんだろ。やさしく教えてやったら?俺はヤダけど。

920 :デフォルトの名無しさん:2016/07/22(金) 10:12:53.45 ID:xkniS2Wh.net
>>917
PHP

921 :デフォルトの名無しさん:2016/07/22(金) 10:24:48.31 ID:c8j+o07w.net
>>917
昔からあるところで Namazu とか?
他には Hyperestraier とか?
どっちも Windows で使ったことは無いけど。

922 :デフォルトの名無しさん:2016/07/22(金) 14:17:07.11 ID:NSe4MNLs.net
ほんとくだらない質問なんだけど

ディレクトリをdefineするとき、最後の / は入れてる?

define("UNKODIR", "/tmp/unko");
define("UNKODIR", "/tmp/unko/");

みんなはどっち派?
おれは / つける派だったんだけど、あるとき

923 :デフォルトの名無しさん:2016/07/22(金) 14:53:46.34 ID:E8qd+DIg.net
あるとき、なんなんだよ気になるだろ

付けない派
まあどっちかに統一すればいいだけの話だし
file_existsもis_dirもrmdirも末尾/があってもなくても動くんだけど

924 :デフォルトの名無しさん:2016/07/22(金) 15:42:21.41 ID:cBSnbO0t.net
>>921
ありがとうございます
両方とも、結構前からあるプロダクトですよね
最近の新しい動きは出てない感じですね
n-gramやら、転置インデックスやらを使って、
phpだけで実装することは出来ないでしょうか?
やってみた人いますか?

925 :デフォルトの名無しさん:2016/07/22(金) 18:54:06.92 ID:N9kAj4S3.net
>>922

個人的には /hogehage に統一したいところ。
よく使われている dirname(__FILE__) をすると最後に / がつかないから、
そこに続くパスは / で始める事になる。

だからパス指定は / で始めるに統一できるならしたい。

でも、大抵はなんか別の理由でイレギュラーな箇所がでてくる。

関係無けど、何故か __DIR__ 使っているのはあまりみたことがない。

926 :デフォルトの名無しさん:2016/07/22(金) 21:44:56.65 ID:NSe4MNLs.net
>>923 >>925
/tmp/unko//chinko.dat
になっても正常に動作するので、そこはいいかなーって

$fullname = UNKODIR. "/". $filename; // 万能型
$fullname = UNKODIR. $filename; // スラあり型

$filename に / が入ってても入ってなくても動くし
どっちも / 抜かしてる可能性考えると 万能型にしたいけど
コード書くときは スラあり型 にしたいんだよなー

927 :デフォルトの名無しさん:2016/07/22(金) 22:02:54.47 ID:cBSnbO0t.net
>>926
書き込み時にはスラ付ける
読み込み時にはスラがなくても動くようにする
同一関数内の処理の場合は、スラの有無が明確なので、
読み込み時にスラ付けたりはしないけど

928 :デフォルトの名無しさん:2016/07/22(金) 22:59:16.09 ID:N9kAj4S3.net
そこんところは本当に、関わるプロジェクトでみんな全く違うから
あんまりこだわるところじゃないんだろうな。

929 :デフォルトの名無しさん:2016/07/23(土) 03:45:10.59 ID:sDLbl0Tk.net
>>924の件ですが
自然言語処理の本を読んでいると
TF-IDFとかコサイン類似度とか出てきますが
これは億単位の文書から最も適合した文書を探し出すための
順位付けに使うもので、
クライアントPC内の限られた文書を全文検索する場合、
「順位付け」ということがまずほとんど無用ですね
一口に全文検索といっても、そこにはかなり種類の異なる処理が含まれるなあと
思った次第です

930 :デフォルトの名無しさん:2016/07/23(土) 04:17:10.26 ID:WI96AR4D.net
windowsのクライアントPC内の文書を検索するならインデックスサービスでいいんじゃないかって気もするんだけど

931 :デフォルトの名無しさん:2016/07/23(土) 13:37:38.59 ID:sDLbl0Tk.net
>>930
実はそうしています
iFilterというのを入れて、windows標準の検索機能でPDFを全文検索できるようになったのですが
これだと語句が見つかった位置が分かりにくいんです
pdfからテキストを抜け出すpdftotextというプログラムがあったので
phpとこれを使って、自前でPDFからの全文検索を実装しようかと

932 :デフォルトの名無しさん:2016/07/24(日) 06:03:10.22 ID:oOM1gog7.net
全文検索を、mysql+n-gramで実装しようと思います
http://www.tatamilab.jp/rnd/archives/000390.html
このような、テキストをn文字で切ってフルテキストインデックスを張る方法です
このサイトもそうですが、ネット上でこの方法を説明しているものの多くは
against( '+お仕 +仕事' in boolean mode )
みたいにboolean modeでAND検索をするというように書いているのですが
これだと「お仕hoge仕事」というテキストもヒットするはずです
「お仕」と「仕事」の連続性は保証されないからです。
against( '"お仕 仕事"')
のような形にすると、
「お仕事」はヒットし、「お仕hoge仕事」はヒットしません
explainを見ても、ちゃんとfulltextインデックスが使われているようです
正しいのはこのやり方ではないでしょうか?
それともこれだと何か問題が出るのでしょうか?

933 :デフォルトの名無しさん:2016/07/24(日) 21:49:35.26 ID:oOM1gog7.net
いろいろ手間取りましたが、約4500のpdfファイルのテキストがdbに入りまして
>>932の方法で検索してみたところ、一瞬で表示されて感動です
手間取った点は、
発行時のクエリの大きさに関係するmax_allowed_packet
書き込み時のタイムアウトを規定しているらしいnet_write_timeout
がデフォルトでは小さすぎたというところです

934 :デフォルトの名無しさん:2016/07/26(火) 02:54:16.30 ID:ekoTZKjr.net
マルチバイトでstrtrみたいなことをやりたい時は
正規表現関係なくてもpreg_replaceとかmb_ereg_replaceを使うしかないのでしょうか?

935 :デフォルトの名無しさん:2016/07/26(火) 10:41:10.20 ID:7I7s90sH.net
>>934
UTF-8限定ならstr_replace() を使えば問題ない。
って見たことある。

936 :デフォルトの名無しさん:2016/07/26(火) 14:35:58.15 ID:ekoTZKjr.net
>>935
なるほど
UTF-8は文字が他の文字のコードを含むことはないということですね
ありがとうございました

937 :デフォルトの名無しさん:2016/07/26(火) 16:01:27.87 ID:DP/fo1cL.net
状況によっては問題ないだろうけど。

938 :デフォルトの名無しさん:2016/07/26(火) 16:15:16.19 ID:ekoTZKjr.net
というと、問題が出る可能性もあるんですか?

939 :デフォルトの名無しさん:2016/07/26(火) 16:47:06.49 ID:DP/fo1cL.net
変換内容によって、
strtr は再変換が発生しない
str_replace は再変換が発生する
という違いがある。
その観点でいろいろ実験してみるといいよ。

個人的にはstr_replaceを使うのではなく
string strtr ( string $str , array $replace_pairs )
を使う方がいいと思うよ。

こっちはperlのtrっぽくない動きをするから気持ち悪いかもしれないけど。

940 :デフォルトの名無しさん:2016/07/26(火) 16:49:21.12 ID:DP/fo1cL.net
ああ、UTF-8 という前提で。

941 :デフォルトの名無しさん:2016/07/26(火) 16:54:30.04 ID:RzrPgs8O.net
くっだらねぇ

942 :デフォルトの名無しさん:2016/07/26(火) 17:02:26.64 ID:ekoTZKjr.net
そうか・・
UTF-8ならstr_replaceで問題ないなら、strtrでも問題ないですよね
何故か盲点でした
ありがとうございました

943 :デフォルトの名無しさん:2016/07/26(火) 17:23:08.29 ID:DP/fo1cL.net
>>941
くだらないついでにこの最高にクソな記事でも見てやってくれ
http://thk.kanzae.net/net/itc/t2510/

944 :デフォルトの名無しさん:2016/07/26(火) 22:56:51.15 ID:khzQVFVw.net
ポケビジョンみたいなウェブアプリをつくりたいのですが、この言語とポケモンのAPIで作成可能でしょうか?

945 :デフォルトの名無しさん:2016/07/27(水) 01:03:36.77 ID:jqIFJxOw.net
そりゃもちろん。

946 :デフォルトの名無しさん:2016/07/27(水) 01:09:53.36 ID:n7RdK8WF.net
>>945
やりかたおしえて

947 :デフォルトの名無しさん:2016/07/27(水) 02:39:41.99 ID:4c6945gr.net
APIの操作は普通クエリーの発行で行います
これは他のサイトにアクセスするのとほぼ同じ操作です

948 :デフォルトの名無しさん:2016/07/27(水) 02:58:32.49 ID:jqIFJxOw.net
>>946
何のために作ろうとしてるのかによるけど、時間かけて地道に勉強した方がいいよ。

949 :デフォルトの名無しさん:2016/07/27(水) 10:05:45.02 ID:8yC4YC1p.net
ダメです
出来ればお盆くらいまでにちゃっちゃと作って
アフィでお小遣い稼ぎするんです

950 :デフォルトの名無しさん:2016/07/27(水) 10:18:41.52 ID:6NuqJv8S.net
プロに金払ってたのめばいい

951 :デフォルトの名無しさん:2016/07/27(水) 10:44:45.44 ID:2CCRGr5/.net
アフィやれば儲かるんだから、すぐに元とれるよなw

952 :デフォルトの名無しさん:2016/07/27(水) 10:52:08.85 ID:B1bvHjCt.net
$new_file = new SplFileObject($new_file);
$new_file->setFlags(SplFileObject::READ_CSV);

foreach ($new_file as $line) {
  echo $line[0];  // Undefined offsetは出ない
  echo $line[1];  // Undefined offsetが出る
  echo $line[2];  // Undefined offsetが出る


上記コードでCSVを読み込んでforeachで$lineに配列化したいんですが、実行結果で

Notice: Undefined offset: 1
Notice: Undefined offset: 2

が出てしまいます。
一応echoの結果そのものは想定している値が表示されているのですが、
$line[0]ではnoticeが出ず[1]と[2]ではnoticeが出るのは何がいけないんでしょうか

php5.3

953 :デフォルトの名無しさん:2016/07/27(水) 12:37:15.60 ID:iqv0Bu3P.net
>>952
Undefined offsetの意味は分かってるんだろうか

とりあえrず
echo $line[0];
echo $line[1];
echo $line[2];

コメントアウトして
var_dump($line);
を追加してから実行結果を確認してみ

954 :デフォルトの名無しさん:2016/07/27(水) 13:46:11.96 ID:B1bvHjCt.net
たぶん自己解決しました
空行があるとそれが起こるようです

955 :デフォルトの名無しさん:2016/07/27(水) 14:14:13.07 ID:iqv0Bu3P.net
まるで学ぶ気がなくてワロタw
真面目に答えるだけアホくさいな

956 :デフォルトの名無しさん:2016/07/27(水) 14:19:34.51 ID:6NuqJv8S.net
そういや今夏休みなんだな

957 :デフォルトの名無しさん:2016/07/27(水) 15:36:03.83 ID:E11VYAF0.net
せめて何歳かわかれば「まぁ、しょうがないか…」と思うこともあるかもしれないが。

958 :デフォルトの名無しさん:2016/07/27(水) 18:59:10.57 ID:n7RdK8WF.net
>>957
上から発言、偉いんだねー

959 :デフォルトの名無しさん:2016/07/27(水) 19:40:18.50 ID:FB3DBcHt.net
そりゃ教えてやってる立場なんだから偉いだろw
もっと尊敬しろよクズどもw

960 :デフォルトの名無しさん:2016/07/27(水) 23:51:26.56 ID:4c6945gr.net
windows上のphpで、
2バイト目が0x5cなどの文字を含むファイルパスの
エスケープ処理はどうするのがいいのでしょうか?

961 :デフォルトの名無しさん:2016/07/28(木) 00:19:13.71 ID:BcazKYXd.net
システムのユーザー名・ファイル名・パスなどには、英数字のみを使う

_ (アンダーバー)は使っても良いが、
- (ハイフン)は色々な種類があるので、使うな

962 :デフォルトの名無しさん:2016/07/28(木) 01:02:32.71 ID:zmuz0aac.net
ユーザー名にはさすがにascii文字を使いますが
日本語のディレクトリ名、ファイル名なんていくらでもありますよね

963 :デフォルトの名無しさん:2016/07/28(木) 01:48:35.29 ID:zmuz0aac.net
PHPのロケールに関するまとめ
http://d.hatena.ne.jp/hnw/20120501

こんな記事を見つけました
非マルチバイト関数でもロケール設定によって挙動を変えるものがあるとのこと
具体的にどんな違いが出るのか、いまいちイメージしにくいですが・・

964 :デフォルトの名無しさん:2016/07/28(木) 02:18:01.52 ID:zmuz0aac.net
調べるほどに実装のクソさがはっきりしてきますね
まさか2016年にSJISに悩まされるとは思いませんでした

965 :デフォルトの名無しさん:2016/07/28(木) 03:24:12.90 ID:uo2o1CkW.net
PHPerにはそんなのたいした問題ではありませんが何か?

966 :デフォルトの名無しさん:2016/07/28(木) 03:24:55.88 ID:uo2o1CkW.net
ドシロウトにはPHPは向いてないって言われてるだろうに

967 :デフォルトの名無しさん:2016/07/28(木) 03:37:55.55 ID:zmuz0aac.net
逆です。
phpが悪いというか、windowsが悪いんです

968 :デフォルトの名無しさん:2016/07/28(木) 03:41:54.52 ID:zmuz0aac.net
windowsも内部ではunicode化されてるそうですが
SJISの呪いを被せられているようです
PHPも呪いの外側からしかアクセスできないのでしょうか?

969 :デフォルトの名無しさん:2016/07/28(木) 04:20:55.66 ID:9iycxasn.net
おまえら、ボールペンじゃなくて鉛筆つかえってば。

970 :デフォルトの名無しさん:2016/07/28(木) 10:34:52.60 ID:MRvtYwLN.net
>>968
ハイフン問題はUnicodeの呪い。
https://hydrocul.github.io/wiki/blog/2014/1101-hyphen-minus-wave-tilde.html

971 :デフォルトの名無しさん:2016/07/28(木) 11:09:23.76 ID:KxAg1aMY.net
>>960
UTF8で書いたPHP内で
Windows上のパスは mb_convert_encoding($path, 'UTF-8', 'SJIS-win') して扱えば
ディレクトリ名やファイル名に0x5cを含むパスも問題なく扱える

※Windows7までしか確認してないからそれ以降は知らない

972 :デフォルトの名無しさん:2016/07/28(木) 11:13:33.56 ID:KxAg1aMY.net
WindowsのSJISの話なんてガラケー時代に各社が勝手に拡張して作った絵文字に比べたら可愛いもんだと思う
RFC違反のメアドといい当時はdocomo死ねよと思ってたわ

973 :デフォルトの名無しさん:2016/07/28(木) 11:54:28.09 ID:zmuz0aac.net
レスありがとうございます
ディレクトリエントリの取得にglobではなくscandirを使うようにしたら
うまく読めなかったディレクトリも読めるようになりました

974 :デフォルトの名無しさん:2016/07/28(木) 20:41:03.36 ID:+EEHpdbw.net
>>972
あくまでFOMAだからな
RFC?何それ?ってなもんで

975 :デフォルトの名無しさん:2016/07/28(木) 22:41:31.56 ID:YFw1hd80.net
スパムメールが来ないというメリットはあったけどな

976 :デフォルトの名無しさん:2016/07/29(金) 18:25:47.99 ID:dQhvNRrM.net
>>974
でも未だに「@」の前が「.」で終わったり「.」が2つ続くアドレスとか普通に存在してるからな
docomo,auの功罪はでかいよ

977 :デフォルトの名無しさん:2016/07/29(金) 19:17:33.93 ID:xSV95ggv.net
>>976
功もあるので良し

978 :デフォルトの名無しさん:2016/07/30(土) 03:54:40.55 ID:wilS7b6y.net
twitterってスクレイピングしていいの?( ^ω^)

979 :デフォルトの名無しさん:2016/07/30(土) 06:16:09.50 ID:tSy6NJrp.net
アクセスできてスクレイピングしちゃいけないサイトなんてないだろ
著作物に関わるものなら著作権に照らし合わせて使えばいいだけのこと

980 :デフォルトの名無しさん:2016/07/30(土) 09:14:01.54 ID:AdeEmNwB.net
図書館「とでも思っているのか」

981 :デフォルトの名無しさん:2016/07/30(土) 10:03:56.98 ID:ra6fEHwC.net
スクレイピング自体を禁止することは、利用規約の範囲でしかできないだろうね。
元々、誰でも見ることが出来る情報なんだし。

ただ、そのやり過ぎでサーバーに負荷がかかったら、それを理由に訴える事はできる。

つまりまぁ、公に「やっても良い」とは言えないので、
やるなら節度をわきまえてやれってとこじゃないかな? 恐らくだけど。

982 :デフォルトの名無しさん:2016/07/30(土) 10:37:54.32 ID:uyw/q1V9.net
図書館のバグのせいで逮捕された人がいるんだよなぁ〜

983 :デフォルトの名無しさん:2016/07/30(土) 13:53:49.52 ID:qR7Cbx7h.net
あぁ、979はそういう意味だったのか、すまん

984 :デフォルトの名無しさん:2016/07/30(土) 15:10:58.74 ID:xuNBL+Lw.net
クライアントに、クッキーに保存してあるセッションIDを要求し、
セッションIDがなければ新規発行し、データベースへの接続を作成。
セッションIDがあれば、先に作成した接続を利用してデータベースへアクセス。

というのを、単純な仕組みで実装してしまったがために
そもそもクッキーを持たないようなクライアントでアクセスすると死ぬ、とかそんなんだっけか

985 :デフォルトの名無しさん:2016/07/30(土) 15:37:02.62 ID:k5aoOJnS.net
プログラム開始時に確保したデータベースリソースを、終了時に解放し忘れていただけ。
データベース側はタイムアウトにより解放するんだけど、
連続したアクセスを行われると、解放し切れずに使い切ってしまい、システムが落ちてしまう。

ちょこっとした確認試験では見つからないとしても、
運用時を想定して連続負荷試験をしていれば、簡単に見つかる不具合だね。

問題はそれだけじゃなく、
開発会社が不具合に気がついたものの、こっそり直そうとしたため、当該図書館が修正できず放置されていたこと。
システムへのアクセスがパスワード無しでできたため、ソースがネット上に流出し、バグ解析を皆でやったこと。

986 :デフォルトの名無しさん:2016/07/30(土) 15:39:49.32 ID:uyw/q1V9.net
クッキー食わないブラウザだと死ぬのは知ってたがソース流失ってマジかよ…

987 :デフォルトの名無しさん:2016/07/30(土) 15:40:45.05 ID:xuNBL+Lw.net
>>985
あら、通常のブラウザからでもダメだったのか

988 :デフォルトの名無しさん:2016/07/30(土) 15:43:30.35 ID:uyw/q1V9.net
クッキー切ったブラウザからアクセスされても普通に死ぬ件

989 :デフォルトの名無しさん:2016/07/31(日) 00:09:01.04 ID:DXnXJ1sj.net
OAuthので認証をするライブラリってどれ使えばいいの?
PEARのHTTP_OAuthでいいかな

990 :デフォルトの名無しさん:2016/07/31(日) 01:25:53.16 ID:HOTyuPma.net
>>989
なんもフレームワークつかっとらんの?

991 :デフォルトの名無しさん:2016/07/31(日) 01:46:48.89 ID:DXnXJ1sj.net
>>990
パーフェクトPHP読みながら作ったやつ使ってるの
フレームワークにはOAuthの機能がついてるのん?

992 :デフォルトの名無しさん:2016/07/31(日) 14:49:55.94 ID:54Ehq7B7.net
>>991
あるものもあるし、ないものもある
ないもののときはない

993 :デフォルトの名無しさん:2016/07/31(日) 17:44:21.61 ID:0U+gA+7M.net
うん、本当にどうでもいい回答だ

994 :デフォルトの名無しさん:2016/07/31(日) 19:03:48.73 ID:yvkXdxUw.net
スネークマンショーかよ

995 :デフォルトの名無しさん:2016/07/31(日) 22:22:55.49 ID:4YE3aVl5.net
recommend socialite!

996 :デフォルトの名無しさん:2016/08/02(火) 20:01:22.80 ID:CU+GTCwG.net
次スレ

【PHP】下らねぇ質問はここに書き込みやがれ 5 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1462971286/

997 :デフォルトの名無しさん:2016/08/03(水) 13:28:45.10 ID:cNyQLT6D.net
埋めます

998 :デフォルトの名無しさん:2016/08/03(水) 13:29:08.32 ID:cNyQLT6D.net
.

999 :デフォルトの名無しさん:2016/08/03(水) 13:29:24.20 ID:cNyQLT6D.net
,

1000 :デフォルトの名無しさん:2016/08/03(水) 13:29:35.75 ID:cNyQLT6D.net
:

1001 :デフォルトの名無しさん:2016/08/03(水) 13:30:03.00 ID:cNyQLT6D.net
;

1002 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

1003 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1003
287 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★