【PHP】下らねぇ質問はここに書き込みやがれ 5 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2016/05/11(水) 21:46:50.27ID:e/4BOK4yまず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 4 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1457792733/
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0002デフォルトの名無しさん
2016/05/11(水) 21:47:45.13ID:e/4BOK4y【OS名】CentOS
【PHPのバージョン】7.0
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・ 解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・ 誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・ SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0003デフォルトの名無しさん
2016/05/11(水) 21:48:13.95ID:e/4BOK4y■本家マニュアル 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/
0004デフォルトの名無しさん
2016/05/11(水) 22:05:33.90ID:O2+YRvW5シンク/ダブクはプロジェクトに合わせろ
以上/
0005デフォルトの名無しさん
2016/05/11(水) 22:06:58.41ID:e/4BOK4y0006デフォルトの名無しさん
2016/05/11(水) 22:09:26.98ID:hUyymvDAなわけねーだろ、ハゲ!
0007デフォルトの名無しさん
2016/05/11(水) 22:10:26.41ID:hUyymvDAPHPerは、どうして必要もないのにエスケープを使えとか、
オナニー覚えたてのサルみたいな事を得意げに言えるんですか?
0008デフォルトの名無しさん
2016/05/11(水) 22:15:08.60ID:O2+YRvW5PHPHPHPHPHPはクソ言語だからデス
0009デフォルトの名無しさん
2016/05/11(水) 22:23:42.49ID:/m6oDzNj0010デフォルトの名無しさん
2016/05/11(水) 22:25:10.95ID:hUyymvDAPHP自体は変な言語だけどクソでは無いと思うのですが…
0011デフォルトの名無しさん
2016/05/11(水) 22:30:02.26ID:WZjp/w62乙です
0012デフォルトの名無しさん
2016/05/11(水) 22:48:39.93ID:Qb9Kyo2IことHTMLを出力することに主眼を置いたPHPではよくあったんですよ、という意見。
カラム数がーという向きはsprintf使えばいいんじゃないでしょうか。
0013デフォルトの名無しさん
2016/05/12(木) 01:13:25.55ID:psnILFRCこの文字内から「http://aaaa/00.jpg」の部分を切り取る方法はないだろうか?
preg_matchで「/src="(.*)"/」を使うと「http://aaaa/00.jpg" alt=」ということになってしまう。
0014デフォルトの名無しさん
2016/05/12(木) 01:16:06.07ID:rromkTEb/src="(.*?)"/
規格上は属性値のダブルクオート内にはダブルクオートは出てこないことになっている筈なのでまともなHTMLなら大丈夫
0015デフォルトの名無しさん
2016/05/12(木) 03:28:16.77ID:mRkY65zwライブラリってことっすか?
例えばローカルでフレームワークってのを使って開発したら、本番環境でもフレームワークっていうライブラリ?環境を構築しておく必要があるってことかな?
レンタルサーバによってはフレームワークが使えないとかあるの?
0016デフォルトの名無しさん
2016/05/12(木) 03:37:08.71俺が使うのがライブラリで
ここを埋めろと俺に指図してくるのがフレームワークやな!
0017デフォルトの名無しさん
2016/05/12(木) 06:09:47.21ID:PfVXZW0wだからHTMLはシングルクオートを使ったほうがいいんだよ。
HTMLメインでプログラムちょっとならプログラムの方を合わせるんだろうけど、
今時はプログラムもりもりなんだからそっちに規約を合わせたほうがずっと合理的じゃん。
つまり、HTMLでダブルクオート使って、PHPでシングルクオート使ってる奴は
大したことやってないって事。
0018デフォルトの名無しさん
2016/05/12(木) 06:12:49.71ID:PfVXZW0wライブラリはプログラムの中に部品として組み込んで使うもの
フレームワークは外枠で、その中にプログラムを入れてくもの
0019デフォルトの名無しさん
2016/05/12(木) 06:14:44.27ID:PfVXZW0w0020デフォルトの名無しさん
2016/05/12(木) 06:17:53.90ID:PfVXZW0w大体WEBデザっていうのはデザイン以外のことは本当に勉強しないから
シングルクオート使えって言っても無理なので、こっちが合わせてやって
PHPコードの中にHTML埋め込むなんて無様なことしなくてもいいように
テンプレートエンジンを使うようになるわけ。
そうすりゃ、
>変数展開うんぬんよりも、ダブルクォートをエスケープしなくてよいというメリットが大きい場合が、
>ことHTMLを出力することに主眼を置いたPHPではよくあったんですよ、という意見。
こういう悩みはほとんど出会うこと無くなるね。
0021デフォルトの名無しさん
2016/05/12(木) 06:21:20.24ID:PfVXZW0w最短マッチの意味くらい教えてやったほうがいいんじゃねぇの?
0022デフォルトの名無しさん
2016/05/12(木) 10:24:05.94ID:psnILFRCできました。
ありがとうございます。
0023デフォルトの名無しさん
2016/05/12(木) 10:31:16.23ID:9i0iNSsGあえてデフォルトをシングルクォートにして、茨の道を進むこともない。
0024デフォルトの名無しさん
2016/05/12(木) 11:18:31.92ID:yS+oRGNv慣れればどっちも大差ないのにドヤ顔されてもなw
0025デフォルトの名無しさん
2016/05/12(木) 11:21:41.28ID:9i0iNSsGどっちも大差ないんだから、デファクトに従っとけってこと。
0026デフォルトの名無しさん
2016/05/12(木) 11:55:39.13ID:53ci8tsi$sql = "SELECT tweeted FROM home WHERE postdate>='$date_start'";
みたいにコロコロ使い分けるんだけど、だめなのかな?
0027デフォルトの名無しさん
2016/05/12(木) 12:50:16.85ID:psnILFRC10秒おきにhelloと画面に追加で出力し続けさせるにはどうしたら良いのでしょうか?
0028デフォルトの名無しさん
2016/05/12(木) 12:59:35.65ID:cjGLAq67ob_end_flush();
ob_start('mb_output_handler');
do{
echo "hello<br>\n";
ob_flush();
flush();
sleep(10);
}while( true );
ただし手で止めないと
0029デフォルトの名無しさん
2016/05/12(木) 13:17:55.63ID:PsaibF6a俺に言われても困る。ちゃんと過去形にしてるのに。
0030デフォルトの名無しさん
2016/05/12(木) 13:49:45.87ID:9i0iNSsG>>20
> テンプレートエンジンを使うようになるわけ。
そうなったら、HTMLでダブルクォートを使おうが、シングルクォートを使おうが関係ないのでは?
0031デフォルトの名無しさん
2016/05/12(木) 14:01:26.65ID:dJbaecHIあと、ロックしている人数を知りたい
0032デフォルトの名無しさん
2016/05/12(木) 15:20:50.89ID:jS9qIz080033デフォルトの名無しさん
2016/05/12(木) 16:03:13.10ID:fWPswQwqflock を SIGALRM で割り込めるだけでもやりようがあるんだけど、PHP だと割り込めないんだよね。
だから非ブロッキングな flock を sleep なり usleep しながら必要時間経つまで繰り返すのが現実的だと思う。
待ち人数も別途管理する必要があるだろうけど、flock 使うなら待ちの順番が保障されてるわけではないからそれほど意味が無いかも。
0034デフォルトの名無しさん
2016/05/12(木) 20:16:56.95ID:PfVXZW0wそういう趣旨で書いてるけど、日本語読めない人?
0035デフォルトの名無しさん
2016/05/12(木) 20:19:07.23ID:PfVXZW0w過去の話を現在の話に持ち込んだお前が悪い。
0036デフォルトの名無しさん
2016/05/12(木) 20:39:51.95ID:psnILFRC30秒で止まってしまうようです。
0037デフォルトの名無しさん
2016/05/12(木) 20:50:43.62ID:dJbaecHIたとえば 10人も待ってたらさすがに11人目以降は即アウトにしたい
みたいな後ろ向きな理由なので
ロック取得前に「ロック名_uid.txt」みたいなファイルをタッチして
さぁ、お前のロックを数えろ みたいな方法でいいかな
0038デフォルトの名無しさん
2016/05/12(木) 20:55:22.00ID:fWPswQwqつ set_time_limit
>>37
特定ディレクトリに tmpfile でファイルを作り、その数を数えるというのはどうだろう。
これならプロセスが死んでも勝手に消えるし。
003938
2016/05/12(木) 20:59:10.37ID:fWPswQwq0040デフォルトの名無しさん
2016/05/12(木) 23:57:31.26ID:psnILFRCできました。
0041デフォルトの名無しさん
2016/05/13(金) 09:48:27.94ID:GUzcE0bQtmpfileは圧倒的閃きですね。 悪魔的奇手です。
0042デフォルトの名無しさん
2016/05/13(金) 10:36:15.31ID:Ta4noneZ> 30秒で止まってしまうようです。
ど素人は黙っとけ
0043デフォルトの名無しさん
2016/05/13(金) 11:46:37.11ID:/XgzJMPYいろいろ面白そうだったので、勝手に作ってみた。
function my_lock($lockfile, $timeout, $maxuser)
{
// ロック試行
$fp = fopen($lockfile, 'a');
if(flock($fp, LOCK_EX|LOCK_NB)) return $fp;
// 待ち人数を数える
exec('/usr/sbin/lsof -FC '.escapeshellcmd("\"$lockfile\"").' 2>/dev/null', $out, $ret);
if($ret == 0) {
if(count($out) > $maxuser) {
// 待ち人数過剰
fclose($fp);
return false;
}
}
// 時間制限付きロック試行
for($interval = 100, $remain = $timeout * 1000; $remain > 0; $remain-=$interval) {
if(flock($fp, LOCK_EX|LOCK_NB)) return $fp;
usleep($interval * 1000);
}
// タイムアウト
fclose($fp);
return false;
}
004443
2016/05/13(金) 11:48:10.08ID:/XgzJMPY行数制限で省略したヘッダ
/**
* 待ち時間・待ち人数制限付きロック
*
* @param string $lockfile ロックファイルのパス
* @param integer $timeout タイムアウト(秒)
* @param integer $maxuser 最大ユーザー数(ロック取得済みユーザー及び自分を含む)
* @return resource ロックしたファイルのハンドル、またはロックが取得できない場合は FALSE
*/
lsof のパスは環境に合わせて。
使えない環境(lsof がエラー)では人数制限しない仕様。
0045デフォルトの名無しさん
2016/05/13(金) 11:51:53.48ID:/XgzJMPY連投すまん、ロック試行ループ内の usleep の位置は直前の if の前にするべきだね。
0046デフォルトの名無しさん
2016/05/13(金) 14:26:40.61ID:GUzcE0bQ牧歌的に使う気でいるので sleep(rand(1,9)); くらいでいいかな
サンプルなのにこマ対策するなんて優しくて素敵
0047デフォルトの名無しさん
2016/05/13(金) 15:47:57.11ID:1kza86ayじっちゃんは「かまわん、かまわん」って言うんですけど(゚Д゚)ハァ?
理由を教えてくれないので
なんでかまわんのか教えて下さい(´・ω・`)
0048デフォルトの名無しさん
2016/05/13(金) 16:02:23.49ID:PgyR+A480049デフォルトの名無しさん
2016/05/13(金) 16:02:51.13ID:f3qF3RXHpreg_match_all("/>(.*?)「/", $a, $out, PREG_PATTERN_ORDER);
これをprint $out[1][2]."\n";で実行すると<br />長谷川なります。
これを名前だけにするにはどうしたらいいのでしょうか?
0050デフォルトの名無しさん
2016/05/13(金) 16:31:06.64ID:yywl+o9xstr = '<div class="text">山田「こんにちは」<br /><br />関「おはよう」<br /><br />長谷川「いい天気ですね<br></div><br />'
p str.scan(/>(.*?)「/)
山田
<br />関
<br />長谷川
0051デフォルトの名無しさん
2016/05/13(金) 16:34:34.40ID:yywl+o9xHTML, XMLパーサーを使えば?
0052デフォルトの名無しさん
2016/05/13(金) 16:37:32.55ID:/XgzJMPY. の代わりに [^<>] にしてみるとか?
0053デフォルトの名無しさん
2016/05/13(金) 16:44:50.27ID:yywl+o9x>〜「 の間で、もう一度 > が現れたら、そこまでを捨てて、
新たに、>〜「 の最短一致を探す
これを再帰的に繰り返す。
これで、試す。
<br /><br /><br /><br />長谷川「
0054デフォルトの名無しさん
2016/05/13(金) 16:48:42.10ID:/XgzJMPYとどのつまり "/>([^>]+?)「/" だな。
>>52 で [^<>] と言ったがやっぱ [^>] で充分だ。
0055デフォルトの名無しさん
2016/05/13(金) 17:01:16.67ID:JYWZtoBnint,boolみたいな略で書いてる人居る?
0056デフォルトの名無しさん
2016/05/13(金) 17:28:29.21ID:yywl+o9x漏れは質問者じゃないけど、そういう方法があったのか
Rubyで試したら、"長谷川"となった
str = '<br /><br /><br /><br />長谷川「「'
p str.scan(/>([^>]+?)「/)
0057デフォルトの名無しさん
2016/05/13(金) 18:01:31.66ID:GV5m2qUe/([^>]+)「/
>>55
ノ
0058デフォルトの名無しさん
2016/05/13(金) 18:40:58.63ID:f3qF3RXH皆さん有り難うございます。
うまくいきました。
0059デフォルトの名無しさん
2016/05/14(土) 00:35:13.21ID:rVB/8aoQ"orange" => 120,
"apple" => 80,
"peach" => 300,
"lemon" => 180,
);
この配列の要素が150以上の場合、該当するキーを表示させたいのですがどうすればいいのでしょうか?
0060デフォルトの名無しさん
2016/05/14(土) 00:38:05.19ID:/L28ZDxj宿題かな?
0061デフォルトの名無しさん
2016/05/14(土) 01:04:49.32ID:rVB/8aoQ0062デフォルトの名無しさん
2016/05/14(土) 03:13:46.01ID:wKkMJJPA0063デフォルトの名無しさん
2016/05/14(土) 03:19:39.32ID:GxSDSCsS"orange" => 120,
"apple" => 80,
"peach" => 300,
"lemon" => 180,
);
foreach($fruit as $key=>$value){
if($value >= 150){
echo $key."だっぴょーん^q^<br />";
}
}
foreach($fruit as $key=>$value){
if($value >= 150){
echo $key."だっぴょーん^q^";
}
}
ひれふせ。ペチパー神の俺様に!!!
0064デフォルトの名無しさん
2016/05/14(土) 03:20:29.31ID:GxSDSCsS"orange" => 120,
"apple" => 80,
"peach" => 300,
"lemon" => 180,
);
foreach($fruit as $key=>$value){
if($value >= 150){
echo $key."だっぴょーん^q^<br />";
}
}
これだけでよかった。ひれ伏せ!ペチパー神の俺様に!!!
0065デフォルトの名無しさん
2016/05/14(土) 06:28:01.92ID:aC0lApplその上でforeachの方が楽だぞって教えてやるのがマトモな頭の人間なんだが
本当にアホはどうにもならんな…
0066デフォルトの名無しさん
2016/05/14(土) 06:40:36.68ID:aC0lApplお前のクレジットカードの暗証番号を書いた紙が
お前の財布の中にあったとしても、落とさなけりゃ問題ないのと一緒だ。
そのトークンを見る手段があればまずいし、なければ問題ない。
どっかの悪意ある第三者がソースの中身を見ることができるか考えろ。
見られるようになってたらまずいし、見られなければ問題ない。
離席してる間に同僚が見て悪さするなら、そんな内輪のいざこざはテメーで解決しろ。
システムの問題じゃない。
ネカフェで離席して悪さされたら完全に自己責任だ。
公衆の場で財布放り出したまま居眠りしてるバカと一緒だ。
システムの問題じゃない。
0067デフォルトの名無しさん
2016/05/14(土) 06:46:17.72ID:aC0lAppl悪意ある第三者がトークンを何らかの方法で取得した上
そのトークンを埋め込んだ悪意あるリンクなんかを、ターゲットに踏ませる等しなければならない
だから、おまえの爺さんが言うとおり、適切にトークン発行していれば見られる状態だろうが、
特にかまわんわけさ。
0068デフォルトの名無しさん
2016/05/14(土) 07:28:28.01ID:aC0lAppl例えば共有SSLとか、オリジンが一緒なとこでやってたらもう、どうにもならん。
やりたい放題だ。
0069デフォルトの名無しさん
2016/05/14(土) 08:16:52.77ID:oddk4FsCclass MyClass {
private $a;
public function __construct(array $a = []) {
if (is_array($a)) {
foreach ($a as $v) {
if (is_array($v)) {
exit('多次元配列だめ!');
}
}
$this->a = $a;
} else {
exit('引数は配列じゃないとだめ!');
}
}
public function add($k, $v) {
if (is_array($k) || is_array($v)) {
exit('引数には配列だめ!');
} else {
$this->a[(string)$k] = (string)$v;
}
}
}
exitのとこは例外にするにしても、このままじゃこんなコード書いてしまいそうです
0070デフォルトの名無しさん
2016/05/14(土) 08:25:17.53ID:Dd5EhBDu0071デフォルトの名無しさん
2016/05/14(土) 08:27:28.93ID:KYi4w8cr基本はそんなもんだぞ
何が気に入らないの?
0072デフォルトの名無しさん
2016/05/14(土) 08:38:00.50ID:oddk4FsCこんなもんでいいんですか?ちょっと自信がなかったもので
PHP7はまだ使ってないのですが、PHP7ならいくらかましになるのかな。
0073デフォルトの名無しさん
2016/05/14(土) 08:43:44.04ID:KYi4w8cr7で厳密な型チェックつければってことね
0074デフォルトの名無しさん
2016/05/14(土) 08:53:25.15ID:Dd5EhBDuphp7ならマシになるよ
0075デフォルトの名無しさん
2016/05/14(土) 08:56:28.62ID:GxSDSCsS御託はいいから、for文でやる場合はどうしたらいいか書けないの?
プログラムわからないの?
0076デフォルトの名無しさん
2016/05/14(土) 09:41:53.67ID:KYi4w8cr0077デフォルトの名無しさん
2016/05/14(土) 09:44:37.20ID:GxSDSCsSFOR文でお手本を書けだってよ。俺ペチパー神だから、意味わかんねーよwww
なんで配列吐き出すのに、そこでFOR文書くのかお手本のソースで >>65 は偉そうに文字じゃなくソースで初心者のペチパーたちに
有無も言わせない、FORループで教えてもらいたいです!文字を質問者は求めてるの?それなら俺も次から偉そうにごたく並べるだけにするわ。
ゆるせねーよ!
0078デフォルトの名無しさん
2016/05/14(土) 09:45:45.21ID:GxSDSCsSごめん、76番さんでした。あんな偉そうに語りまくってるんだから、FOR文で教えて欲しいです!
0079デフォルトの名無しさん
2016/05/14(土) 09:51:07.35ID:wKZZOtfd"orange" => 120,
"apple" => 80,
"peach" => 300,
"lemon" => 180,
);
$fruit_keys = array_keys($fruit);
$fruit_keys_length = count($fruit_keys);
for( $i=0; $i<$fruit_keys_length; ++$i )
if( 150 <= $fruit[ $fruit_keys[$i] ] )
echo $fruit_keys[$i], "\n";
こんなんで一応 peach lemon と150以上の要素を列挙できるけど
あえてforを使うとしたら、こういうやり方しかないものだろうか
っていうかphpの連想配列って実質は配列と同じだっけ、というか逆か
0080デフォルトの名無しさん
2016/05/14(土) 09:56:23.37ID:dW7ZcxWhまあ、PHPの配列ってどういうものでどういう扱い方ができるか覚えるため以外では、メリットはないわな
0081デフォルトの名無しさん
2016/05/14(土) 10:00:41.77ID:wKZZOtfd0082デフォルトの名無しさん
2016/05/14(土) 11:34:13.25ID:VC6BkOl20083デフォルトの名無しさん
2016/05/14(土) 12:34:57.75ID:wKkMJJPAそいつは文字列をダブルクォートで書くことしかできない
0084デフォルトの名無しさん
2016/05/14(土) 15:19:42.07ID:rVB/8aoQ色々なアドバイスをアドバイスをありがとうございます。
うまくできました。
0085デフォルトの名無しさん
2016/05/14(土) 17:35:16.35ID:wFPirfq2いつのまにWebProg板からこっちに移ったの
0086デフォルトの名無しさん
2016/05/14(土) 18:49:50.78ID:aC0lAppl0087デフォルトの名無しさん
2016/05/14(土) 18:52:44.20ID:aC0lApplお前は何も出来ないけどな。
0088デフォルトの名無しさん
2016/05/14(土) 19:02:24.97ID:aC0lApplfor文つかってやる方なんかまだまだあるんじゃねぇの? しらんけど。
PHPマニュアル検索してみりゃすぐ分かるだろうに…
この前のエスケープ猿もそうだが、
>>77 みたいに一人で盛り上がれるバカってのはよくわからんわ。
0089デフォルトの名無しさん
2016/05/14(土) 19:07:58.28ID:jHuAeQfl0090デフォルトの名無しさん
2016/05/14(土) 19:14:49.17ID:aC0lAppl初心者のペチパーが軽々しく神とか名乗るな、マヌケ。
0091デフォルトの名無しさん
2016/05/14(土) 20:27:19.92ID:/L28ZDxjもうずいぶん経つよ
0092デフォルトの名無しさん
2016/05/14(土) 20:34:30.66ID:Itv9fY/w0093デフォルトの名無しさん
2016/05/14(土) 22:08:27.35ID:wFPirfq2そうか
昔よくこのスレ来てたんだ
そんなおじさんも今やPHPプログラマだわ
0094デフォルトの名無しさん
2016/05/15(日) 01:55:41.98ID:0e7cqAQD無限ループするプログラムをわざとではなく、無過失で作ってしまって
レンタルサーバにアップして実行したらレンタルサーバー運営側に見つかってそのプログラムを即停止されますか?
それとも気づかれるまで無限ループしつづけますか?
0095デフォルトの名無しさん
2016/05/15(日) 02:09:50.97ID:QyoT1XRK無限ループが意図しない動作なのにしうなったなら、仕様か実装に問題があるんだろ。
それで無過失ってのはどういうこいなんだ?
なんにしても、無限ループに陥っても実行時間制限に引っかかってデフォルトの設定のままなら 30秒で死ぬんじゃないかな。
0096デフォルトの名無しさん
2016/05/15(日) 02:11:27.53ID:QyoT1XRKへんな誤字だらけですまんw
スマホの入力には慣れないなぁ
0097デフォルトの名無しさん
2016/05/15(日) 03:33:30.08ID:0e7cqAQDなるほどサーバ側には実行時間制限ってのがあるんですね。いつまでもループし続けるわけではないんですね。
それはphp.iniで設定するものなんですか?
それともhttpd.confで設定するものなんですか?
0098デフォルトの名無しさん
2016/05/15(日) 03:51:36.87ID:bh09NeS1基本php.iniで設定できるけど、
Apacheの方でも設定はできる
設定なんてレンタルサーバー自体でも違いすぎる
0099デフォルトの名無しさん
2016/05/15(日) 14:46:08.00ID:6YWmQ/PTカレーなる辛口Javaな転職日記とかいうブログ
http://d.hatena.ne.jp/JavaBlack/
0100デフォルトの名無しさん
2016/05/15(日) 15:49:10.84ID:dHmJMeXoどこにでもいるただのネラ−
0101デフォルトの名無しさん
2016/05/15(日) 16:13:06.41ID:ghpbHXtR■上位に中南米勢が並ぶ
同番組が発表した「嘘つきな国ランキング」は、「あなたは嘘をよくつきますか?」という質問に「はい」と答えた人の割合から算出。
世界39か国3900人以上からアンケートを取ったものだ。1つの国で100人程度のサンプルなので、そう厳密なものではない。
嘘つきな国の上位は1位ペルー(39.1%)、2位アルゼンチン(33.6%)、3位メキシコ(32.7%)の中南米勢が独占。
嘘を気にしない大らかさとプライドが高く言い訳が多い国民性が原因かと番組は分析している。
続いて4位に日本(31.8%)がランクイン。スタジオでは出演者も驚いたような表情を浮かべた。
■日本の政治家や大企業、マスコミはうそつきばかり?
一方で日本が「嘘つき」という結果に納得している人も少なくない。
政治家や大企業、マスコミはいつもうそばかりついているというのだ。
http://livedoor.blogimg.jp/worldshobonnews-rusifer/imgs/3/1/319534d5.jpg
http://www.j-cast.com/2013/03/17169911.html?p=all
●外国人の反応
・日本は1位だろ
・自分たちが4位というよりも韓国が15位ということを気にしているように見えるな。
・日本人は真実から目を背けたがる。
・日本のメディアが一番嘘つきだと思う。
・日本人は自分が嘘をついていることに気づいてすらいないからな。
嘘をつくのが正しいと思っている節さえある。
http://newsas.blog.jp/archives/25069416.html
0102デフォルトの名無しさん
2016/05/15(日) 17:48:24.11ID:Cm0EZG2w物理板で公正で活発な議論を進めるに際し、
ID表示/ワッチョイの導入が必要なのかについて住人の皆様で議論をしたいと思います。
論点は、1) ID表示設定の変更, 2) ワッチョイの導入 の2点が中心となります。
議論スレ:
【自治】 物理板のID表示設定の変更/ワッチョイの導入に係る議論スレッド
http://wc2014.2ch.net/test/read.cgi/sci/1463147137/
最終的には、ここでの議論を添えて変更申請をしたいと考えています。
議論に参加される方は, このスレのテンプレ
http://wc2014.2ch.net/test/read.cgi/sci/1463147137/1-6
をご一読頂き「納得出来る材料/意見」とともに賛成/反対の意思表明をお願いします。
以上、スレ汚し失礼しました。
0103デフォルトの名無しさん
2016/05/16(月) 14:31:26.07ID:H3qnmIX6こんな感じのができるんだけどPHPでもこういうのできる?
0104デフォルトの名無しさん
2016/05/16(月) 14:43:48.86ID:ypgo+cCnJQueryはクライアント側で動作します
JQueryを使う画面をPHPで作れるかと言う意味なら、できます
0105デフォルトの名無しさん
2016/05/16(月) 15:12:59.99ID:McvXcrhRライブラリを読み込まずにリモートファイルの読み込みや
XMLのパースなども出来て、個人的にはかなり使いやすいと思っているのですが。
その分若干オーバーヘッドはあるかもしれませんが
バッチ処理はそこまでオーバーヘッドを気にするものでもないですし
不思議です
0106デフォルトの名無しさん
2016/05/16(月) 15:23:31.93ID:ypgo+cCn0107デフォルトの名無しさん
2016/05/16(月) 15:49:02.90ID:3vuDXoN3もっとメジャーなperl,python,rubyでできちゃうから
0108デフォルトの名無しさん
2016/05/16(月) 15:52:19.53ID:vcp2NKdV0109デフォルトの名無しさん
2016/05/16(月) 16:08:57.70ID:3vuDXoN3標準でインストールされてるかどうかというのも重要
Linuxならperlやpythonが、まあ標準で入ってるから
0110デフォルトの名無しさん
2016/05/16(月) 16:51:27.25ID:ypgo+cCn使いたいけど入っていないなら、インストールすれば良いだけ
0111デフォルトの名無しさん
2016/05/16(月) 16:59:35.21ID:i2jh3i8J0112デフォルトの名無しさん
2016/05/16(月) 17:00:42.32ID:3vuDXoN3管理対象サーバ10台にばらまいて実行させるとかそういうのあるじゃん・・・
0113デフォルトの名無しさん
2016/05/16(月) 17:01:37.56ID:3vuDXoN3重要よ
だから何にも依存しないgoがはやってきてる
0114デフォルトの名無しさん
2016/05/16(月) 17:03:06.78ID:qwXda1te昔はAdobeやフォントでMACしかないって感じだったからデザイナーはMacっていうのもわかったもんだけど、今はもうバカじゃね?って感じ。
昔は超痛いマカーだったけどさ。いい加減恥ずかしいよ?
0115デフォルトの名無しさん
2016/05/16(月) 17:03:37.94ID:ypgo+cCnこれ重要
0116デフォルトの名無しさん
2016/05/16(月) 18:47:01.00ID:65uhkDtBPHPは昔ならともかく、今は簡単にyumなどで管理できるんだから
0117デフォルトの名無しさん
2016/05/16(月) 19:07:24.22ID:+3xzI36Hバッチ書く奴でPHPしか使えないバカはあんまりいないから。
0118デフォルトの名無しさん
2016/05/16(月) 19:11:39.16ID:f1Hx/y/fどこで勉強した?
0119デフォルトの名無しさん
2016/05/16(月) 19:30:01.69ID:i2jh3i8Jこれ読めばとりあえず根幹部分は学べるよ
0120デフォルトの名無しさん
2016/05/16(月) 19:31:39.74ID:UQK10LeU自分のローカル環境で動かすバッチを自分で書くなら好きにすればいいんだよ。
広く配布するスクリプト(配布物のインストーラとか)を書くならどこにでも入ってるものじゃないと面倒というだけで。
0121デフォルトの名無しさん
2016/05/16(月) 19:58:20.80ID:XxUMz4gCLinuxに入ってるのとじゃ全然事情が違う
あとMacいいよ
ノートやタブレットクラスだと安いからね
0122デフォルトの名無しさん
2016/05/16(月) 21:08:15.31ID:f1Hx/y/fありがと!
たぶん頭痛くなる内容なんだろうなあ
0123デフォルトの名無しさん
2016/05/17(火) 04:52:20.16ID:jxxXyhtvdbへの接続をphp以外でやると
まず対応するライブラリが何かから調べないといけないし
リモートファイルの読み込みやdb接続などは生言語で実装されてたりする
他言語を使うとphpがいかに洗練されているか分かりますね
0124デフォルトの名無しさん
2016/05/17(火) 09:49:51.02ID:MpdDCrbSどちらかと言えばごった煮で、洗練とは逆の方向性だと思うけどな。
ギャグで言ってるならおれが無粋だった。
0125デフォルトの名無しさん
2016/05/17(火) 10:04:53.49ID:jxxXyhtvperl的な関数とJava的なオブジェクト指向が混ざり合っていたりしますが
良くまとまっていて堅牢です
他言語だと不具合が起きた時に、コードのバグに起因するのか
ライブラリが熟成していないのかの切り分けに時間を取られたりしがちです
0126デフォルトの名無しさん
2016/05/17(火) 10:25:53.02ID:GWS/+oASだいたいが標準の組み込み関数にそろってるてメリットもあるな
ま、基本は使いたいもの便利だと思ったものを使えばそれでいいのさ
0127デフォルトの名無しさん
2016/05/17(火) 10:51:19.01ID:MpdDCrbSPHPの今ある地位はごった煮によるところも大きいと思う。
でも断じて洗練ではないw
しいて言えば割り切りだな。
0128デフォルトの名無しさん
2016/05/17(火) 10:58:00.74ID:igKX0tzVこうなるとサーバー環境で問題が出てくるから真面目にやらなきゃならなくなるから、PHPじゃなくても良くね?ってなってくる。
エラー非表示にすれば同じなんだけど。なぁ、これってペチパー感でしょ?
0129デフォルトの名無しさん
2016/05/17(火) 11:20:08.09ID:o0fTZil10130デフォルトの名無しさん
2016/05/17(火) 11:37:31.69ID:igKX0tzVバージョン5.4からエラー出るようになったよ。null入れると出ない。空です。みたいな。
0131デフォルトの名無しさん
2016/05/17(火) 11:44:58.30ID:sQ6YvyoN出てなかったのは設定の問題じゃ?
0132デフォルトの名無しさん
2016/05/17(火) 11:47:01.90ID:igKX0tzVそうなの?じゃあそうだね。ごめんね。
0133デフォルトの名無しさん
2016/05/17(火) 12:56:56.40ID:GWS/+oAS何を洗練とするかは難しいが自分的にはパッと思いつくところだと
引数の順番とか戻り値が統一されてたるとかエラー時の挙動がfalse返却か例外かとか
好きなように書けながらも基本になる書き方が非常に書きやすいとか読みやすいソースを書きやすいとか
ああまあ洗練じゃねーなw
関係ないけどなんかたまに何故かcの匂いを感じるときがある
0134デフォルトの名無しさん
2016/05/17(火) 16:50:34.92ID:nqXW6oX2array_map() の引数を array_*() 系と同じにした array_collect() が欲しいとか
散々提案されて解決もコピペレベルで済むものを見送るからイラつく
元々カオスなんだから汎用的ものは貪欲に取り込んでいけよ
0135デフォルトの名無しさん
2016/05/17(火) 17:27:54.03ID:MpdDCrbS> HTMLのテンプレートエンジンのくせして無駄に長い htmlspecialchars()
これなw
1文字の関数にしてもいいくらいだよな。
0136デフォルトの名無しさん
2016/05/17(火) 18:46:23.18ID:ilv0wtM7phpで文字列をzip化する関数を探しています。
$comp = zip(
0137136
2016/05/17(火) 18:46:55.47ID:ilv0wtM7header("Content-Type: application/octet-stream");
echo $comp;
0138136
2016/05/17(火) 18:47:13.34ID:ilv0wtM7ZipArchive のファイルIOを利用して、一旦ファイルとして出力して、
そのファイルを読み込んでbyte配列を返すやり方で実装できましたが、
スマートなやり方とは言えないので、なんとかしたいです。
よろしくお願いします。
0139デフォルトの名無しさん
2016/05/17(火) 20:33:06.02ID:S/973bPd達人ほど設計に悩む
0140デフォルトの名無しさん
2016/05/17(火) 20:42:38.02ID:HwwX4YBc0141デフォルトの名無しさん
2016/05/18(水) 07:46:59.36ID:Zyoa4jaeだから h() 関数を自前で実装するのはテンプレートエンジンを使わない人間のたしなみだ。
0142デフォルトの名無しさん
2016/05/18(水) 09:55:31.95ID:8Ho+TDtpテンプレートエンジンってなに?
0143デフォルトの名無しさん
2016/05/18(水) 10:00:21.98ID:FAU18wYyTwigとかSmartyみたいな主に表示部分を担当するライブラリ
しかし>>3にSmartyのリンクあるけど, もうSmartyって古くない?
全体的にテンプレが古臭い感はあるけど
0144デフォルトの名無しさん
2016/05/18(水) 10:04:25.40ID:SHKULt7g0145デフォルトの名無しさん
2016/05/18(水) 10:15:19.67ID:6VnL26Ehphpじゃない文法のやつだっけ?
ああいうの使ってる人ってけっこういるんだな
便利なんだろうか
0146デフォルトの名無しさん
2016/05/18(水) 10:22:40.13ID:FAU18wYyPHPに限らずRubyでもHamlとかのテンプレートエンジンで書いてるのが多いんじゃないかな
0147デフォルトの名無しさん
2016/05/18(水) 12:08:51.58ID:yDy1hpmHよりによって PHP をテンプレートエンジンと組み合わせるって
未だに意味が分からん
0148デフォルトの名無しさん
2016/05/18(水) 12:31:36.31ID:6lHzqFyd今は、フレームワークでviewのみを担当してもらうことのが多いんじゃない。
0149デフォルトの名無しさん
2016/05/18(水) 12:47:34.19ID:hD+T+9Q/0150デフォルトの名無しさん
2016/05/18(水) 13:04:10.39ID:6lHzqFyd何それ?キャッシュとか?
0151デフォルトの名無しさん
2016/05/18(水) 13:04:47.75ID:hD+T+9Q/無駄な時間過ごしたな。何にも考えてなかったんだろ。
0152デフォルトの名無しさん
2016/05/18(水) 13:14:25.48ID:OwB1d13r過去ログ見れば気付くと思うけど、あんまり相手してもしょうがないよ
0153デフォルトの名無しさん
2016/05/18(水) 13:36:14.78ID:W/0jAxPv速度落としてまでテンプレートエンジン使う理由がよくわからない。
<table>
<tr>th>商品ID</th><th>商品名</th><th>価格</th><th>在庫</th></tr>
<?php foreach ($hoge->getZaikoList() as $row): ?>
<tr><td><?= $row['item_id'] ?></td><td><?= h($row['item_name']) ?></td>.......</tr>
<?php endforeach; ?>
</table>
フレームワーク勉強しなきゃとは思ってるんだが、いまだ生PHP
0154デフォルトの名無しさん
2016/05/18(水) 13:37:52.09ID:UK4p5L1M二転三転して、今はテンプレートエンジン使う流れだよ
0155デフォルトの名無しさん
2016/05/18(水) 13:53:07.82ID:SH9on6b10156デフォルトの名無しさん
2016/05/18(水) 13:57:16.28ID:uXce0dRb変数バインドして実行可能なPHPのコードに変換したキャッシュ作成して
次回からそれ読み込んで表示みたいな流れじゃん
PHPはHTMLにコードを埋め込めることが出来るってだけで
一般的なテンプレートエンジンがとる工程とは違う
テンプレートエンジンが行うPHPのコードのキャッシュを直接作成する感じ
テンプレートエンジンに比べていらん工程がないから高速だけど
制御構造以外にPHPのコードが紛れ込むのでちょっと美しくない
0157デフォルトの名無しさん
2016/05/18(水) 14:08:22.62ID:OwB1d13r{ } じゃなく foreach 〜 endforeach を使ってる理由ってどんなの?
ネストが深くなったときに対応を取りやすいとか?
0158デフォルトの名無しさん
2016/05/18(水) 14:09:24.30ID:fZbbgUV1そういうのはphpでjson吐き出してjqueryで受け取ってプラグインで表作っとる
0159デフォルトの名無しさん
2016/05/18(水) 14:27:47.36ID:X9YKyKZOサーバサイドでレンダリングしたいときもあるんだよ
0160デフォルトの名無しさん
2016/05/18(水) 14:58:00.21ID:fZbbgUV1データだけ吐くだけじゃないときもあるしな
0161デフォルトの名無しさん
2016/05/18(水) 15:51:32.28ID:uXce0dRb>>153じゃないけど
ごちゃごちゃしたHTMLの中にコード埋め込むようなテンプレートの場合
そっちのほうがわかりやすいでしょ
0162デフォルトの名無しさん
2016/05/18(水) 16:04:01.81ID:OwB1d13rなるほど、そういう見方もあるのね。
{ } の対応を取れるエディタだとむしろこっちの方が都合がいいと思ってたから、endforeach みたいなタイプ数が多いのをなんで使うんだろうと思ってたんだ。
0163デフォルトの名無しさん
2016/05/18(水) 19:05:16.76ID:Zyoa4jaeぜんぜん違う。
テンプレートエンジンが搭載しているキャッシュ機能は
機能てんこ盛りで重くなったテンプレートエンジンの描画速度を軽減するための機能だ。
キャッシュのおかげでそれほど気にならない状態にしているだけだから、
プラスではなく、マイナスを出来るだけ少なくしているだけだ。
それはメリットではない。
速さなら当然、素のままのPHPの方が大抵の場合速い。
0164デフォルトの名無しさん
2016/05/18(水) 19:06:40.15ID:Zyoa4jae過去ログ見れば気付くと思うけど、間抜けな発言しかできずに
悔しくても言い返せない状態だもんな。わかるわかる。
0165デフォルトの名無しさん
2016/05/18(水) 19:08:09.50ID:Zyoa4jaeさすがにどころじゃなく、SmartyみたいなゴミクズをTwig様と並べて書くな。
0166デフォルトの名無しさん
2016/05/18(水) 19:10:02.76ID:Zyoa4jaeわざわざそんなゴミクズみたいなコードを延々と書き続けるお前の頭の構造の方がわからん。
0167デフォルトの名無しさん
2016/05/18(水) 19:11:52.04ID:Zyoa4jaeゴミクズ比べで物事を語られても知らん。
カレー味のウンコより、ウンコ味のカレーの方が食べ物でしょ?とか、知るか。
0168デフォルトの名無しさん
2016/05/18(水) 19:14:10.22ID:Zyoa4jaeまぁ、言ってることはどっちも同じだから構うまい。
0169デフォルトの名無しさん
2016/05/18(水) 19:18:27.69ID:Zyoa4jae>フレームワーク勉強しなきゃとは思ってるんだが、いまだ生PHP
PHPのフレームワークなんかラスマスが言ってる通りゴミクズばっかりなんだから
別に勉強なんかしなくていい。寧ろ自分で作れ。
だが、Twig様は必須だ。
Twig様を使えば、今まで自分がどれほどマヌケだったか思い知ることだろう。
0170デフォルトの名無しさん
2016/05/18(水) 19:24:48.00ID:Zyoa4jae話の筋道が全く理解できないマヌケは黙ってろ。
0171デフォルトの名無しさん
2016/05/18(水) 19:25:30.05ID:UK4p5L1M逆でもいいけど
0172デフォルトの名無しさん
2016/05/18(水) 19:29:51.35ID:WlBhSZNn0173デフォルトの名無しさん
2016/05/18(水) 19:37:16.56ID:Zyoa4jaeクレクレするまえに使ってみろよ。
それで違いが分からなかったらお前は向いてないからプログラマ辞めろ、ゴミクズ。
>>172
Bladeは構文が気持ち悪すぎる。
Twig様がいるのに、何時消えるか分からないマイナーなBladeなんか、使う気にもならない。
もうちょっとシェア広げてから出なおしてくれ。
0174デフォルトの名無しさん
2016/05/18(水) 19:39:32.25ID:Zyoa4jae0175デフォルトの名無しさん
2016/05/18(水) 19:42:06.59ID:WlBhSZNn0176デフォルトの名無しさん
2016/05/18(水) 19:42:37.07ID:Zyoa4jae0177デフォルトの名無しさん
2016/05/18(水) 19:43:36.01ID:Zyoa4jaeそうですか。オレがBlade嫌いなだけなので、別にあなたは使っても構わんのですけどね。
0178デフォルトの名無しさん
2016/05/18(水) 19:46:51.38ID:WlBhSZNn0179デフォルトの名無しさん
2016/05/18(水) 19:50:42.50ID:Zyoa4jae0180デフォルトの名無しさん
2016/05/18(水) 19:56:43.19ID:WlBhSZNn昔つくったsmartyのがあっても もう何がどう変わるわけでもなし、作り直せばいいだけだし
そもそも、言語自体もそうでしょ?
0181デフォルトの名無しさん
2016/05/18(水) 20:05:40.89ID:Zyoa4jaeライバルがいてくれたほうが安心してTwigを使っていける。
Smartyはもう、ライバルとは呼べないくらいに死に体だもの。
0182デフォルトの名無しさん
2016/05/18(水) 20:41:34.34ID:nJEOHIYf0183デフォルトの名無しさん
2016/05/18(水) 20:42:18.02ID:HqxEqyXt0184デフォルトの名無しさん
2016/05/18(水) 20:43:28.26ID:Zyoa4jae頭湧いてるんじゃないの?
0185デフォルトの名無しさん
2016/05/18(水) 20:48:24.69ID:Zyoa4jaeってことになってるから、そういう意味じゃね? しらんけど。
0186デフォルトの名無しさん
2016/05/18(水) 21:02:07.38ID:Zyoa4jaeUnix/Linux コマンドの su は、super user だとか switch user だとか言われてたが
実際にはBSDのなんかのコメントから substitute user の略だったって事がわかったと、
少し前に話題になってたな。
sub(代わりに) stitute (〜の代わりに置く) で、置き換えるって意味だな。
0187デフォルトの名無しさん
2016/05/18(水) 21:04:22.44ID:nJEOHIYfそういうことにしておくか
0188デフォルトの名無しさん
2016/05/18(水) 21:06:55.25ID:Zyoa4jae0189デフォルトの名無しさん
2016/05/18(水) 21:08:32.87ID:nJEOHIYf0190デフォルトの名無しさん
2016/05/18(水) 21:09:32.53ID:Zyoa4jae0191デフォルトの名無しさん
2016/05/18(水) 21:24:58.63ID:UK4p5L1M俺twig使ってるよ
意味もないレスをするよりはマシになるんじゃない?ってアドバイスのつもりだったよ
0192デフォルトの名無しさん
2016/05/18(水) 21:33:07.08ID:Zyoa4jaeバカを甘やかしても誰も得しない。そのバカですら全く成長しない。
意味が無いと思うならそれはあんたがバカだからで、オレの知ったこっちゃない。
ここは誰でも書き込みができるんだから、
Twigを使う理由を書いて欲しいのなら、あんたが書けばいいだけだ。
0193デフォルトの名無しさん
2016/05/18(水) 21:40:31.93ID:UK4p5L1MSmartyも使うよ。あなたから見ればゴミクズかもしれないが。
俺はテンプレートエンジンというものを使う、使わないの全体的な流れの方がよほど重要だと思うし、
それに対する答えはもう書いたのでそれ以上は些細な話だと思うんですよ。
そうなった経緯を知っておけばもっと話は分かりやすいだろうけど。
0194デフォルトの名無しさん
2016/05/18(水) 21:41:52.48ID:uXce0dRb0195デフォルトの名無しさん
2016/05/18(水) 21:54:25.10ID:Zyoa4jae>それに対する答えはもう書いたので
どこに経緯かいてあるのかわからん。レス番で示してくれ。
信者とか言ってるが、一般的に信者というのは盲信する人を指す言葉だ。
オレは便利で合理的な物しか使わない。お前は色々なことを勘違いしているサルだ。
0196デフォルトの名無しさん
2016/05/18(水) 21:56:57.62ID:Zyoa4jaeなら、オレは関係ないな。
自称したことなど無いし、普通だ。お前らがレベルが低すぎるだけだ。
敢えてもう一つ言うと、ここは質問者は初心者でも良いが、
回答者やそれに類する参加者が初心者で良いわけではない。
最低限、技術者としての恥を知れ。
0197デフォルトの名無しさん
2016/05/18(水) 22:27:09.89ID:RjOHTjfUそれでいいよ。同じことするのに別の書き方覚える必要ない。
>>156
PHPの制御構文もテンプレートエンジンの制御構文も汚さは同じ。
0198デフォルトの名無しさん
2016/05/18(水) 23:48:33.23ID:FAU18wYyとりあえずTwig公式のトップページにあるWhy yet another template engineなぞを読んでみては如何か
個人的にはテンプレートの継承/拡張は, かなり実用的である一方でPHP単体での実装は難しいと思う
いずれにせよ使ってみないことには分からんと思うので, とりあえずTwig触ってみるといいんじゃないかな
0199デフォルトの名無しさん
2016/05/19(木) 05:30:51.95ID:ltjZaTq5ぱっと見Smartyとたいして変わらんな
0200デフォルトの名無しさん
2016/05/19(木) 05:55:49.61ID:ZCw2DFbiそのクソさから、Smarty使ってる既存プロジェクトには絶対に関わりたく無い。
Smarty使うくらいなら>>153の方がまだマシだ。
何故それに気づかない? 糠味噌でも詰まってるのか?
0201デフォルトの名無しさん
2016/05/19(木) 06:09:04.05ID:ZCw2DFbiサルが英語読めるわけ無いじゃん。
場合によっては、リンク貼ってやらないとどこが公式かもわからねえぞ。
0202デフォルトの名無しさん
2016/05/19(木) 07:34:56.40ID:xaLev7gbテンプレートエンジンは不要
同じことするのに違う書き方覚える必要ない
テンプレートエンジンができてPHP単体では難しいなんてありえないでしょ
ただ単にHTML吐くだけなのに
0203デフォルトの名無しさん
2016/05/19(木) 07:36:00.93ID:xaLev7gb0204デフォルトの名無しさん
2016/05/19(木) 07:38:30.59ID:ZCw2DFbiサルに人間様に進化しろなんて言わない。ただ「あ、サルだ!」と言うだけだ。
本当のことだから怒らないでくれよ。
>テンプレートエンジンができてPHP単体では難しいなんてありえないでしょ
サル発想だな。サルは出来る出来無いでしか物を考えられない。
使ったら楽になるという発想はない。だから勉強しない。努力しない。進化しない。
サルがサルたる所以だ。
0205デフォルトの名無しさん
2016/05/19(木) 08:00:08.40ID:xaLev7gb関数名ぐらい合わせとけ
こういうセンスがないツールは使うに値しないんだよ
楽になるどころか面倒になるだけ
0206デフォルトの名無しさん
2016/05/19(木) 08:16:08.15ID:SW20ggcC素のPHPでの代替を綺麗に書いて頂戴な, 良さそうだったら取り入れます
あと>>205をPHPの世界で言うのは中々面白い
0207デフォルトの名無しさん
2016/05/19(木) 12:45:33.15ID:qX18+YNU0208デフォルトの名無しさん
2016/05/19(木) 13:23:41.70ID:4R4B6UDP0209デフォルトの名無しさん
2016/05/19(木) 13:39:23.81ID:NN87gZ060210デフォルトの名無しさん
2016/05/19(木) 13:42:45.32ID:NN87gZ060211デフォルトの名無しさん
2016/05/19(木) 13:43:18.81ID:ltjZaTq5人をサル呼ばわりするような人間にはなりたくないもんだ
0212デフォルトの名無しさん
2016/05/19(木) 18:44:18.66ID:ZCw2DFbiオレのこと? かわいそうに、妄想でも抱かないと自我が保てなくなるまでになったのか。
だが、あんまり妄想で逃避してると精神くさるぞ。サルで妄想癖じゃ、救いようがない。
現実を見つめたほうがいいぞ。
0213デフォルトの名無しさん
2016/05/19(木) 18:46:30.21ID:ZCw2DFbi匿名だ2chだいってここまで自分の無知無能を正当化するのはすごくもなんともなくまさしくクズだな
勘違いしてもらっては困るが、人様のことをサルなどと呼ぶわけがなかろう。
サルをサルと呼んでいるだけだ。
お前は人間には絶対になれないから、人間になった時の心配などしなくても大丈夫だ。安心しろ。
0214デフォルトの名無しさん
2016/05/19(木) 18:49:31.80ID:ZCw2DFbiSymfonyという名のCacophonyや、CakePHPという名の腹壊す腐ったお菓子じゃなければ
何使おうがお前の自由だ。好きにすればいい。
0215デフォルトの名無しさん
2016/05/19(木) 18:58:54.32ID:ykSd9+DU0216デフォルトの名無しさん
2016/05/19(木) 19:13:04.84ID:ZCw2DFbiお前ら、完全に精神が崩壊し始めてるだろ。病院でお薬貰ってこいよ。
その後で、技術って何かもう一度考えてみろ。
サルがゴミクズを書き続けるのを人間様はプログラムとは呼ばないんだ。
0217デフォルトの名無しさん
2016/05/19(木) 19:15:52.75ID:ZCw2DFbiまともなPHPを使う人間からすると迷惑極まりないということさ。
使うのは勝手だが、いっぱしの口をきくのはまともなコード書けるようになってからにしろ。
0218デフォルトの名無しさん
2016/05/19(木) 19:26:48.43ID:ZCw2DFbi怒りや憎しみからは何も生まれませよって。
お前らは、なんでプログラムなんか書いているのかを思い出せ。
これは大道監督の言葉だ。
0219デフォルトの名無しさん
2016/05/19(木) 19:32:10.12ID:PaAk19L+・給料のため
0220デフォルトの名無しさん
2016/05/19(木) 19:38:47.18ID:ZCw2DFbi0221デフォルトの名無しさん
2016/05/19(木) 20:06:08.18ID:4R4B6UDPほら、やっぱお子様だったでしょ。
実年齢はともかく、精神的には未成熟極まりない。
ワッチョイつけてNG頻度下げた方がみんなのために良いかと。
0222デフォルトの名無しさん
2016/05/19(木) 20:10:05.20ID:ZCw2DFbi0223デフォルトの名無しさん
2016/05/19(木) 20:44:09.29ID:mwyLssps0224デフォルトの名無しさん
2016/05/19(木) 20:45:50.08ID:ltjZaTq50225デフォルトの名無しさん
2016/05/19(木) 20:56:38.66ID:ZCw2DFbi0226デフォルトの名無しさん
2016/05/19(木) 21:04:52.51ID:zMQxfB7pここを見てPHP7をインストールしたのですが、libphp7.soがどこにもなく、Apache2でModuleLoadが出来ません
findコマンドで探しました
0227デフォルトの名無しさん
2016/05/19(木) 21:12:31.41ID:ykSd9+DU0228デフォルトの名無しさん
2016/05/19(木) 21:15:27.70ID:s+nF9z2f説得力ねえな〜常にファビョってるお前が書いても説得力ねえ
0229デフォルトの名無しさん
2016/05/19(木) 21:18:09.00ID:PaAk19L+さっと見たけどfpmにしてnginxなんかとの併用が前提で書かれてるからじゃない?
ソースからインストールするほうにも--with-apxs2が入ってないし
ソース持ってきてtar xzfして./configure --help | grep apxsしてみれ
0230デフォルトの名無しさん
2016/05/19(木) 21:29:46.45ID:s+nF9z2f0231デフォルトの名無しさん
2016/05/19(木) 21:33:32.55ID:zMQxfB7pつまり自分でコンパイルして、soファイルを作ればいいんですか?
0232デフォルトの名無しさん
2016/05/19(木) 21:41:02.09ID:zMQxfB7phttp://sukohi.blogspot.jp/2016/01/ubuntuphp-56-php-7.html
お騒がせしてすみません
0233デフォルトの名無しさん
2016/05/20(金) 10:24:55.92ID:az/70L3O0234デフォルトの名無しさん
2016/05/20(金) 12:47:19.05ID:xjvyZdQR0235デフォルトの名無しさん
2016/05/20(金) 13:33:33.77ID:40TK5Hg8(
[19] => 0
[20] => 0
[21] => 60
[22] => 30
[23] => 10
[24] => 10
[25] => 90
)
この配列から連続した3つの値の合計が一番少ないもののキー(つまり[22][23][24])の導き出し方を教えてほしい
一番わかり易い人にコイン5枚さし上げる
0236デフォルトの名無しさん
2016/05/20(金) 13:45:10.27ID:2bRCQUHy0237デフォルトの名無しさん
2016/05/20(金) 13:45:22.28ID:86ofSBGI$count = count($target) - 2;
$result = array();
for( $i=0; $i<$count; ++$i )
$result[] = $target[$i] + $target[$i+1] + $target[$i+2];
asort($result);
で、$resultの最初にくるキー、key($result)の戻り値が例でいう22になる
全部めぐらなきゃ一番合計が少ないものはわからんからこれが最速…なはず
0238デフォルトの名無しさん
2016/05/20(金) 13:46:49.79ID:86ofSBGI0239デフォルトの名無しさん
2016/05/20(金) 14:20:25.52ID:BXlIxe/P結果を全部持つ必要ないだろww
0240デフォルトの名無しさん
2016/05/20(金) 14:24:59.79ID:86ofSBGIいやループの中で比較処理を持つよりasort()にまわしたほうが良いんじゃないかと思ってな
持つメモリはこの場合わずかだし書き換えまくるよりはむしろ追加の方が…とか
0241デフォルトの名無しさん
2016/05/20(金) 14:43:03.00ID:h/p1Q8de0242デフォルトの名無しさん
2016/05/20(金) 14:50:47.68ID:4c3SZVk+そう
0243デフォルトの名無しさん
2016/05/20(金) 19:29:52.75ID:q6D4bcSJ0244デフォルトの名無しさん
2016/05/20(金) 20:03:32.62ID:A3FdjCyo目的を果たすコードを書くことは誰でもできるけど、最善かどうかという点で即答できるかい?
0245デフォルトの名無しさん
2016/05/20(金) 20:08:18.69ID:q6D4bcSJ0246デフォルトの名無しさん
2016/05/20(金) 20:24:14.49ID:4c3SZVk+悩んでるの一人だし、それも含めてくだ質なんだけど
0247デフォルトの名無しさん
2016/05/20(金) 21:04:12.80ID:q6D4bcSJだが、そんな事はどうでもよく、書いた通り平和でいいなというだけの感想だ。
0248デフォルトの名無しさん
2016/05/20(金) 22:34:46.57ID:Kwy8ip0I0249デフォルトの名無しさん
2016/05/20(金) 22:47:29.20ID:DZyHkwIp0250デフォルトの名無しさん
2016/05/21(土) 08:25:47.69ID:fbSE4cqwネットの初心者用スレとか大好物でしょ。
0251デフォルトの名無しさん
2016/05/21(土) 12:47:33.03ID:98Q7wKMs俺は一貫して、お前らがクソと言ってるだけで、俺がすごいなんて一言も言ってない。
アホの自分を取り繕おうとして話をすり替えるなよ、サル。
0252デフォルトの名無しさん
2016/05/21(土) 12:48:30.31ID:fbSE4cqw0253デフォルトの名無しさん
2016/05/21(土) 13:24:26.55ID:98Q7wKMsバナナくうか?
0254デフォルトの名無しさん
2016/05/21(土) 17:29:26.78ID:UmFJHre5意外に難しい?処理について質問があります
最大値 max=5 変数 start
を与えた時に
start=1 の時は 1→2→3→4→5
start=3 の時は 3→4→5→1→2
と、かならず1巡する処理ってどう書くとスマートになるだろう?
int count = 0;
for(i = start; i <= max; i++){
print(i)
count++
}
if(count < max){
for(j = 1; j < start; j++){
print(j)
}
}
これだと同じ処理printを2箇所に書かなければいけなくなっちゃうんだよなあ
0255デフォルトの名無しさん
2016/05/21(土) 17:40:03.15ID:DfTLJBWvSplDoublyLinkedListを継承したクラスでprevとnextをオーバーライドして循環リストを作るのが恰好はいい
ただまぁ繰り返し書かないなら素朴に書いた方がいいとは思う
0256デフォルトの名無しさん
2016/05/21(土) 17:59:02.91ID:Nd8YCmE2つ 剰余
0257デフォルトの名無しさん
2016/05/21(土) 18:13:33.80ID:98Q7wKMsecho "<br>";
cycle(3, 5);
echo "<br>";
cycle(1, 7);
echo "<br>";
cycle(3, 7);
echo "<br>";
cycle(5, 10);
echo "<br>";
function cycle($idx, $max){
for($i = 0; $i < $max; $i++){
if($idx > $max){
$idx = 1;
}
echo $idx++ . " ";
}
}
これでいいんじゃねぇの? こんなのになんかクラス使ったり剰余とかつかって可読性下げるの?
あんまよく読んでねぇけど、なんかオレ勘違いしてる?
0258デフォルトの名無しさん
2016/05/21(土) 18:14:01.43ID:dQoHFKwAhttp://ideone.com/91O7V9
>>254
リストを作りなおせばいいのでは
最初が12345という順序だと仮定して
start=3を(12)(345)と2つに分割し
(345)(12)という風に前後を逆にして連結すると(34512)という順番ができる
あとはforでもforeachでも好きなようにやる
0259デフォルトの名無しさん
2016/05/21(土) 18:16:05.57ID:eGVVrPoo0260デフォルトの名無しさん
2016/05/21(土) 18:19:38.81ID:Nd8YCmE2剰余で可読性が下がるとかw
相対や循環を扱う上での基本中の基本じゃないか
0261デフォルトの名無しさん
2016/05/21(土) 18:24:20.05ID:98Q7wKMsバカなの? アルファベットだなんて書いてないし、
そうだったとしたらキャラコードに置き換えればいいだけじゃん。
本物のマヌケか? お前は。
0262デフォルトの名無しさん
2016/05/21(土) 18:25:59.49ID:98Q7wKMsじゃぁ、お前のそのコード公開してみ。
どっちが分かりやすいかはお前みたいなサルでもわかるだろ。
とかw とか、アホみたいに草生やしてないで自分の間抜けさを良く見つめなおせよ。
0263デフォルトの名無しさん
2016/05/21(土) 18:27:48.49ID:98Q7wKMs>相対や循環を扱う上での基本中の基本じゃないか
こういうバカ、本当に多いんだよな。
必要もないのにわざわざおかしなロジック使いたがる。
本人だけはいい気分になってるが、周りは本当に迷惑すんだよ。
0264デフォルトの名無しさん
2016/05/21(土) 18:29:45.86ID:Nd8YCmE2まずお前が剰余を使って書いてごらん。
無理な時はおれが書いてあげるからそう言って。
0265デフォルトの名無しさん
2016/05/21(土) 18:29:54.46ID:98Q7wKMs最初が326578359で、maxが78921879582689とかだと、
メモリバカバカ食いまくるんですね。一生やってて下さい。
0266デフォルトの名無しさん
2016/05/21(土) 18:31:07.55ID:98Q7wKMs>必要もないのにわざわざおかしなロジック使いたがる。
の意味考えろ。本当にサルはどうしようもないな。
0267デフォルトの名無しさん
2016/05/21(土) 18:32:38.65ID:98Q7wKMsエスケープ猿のつぎは、剰余猿ときたか。そこに配列猿もいて、
PHPは本当に動物園だな。
0268デフォルトの名無しさん
2016/05/21(土) 18:35:26.80ID:98Q7wKMsおまえが剰余使って可読性高いコード書くのが無理なんだろと。
すなおに晒せよ。評価してやるから。
可読性が高ければ高いって言ってやるから逃げないで見せてみろ。
0269デフォルトの名無しさん
2016/05/21(土) 18:36:57.15ID:Nd8YCmE2for($i=0; $i<$max; $i++) {
$idx=($start-1+$i)%$max + 1;
print $idx;
}
もし数列が 0 始まり(0 1 2 3 4)でいいならこう($max を個数とした場合)。
for($i=0; $i<$max; $i++) {
$idx=($start+$i)%$max;
print $idx;
}
巡回する数列を扱う基本的な式で、定型句みたいなものだから覚えておこう。
じゃんけんの勝敗判定にも使えるよ。
0270デフォルトの名無しさん
2016/05/21(土) 18:43:14.64ID:98Q7wKMs$idx=($start-1+$i)%$max + 1;
とか、ゴミみたいになってるが、それほど低くはない。
サルといったのは撤回しておこう。
>巡回する数列を扱う基本的な式で、定型句みたいなものだから覚えておこう。
オレはセオリーでプログラミングするのは嫌いだが、覚えておく。
ここはサルばかりでないことも覚えておこう。
0271デフォルトの名無しさん
2016/05/21(土) 18:45:12.09ID:Nd8YCmE2w
>オレはセオリーでプログラミングするのは嫌いだが、覚えておく。
ちょっと好感度上がったぜw
ゴミみたいになっているのは
0272デフォルトの名無しさん
2016/05/21(土) 18:45:42.50ID:Nd8YCmE20 始まりが基本。
0273デフォルトの名無しさん
2016/05/21(土) 18:46:49.38ID:98Q7wKMsなわけなかろう。プログラムはどこまでいっても基本は仕様だ。
オナニーコードじゃなければな。
0274デフォルトの名無しさん
2016/05/21(土) 18:47:36.27ID:DfTLJBWvclass DoublyCyclicList extends SplDoublyLinkedList
{
public function next()
{
parent::next();
if (!parent::valid())
{
$mode = parent::getIteratorMode();
parent::setIteratorMode(parent::IT_MODE_FIFO);
parent::rewind();
parent::setIteratorMode($mode);
}
}
public function prev()
{
parent::prev();
if (!parent::valid())
{
$mode = parent::getIteratorMode();
parent::setIteratorMode(parent::IT_MODE_LIFO);
parent::rewind();
parent::setIteratorMode($mode);
}
}
}
0275デフォルトの名無しさん
2016/05/21(土) 18:48:22.02ID:z3sd8Ga80276デフォルトの名無しさん
2016/05/21(土) 18:49:39.16ID:Nd8YCmE2アホなんだなぁ
0 始まりじゃないものに対応するのは基本を押さえた上での応用な。
剰余で巡回させる方法が理解できてるから 1 始まりに調整することができるんだろ。
0277デフォルトの名無しさん
2016/05/21(土) 18:49:54.58ID:98Q7wKMsあがらなくていい。オレはお前らが思っているとおり嫌な奴だ。
オレは、技術者っていうのは技術力がすべてで、それだけが重要だとおもってるだけだ。
技術力ある人はちゃんと認めるし、サルなどと失礼な事は絶対に言わない。
0278サル
2016/05/21(土) 18:52:21.40ID:rPCavR3P0279デフォルトの名無しさん
2016/05/21(土) 18:53:36.61ID:98Q7wKMsうん、見ただけでめまいする。
>>276
応用だとかは関係ない。全ては後でメンテナンスするやつがどう感じるか。
0始まりだと綺麗なことは認める。基本として良いコードであることも認める。
でも、実際の実装がゴミならダメだ。
0280デフォルトの名無しさん
2016/05/21(土) 18:55:23.65ID:eGVVrPooスマート
言ってみりゃ、nextして配列ポインタが終端に達してたら最初に戻る、これだけなんだよな
0281デフォルトの名無しさん
2016/05/21(土) 18:59:17.37ID:98Q7wKMsこういう奴がいっぱいいるから巷は奇っ怪なコードであふれるんだなぁ。
>>269と>>274じゃ、田舎の駅ビルと新宿地下街くらいの違いがある。
まぁ、>>274も分かってかいてんだろうけど。
0282サル
2016/05/21(土) 19:02:51.86ID:rPCavR3Pよろしくね
0283デフォルトの名無しさん
2016/05/21(土) 19:14:16.98ID:hclWowah嫌なやつではなさそうなのに
わざわざ嫌なやつみたいに振る舞うなよ
普通に話そうぜ
0284サル
2016/05/21(土) 19:15:01.48ID:rPCavR3P/三ヽ
(6(・ ・|)
| ( ┴)
|(゚Д゚)
〜((ノ |)
∪~∪
0285デフォルトの名無しさん
2016/05/21(土) 19:19:35.00ID:fbSE4cqwhttp://ufcpp.net/study/algorithm/col_circular.html
まあ、剰余は鬼門なんだろ
0286デフォルトの名無しさん
2016/05/21(土) 19:20:07.97ID:z3sd8Ga8口だけ
いや書き込みだけ
0287サル
2016/05/21(土) 19:34:37.79ID:rPCavR3P今年は申年でしたっけ?
0288カエサル
2016/05/21(土) 19:39:37.98ID:rPCavR3P0289デフォルトの名無しさん
2016/05/22(日) 00:40:07.16ID:mtGrTkiYじゃあお前はどういうコードを書くのかな?w
もし書けなかったらお前の負けなww
0290デフォルトの名無しさん
2016/05/22(日) 01:50:39.99ID:FgH6NpYj書かれてるよね。
質問者のが直感に従ったものだとすれば、2番目に直感に従ってるものだと思う。
1オリジンの剰余はいつも見た目の不細工さに閉口してしまうが、
書かれているとおりそれもイディオムなわけで、結局のところ直感的なコードだと思う。
0291デフォルトの名無しさん
2016/05/22(日) 07:36:49.00ID:+4P72Qz/シーケンシャルな操作については >>257(あと >>274 の考え方)はほぼ最適解だと思うよ、特に乗除回路を持たないCPUを意識した場合。
もっとも、クロック数に関しての最適化について言えば判定をループの外に出した >>254 の方が良いけど(もう少し削れるが)、ループ内のコードを重複して書かないといけない問題に折り合いをつける必要がある。
乗除の使用が特に最適になるのは、例えば自分の立ち位置の前後の値を参照するような場合かな。
もちろんこの場合も冒頭で言った書き方の方を取り入れるパフォーマンス的に有利になるだろうが、さすがにコードが汚くなりすぎる。
もし max が 2の累乗になる場合には剰余に代えて論理演算 & を使うことができて、それが間違いなく最適になるだろう。
んまー PHP 使う場合の考慮とは若干外れてるところもあるが、プログラマーとしては知っているべきことだよね。
0292デフォルトの名無しさん
2016/05/22(日) 10:32:41.17ID:uZNy0x2J0293デフォルトの名無しさん
2016/05/22(日) 12:06:59.06ID:ai58rDHi0294デフォルトの名無しさん
2016/05/22(日) 13:07:08.87ID:tpilHeaq0295デフォルトの名無しさん
2016/05/22(日) 15:28:44.29ID:gnyg6A6P0296デフォルトの名無しさん
2016/05/22(日) 18:20:43.75ID:DBA5AlNjみんな、おつかれ。
0297デフォルトの名無しさん
2016/05/24(火) 08:43:07.14ID:kJLqa0knmb_regex_encodingでいいのでしょうか
0298デフォルトの名無しさん
2016/05/24(火) 09:18:19.49ID:Mg81pT6a出来ない
uオプションでユニコード対応は可能
0299デフォルトの名無しさん
2016/05/24(火) 09:38:21.56ID:kJLqa0knhttp://qiita.com/tabo_purify/items/df8f2aa17094b1a60c82
この記事でpreg_matchを使う前にmb_regex_encodingを設定していますが
この設定には意味ないってことですよね?
0300デフォルトの名無しさん
2016/05/24(火) 10:32:36.30ID:Mg81pT6aそのページのHirakuさんのコメント以上に言うことは何もない
0301デフォルトの名無しさん
2016/05/24(火) 10:43:55.69ID:kJLqa0kn詳しく書かかれてますね
ありがとうございました
0302デフォルトの名無しさん
2016/05/25(水) 12:07:32.33ID:1pXCEUqLこれを参考にデータをPOSTする方法をeclipse試しているのですがうまくいきません
php自体は動作するのですが、ページ遷移させると
actionで指定したphpのソースが表示されるだけになってしまいます
何がいけないのでしょうか?
0303デフォルトの名無しさん
2016/05/25(水) 12:19:09.43ID:1pXCEUqLすみません、自己解決しました
eclipseの設定が悪いだけでした
0304デフォルトの名無しさん
2016/05/25(水) 12:24:26.20ID:pMgMA3BC0305デフォルトの名無しさん
2016/05/25(水) 13:36:55.26ID:sw+gkSoU0306デフォルトの名無しさん
2016/05/25(水) 13:38:27.60ID:PX54IJWY0307デフォルトの名無しさん
2016/05/25(水) 14:30:56.54ID:pZYZ14wu0308デフォルトの名無しさん
2016/05/25(水) 17:08:14.45ID:pMgMA3BC0309デフォルトの名無しさん
2016/05/26(木) 08:09:50.84ID:8OoEjLXpプロセス生成はコストが高いので
シェルスクリプトよりphpの方がパフォーマンスが高いのではないでしょうか?
0310デフォルトの名無しさん
2016/05/26(木) 13:58:29.98ID:QNlyPJU+0311デフォルトの名無しさん
2016/05/26(木) 14:26:04.92ID:QNlyPJU+0312デフォルトの名無しさん
2016/05/26(木) 15:35:35.75ID:8iPLK0Xd用途が全然違う
PHPは主にブラウザから操作するwebアプリ
シェルスクリプトはサーバ内部で動くプログラムでバッチなどで使用
0313デフォルトの名無しさん
2016/05/26(木) 15:52:30.76ID:4/e3eYNH> シェルスクリプトよりphpの方がパフォーマンスが高いのではないでしょうか?
一概にそうとは言えない。
まず、確かにプロセス生成はコストが高いが、一般にそう言われるのはスレッドと対比する
文脈においてであって、シェルスクリプト実行時間と対比させてではない。
シェルスクリプト全体の実行時間が1秒だったとき、その中のプロセス生成コスト(時間)は、
無視できるほど小さい場合が多い。
次に、シェルスクリプトで実行する「コマンド」の全てがプロセスではないということ。
シェルスクリプトには組み込みコマンドが用意されており、そちらが実行されればもちろん
プロセス生成コストはかからない。
最後に、パイプを使う場合、シェルスクリプト内では各コマンドが並列実行されるということ。
cmd1 | cmd2 | cmd3 | cmd4
とすると、一度にcmd1〜cmd4が起動され、処理済みの標準出力が次ぎプロセスの標準
入力に渡され、全体としては4つが並列して実行される。
0314ペチパーネ申
2016/05/26(木) 18:47:43.48ID:10Y0MP/Hとにかく動けばいい。サイトを作る。セキュアなんて要らない。
人類みな友達。数が大事。スパゲッティーソースがわかるのはオレだけ。つまりブラックボックス化が最大のセキュア。
0315デフォルトの名無しさん
2016/05/26(木) 18:58:38.80ID:gtrT/ofd多分、凄い恐レスだけどこの前の「PHPでバッチ処理書かないのはなぜですか?」の流れだと思うよ。
0316デフォルトの名無しさん
2016/05/26(木) 19:44:15.56ID:Zeax/D8v0317デフォルトの名無しさん
2016/05/27(金) 05:31:53.35ID:LOelchbu悪い意味での過去の遺産がそのまま残ってる
高度なことをやるには
pythonやrubyが使われがちですが、もっとPHPが使われてもいいはずです
0318デフォルトの名無しさん
2016/05/27(金) 07:27:35.92ID:uGMw4K7m0319デフォルトの名無しさん
2016/05/27(金) 08:59:21.15ID:LOelchbugithubで発表したら
ちょっと馬鹿にされるような偏見がありますよね?
この偏見は全くナンセンスだと思います
0320デフォルトの名無しさん
2016/05/27(金) 09:48:26.40ID:7Sj/lkjMPHPじゃあまりにダサいので、勉強して Python で書きました。
人の目ばかり気にして生きる私をお許しください。
0321デフォルトの名無しさん
2016/05/27(金) 10:16:49.67ID:vmw4t1oaつまり用途が違う。
0322デフォルトの名無しさん
2016/05/27(金) 10:18:03.49ID:LOelchbuしかもphpからpythonにしたことによるメリットはほとんどなかったはずです
無駄な虚栄心により生産性が悪化するのです
0323デフォルトの名無しさん
2016/05/27(金) 10:18:15.60ID:go2H7GGIそれでいい
シェルスクリプトオンリーなのは
ファイル消したり、ログファイル操作したり
運用系の処理に限定すべき
>>319
スクリプト言語どれ使うかなんてどうでもいいし
人にどう思われるかもどうでもいい
PHPでもちゃんと書けばちゃんと評価されることもある
0324デフォルトの名無しさん
2016/05/27(金) 10:27:32.50ID:LOelchbuphpより短く書けるスクリプト言語がありますか?
あったら乗り換えてもいいですが。
大抵phpの方が短く書けるはずです
0325デフォルトの名無しさん
2016/05/27(金) 10:29:48.51ID:Tw3bGPwFなんかあったら無言で落ちるバッチほどクソなものはない
0326デフォルトの名無しさん
2016/05/27(金) 10:35:24.68ID:LOelchbu「大抵のことが標準でできる」
これがphpの最大の強みです
0327デフォルトの名無しさん
2016/05/27(金) 11:10:28.92ID:h8G6TOQHどのように勉強しどのように熟練度を積めばいいか
詳しく教えてたもれ
0328デフォルトの名無しさん
2016/05/27(金) 11:42:02.24ID:9EtuyVBz0329デフォルトの名無しさん
2016/05/27(金) 11:48:53.10ID:h8G6TOQHそういうのはいいから
教えてたもれ
0330デフォルトの名無しさん
2016/05/27(金) 11:55:49.79ID:LOelchbuunix系OSやプログラミングの包括的な知識が必要です
phpで何かを作ることを通してどちらも学ぶことができます
phpを学ぶのではなく、phpで学ぶという姿勢が大切でしょうね
0331デフォルトの名無しさん
2016/05/27(金) 13:14:26.53ID:IKjJ7pmyさすがです
更に教えてくだされ
0332デフォルトの名無しさん
2016/05/27(金) 13:34:33.33ID:LOelchbu勉強のための勉強はモチベーションが続きませんので
こういうことしたいけどどうしたらいいかな?
という興味を繋げていくことが重要ではないでしょうか
そういうやりたいことや作りたいもののイメージを広げて下さい
phpはあくまでそれを実現するための手段です
0333ペチパーネ申
2016/05/27(金) 17:35:20.12ID:zQx7HNv7知識だけ増えてコードもかけない。サイトも作れないヤツは役立たずだから。
0334デフォルトの名無しさん
2016/05/27(金) 18:38:46.96ID:bzamVpC00335ペチパーネ申
2016/05/27(金) 19:55:17.82ID:zQx7HNv70336デフォルトの名無しさん
2016/05/27(金) 21:23:47.23ID:XOMWEtHe0337デフォルトの名無しさん
2016/05/27(金) 22:49:32.10ID:bzamVpC00338デフォルトの名無しさん
2016/05/28(土) 07:56:40.52ID:dedHu0lvやはりオブジェクト指向で書けるのが素晴らしいですね
ウェブという過酷な現場で鍛え上げられた堅牢性
ライブラリのincludeに気を使う必要のない手軽さ
何で使わないの?あほなの?
0339デフォルトの名無しさん
2016/05/28(土) 08:19:51.18ID:yOItZUQaPHP 覚えて楽しくて仕方ない時期なんだね
結構結構
0340デフォルトの名無しさん
2016/05/28(土) 08:26:58.15ID:dedHu0lvこれには非常に意気を奪われますが
PHPの場合、まずありません
これがどれだけ生産的なことか
0341デフォルトの名無しさん
2016/05/28(土) 08:42:46.05ID:fjaQwAHl0342デフォルトの名無しさん
2016/05/28(土) 08:56:25.74ID:xHO8PG3F硬く書く
どっちも書きやすいのは良いことだ
0343デフォルトの名無しさん
2016/05/28(土) 10:22:43.51ID:p586PW/3ERRMODE_WARNING と ERRMODE_EXCEPTION に違いはあるのでしょうか?
ERRMODE_WARNING についても、「PDOException をスローする」とあります。
ERRMODE_EXCEPTION について、「ERRMODE_WARNING と同様にデバッグ時に有用で、
エラーが発生した時点でスクリプトの実行を停止させる」とあります。
両者の違いと効果がいまいちわかりません。
本番環境では、ERRMODE_EXCEPTIONを使い、
開発環境では、ERRMODE_WARNING を使うということなのでしょうか?
よろしくお願いします。
http://php.net/manual/ja/pdo.error-handling.php
0344デフォルトの名無しさん
2016/05/28(土) 14:12:08.49ID:k1q+IunEERRMODE_WARNINGはコンストラクタでは例外を投げるがそれ以外では投げない
ERRMODE_EXCEPTIONはエラー発生時には常に例外を投げる
と読めるが?
0345デフォルトの名無しさん
2016/05/28(土) 14:44:55.97ID:9P0W7UNJありがとう。
ERRMODE_WARNINGは、自動的にエラーを出力するけど、
ERRMODE_EXCEPTIONは、$e->getMessage();しないとエラー出力しない。
ただし、ERRMODE_WARNINGでもコンストラクタ、つまり、new PDO($dsn...
で接続に失敗した場合、例外が投げられるからcatchしろということですよね。
本番環境でも、エラーログにエラーを吐いて欲しい場合には、
ERRMODE_WARNINGがいいのかな。
0346デフォルトの名無しさん
2016/05/28(土) 14:46:33.86ID:fPcEGIkdどこに書いてあるの?
0347デフォルトの名無しさん
2016/05/28(土) 15:02:57.30ID:9P0W7UNJhttp://php.net/manual/ja/pdo.error-handling.php
この例2のコメント部分です。
/*
ERRMODE を WARNING にした場合でも、コンストラクタを try/catch で囲むのは有効です。
接続に失敗した場合、ERRMODE が何であろうが PDO::__construct が PDOException をスローするからです。
*/
0348デフォルトの名無しさん
2016/05/28(土) 17:07:34.65ID:wZkOO3aEphpってオブジェクト指向なのですか?
クラスも使えますか?
0349デフォルトの名無しさん
2016/05/28(土) 17:25:38.54ID:dedHu0lvもちろん使えますよ
0350デフォルトの名無しさん
2016/05/28(土) 17:32:43.71ID:wZkOO3aE知らなかった。
ありがとうございました。
0351デフォルトの名無しさん
2016/05/28(土) 17:49:06.65ID:k1q+IunEまともなソフト作るならちゃんと例外処理しろよ
Warning発生時でも処理が継続するってことは, Warningが起こるような処理については内容は一切保証しませんと言ってるのと同じ
0352デフォルトの名無しさん
2016/05/28(土) 20:28:31.30ID:6ztlzLBoなるほど。WARNINGは、エラーでも実行継続しちゃうんだった。
本番環境も開発環境も、ERRMODE_EXCEPTIONで例外処理するのが正解なんだね。
しかしもう修正不能だ・・・
0353デフォルトの名無しさん
2016/05/28(土) 20:51:24.53ID:6ztlzLBothrow new ErrorException で自分で例外投げないとダメなんだね。
http://php.net/manual/ja/class.errorexception.php
0354デフォルトの名無しさん
2016/05/28(土) 21:24:07.26ID:H5MBEWMUフラグで例外を投げるかどうか決めれるやつもあったと思うけど、
これらは比較的新しい関数ってことなのかしら
0355デフォルトの名無しさん
2016/05/28(土) 22:05:45.93ID:dedHu0lv0356デフォルトの名無しさん
2016/05/28(土) 23:16:23.24ID:O5lAFAJB大元の呼び出し元まで返るからね
フラグだと全部リターンしないと呼び出し元まで返せないし
フラグじゃないものをリターンしたいのが普通なのでフラグリターンはきつい
0357デフォルトの名無しさん
2016/05/28(土) 23:36:37.59ID:0iKr5py80358デフォルトの名無しさん
2016/05/29(日) 03:17:47.75ID:YpkEX6KecatchでのException $eが不要なとき、どう書けばいいの?
0359デフォルトの名無しさん
2016/05/29(日) 03:27:36.66ID:v+3vzfajcatch対象を書かなきゃ何をcatchしていいかわかんないじゃん
0360デフォルトの名無しさん
2016/05/29(日) 04:23:12.88ID:YpkEX6Kecatchのブロック内でその$eを使わないとき、だな。
そのまま放置でも良さそうだけど、できれば使ってないことを明示したい。
例えばブロック開始直後にunset($e)とか、なんか良い方法ないかな。
せっかく補足したんだからログに残すなり何なりしたほうが良いのは分かってるけども。
0361デフォルトの名無しさん
2016/05/29(日) 05:38:44.51ID:DYRgDF3k0362デフォルトの名無しさん
2016/05/29(日) 05:43:03.00ID:YpkEX6Keそれは、catchするけど何もしない(PHPならそもそもcatchしない?)、
あるいは、そのまま上に投げることを指すんじゃない?
0363デフォルトの名無しさん
2016/05/29(日) 05:47:10.95ID:v+3vzfajunset($e)か、コメント書くか、なんか使わないよ的な変数名をあてるか、くらいしかないんじゃないかなあ
0364デフォルトの名無しさん
2016/05/29(日) 06:00:33.97ID:lJ1NKQbg0365デフォルトの名無しさん
2016/05/29(日) 07:31:25.42ID:oxnJSJpjサルなりに、安心できる
0366デフォルトの名無しさん
2016/05/29(日) 07:51:39.25ID:Ij8AE0990367デフォルトの名無しさん
2016/05/29(日) 08:06:51.99ID:YpkEX6Ke直接的な理由としては、IDEが未使用変数に対して注意を促してくるから、かな。
心情的にも、宣言しておいて宙ぶらりんというのはちょっと収まりが悪い。
言語によっては、型名を書くだけ(要は$eの部分がない)とか出来るじゃん?
PHPにもちゃんとしたやり方があるなら、それを知りたかった。
0368デフォルトの名無しさん
2016/05/29(日) 08:08:29.92ID:YpkEX6Ke変数名で使わないことを示すというのは、いいな。
0369デフォルトの名無しさん
2016/05/29(日) 09:13:09.97ID:WmC7AS7k処理の前に全部確認してreturnするかthrowする習慣つけなよ
例外発生しても無視とか悪習にしかならない
0370デフォルトの名無しさん
2016/05/29(日) 09:17:39.43ID:VGuceG8qtry{
Hoge();
}(FooExなんちゃら e){
System.out.println(e);
}
してた
あと独自例外クラスの意味が分からなくて、例外クラスに例外発生条件を書くのかと思っていた
0371デフォルトの名無しさん
2016/05/29(日) 11:14:52.46ID:YosV+ioqその場合はtry〜catch節は書かない
上位の呼び出し元でcatchする
0372デフォルトの名無しさん
2016/05/29(日) 14:48:05.67ID:Pqoknlpsその関数内で例外を補足したい場合はどうするん?
あとはその上位でも$eを参照しないとか、あるいはそもそも最上位の場合とか。
0373デフォルトの名無しさん
2016/05/29(日) 15:48:46.36ID:Yjs1g4981.jsonに変換して突っ込む
2.explodeなりで「1,2,3」と突っ込む
正解はどっち?
0374デフォルトの名無しさん
2016/05/29(日) 16:06:57.93ID:GBRDVTrG適当な区切り文字で繋いでそのまま格納が使いやすそうだな
0375デフォルトの名無しさん
2016/05/29(日) 17:04:53.25ID:lJ1NKQbg例外をキャッチするけれどもその中身を見ないというのはあまりよい習慣とは思えないけど, IDEの警告を消したいならまぁunsetだろうなー
>>373
用途にもよるが一般にはどっちも不正解
とりあえず「SQL JayWalking」でググってみれば
0376デフォルトの名無しさん
2016/05/29(日) 17:06:33.06ID:oxnJSJpj>データベースに配列[1, 2, 3]突っ込む場合
>2.explodeなりで「1,2,3」と突っ込む
おまえのPHPは配列をexplodeできんのか。すげぇな。
0377デフォルトの名無しさん
2016/05/29(日) 17:55:56.21ID:Pqoknlpsthrowが、自分で投げたやつ1つだけとかだったり
型名から例外の内容が明らかだったりすると、$e->getMessage()とかする必要なさそう
0378デフォルトの名無しさん
2016/05/29(日) 18:08:58.73ID:v+3vzfaj0379デフォルトの名無しさん
2016/05/29(日) 20:52:18.18ID:4cJk/zi6そういうデータの格納の仕方をしても問題の無いカラムだという前提でだけど、
スペース区切りで join した上でさらに先頭と末尾にスペースを付与するってのはどうかな。
その例だと ' 1 2 3 ' って感じ。
まず元の配列に戻すには、trim して explode すればいい。
先頭と末尾に付与する文字をスペースにしてるのはこの trim をしやすいようにするため。
で、後述の事情により値の区切り文字はここで付与する文字に合わせる必要があるので、区切りもカンマではなくスペース。
んじゃそもそも先頭と末尾になんでそんな余計な文字を付与するのかというと、配列の要素の値を LIKE検索できるように。
配列内に 2 という値を持っている行で絞り込むには、 column LIKE '% 2 %' のように、絞り込みたい値の先頭と末尾に区切り文字を付けておく。
単に column LIKE '%2%' じゃいけない理由は少し考えれば分かると思う。
んでこの都合により、カラム内の最初の値の前には区切り文字がある必要があるし、最後の値の後にも区切り文字がある必要がある。
だからカラム値そのものの先頭と末尾に区切り文字を付けておく必要がある。
0380デフォルトの名無しさん
2016/05/29(日) 21:08:13.99ID:jwA+uuOBエラー処理してなかったってことかな
0381デフォルトの名無しさん
2016/05/29(日) 21:12:46.02ID:f+JrLvVyphpのcurlに置き換えたら処理時間が二倍くらいになりました
curlは遅いのでしょうか?
0382デフォルトの名無しさん
2016/05/30(月) 00:17:44.24ID:EYocVjlD0383デフォルトの名無しさん
2016/05/30(月) 00:38:44.97ID:cVhChvSaこういうクソみたいな長文を自信満々に書いちゃうからPHPerはクソだって言われるんだよな。
0384デフォルトの名無しさん
2016/05/30(月) 01:10:51.70ID:MSwmOpiD何をクソか言えればお前はクソじゃなくなるんだけどな
0385デフォルトの名無しさん
2016/05/30(月) 01:38:07.20ID:cVhChvSaつまり、お前がオレをクソだと思うのはお前が低能でクソなことが原因だから、そんなの知った事か。
レスを全部読み返せ、マヌケ。
0386デフォルトの名無しさん
2016/05/30(月) 01:46:43.83ID:EfYZ+SoU検索のことを考えねばならない時点で前提が崩壊している
0387デフォルトの名無しさん
2016/05/30(月) 02:07:44.13ID:EYocVjlDタイムアウトは出来ないとか、設定した値の二倍かかるとか
いろいろな説が出てきますが
何が正しいんですか?
0388デフォルトの名無しさん
2016/05/30(月) 02:11:49.06ID:MSwmOpiDよくわからんが、>>373 に対してレス付けてるのから判断するとお前は >>375 だと言ってるのかね?
でもそれじゃ >>379 の何がクソだと言ってるのかは分からんから、お前は >>376 なのかね?
んまあどれが誰かなんて興味は無いのでどうでもいいが、>>379 の論点のクソさを具体的に示せてないんだからお前もクソだろう。
>>386
データ規模によるっしょ。
他のインデックスが効くキーで充分に絞り込めてるレコードをさらに絞るとか。
あんまりうまい例えはパッと出てこないけど、生徒マスタなんかクラスで40名程に絞り込んだ中から、好きな教科カラムに「数学」を含む生徒だけを取り出すとか。
0389デフォルトの名無しさん
2016/05/30(月) 02:51:30.51ID:+KPM1br20390デフォルトの名無しさん
2016/05/30(月) 03:29:38.26ID:EfYZ+SoU正規化しなくてもいい理由を考えるんじゃなくて, 正規化された状態だと問題がある場合に限って非正規化な構造を採用すべき
0391デフォルトの名無しさん
2016/05/30(月) 07:03:49.14ID:cVhChvSaサルが必至にクソな論理を構築しようとした結果の超クソレス。
サルだからこういうレスをしても恥ずかしくないらしい。サル、最強だ。
0392デフォルトの名無しさん
2016/05/30(月) 07:43:17.72ID:cVhChvSahttp://qiita.com/iwata@github/items/f33490d34dd1400b166e
これとか読んでも
> ユーザーが “banana” のような無効な入力を行ってしまうことを、どうやったら防げるでしょうか。
って文章があるだけで頭の中がバナナで一杯になっちゃって他の文章が全く頭に入ってこなくなるんだよ。
技術系の発信する時は「バナナ」は禁句だってあれほど口をすっぱくして言ってるのに、未だに理解されないよな。
0393デフォルトの名無しさん
2016/05/30(月) 07:51:23.15ID:cVhChvSa誰がどれか、なんて話してねぇよサル。
誰がどんな事を既に言ったのかって話をしてるんだ。おまえ脳みそにシワあるのか?
0394デフォルトの名無しさん
2016/05/30(月) 07:54:27.98ID:v4ZBbWmE> ユーザーが “banana” のような無効な入力を行ってしまうことを、どうやったら防げるでしょうか。
これ、qiita記事の元っぽい以下のURLだと濁点の分離や記号の全角化は起きてないようにみえる
https://github.com/suzuki-shin/sql_anti_pattern/blob/master/chapter1/chapter1
同qiita記事書いた人の別の記事でも濁点の分離や記号の全角化がされた文章がいくつかある
こういうのってどういう局面で起きるものなの?
0395デフォルトの名無しさん
2016/05/30(月) 08:09:01.66ID:MSwmOpiD正規化の是非は >>373 が判断することで、今は正規化しない場合のデータ表現についての話でしょ。
だったら JSON でもカンマ区切りでもその他の表現でも、どうするとどう活用できるかについてが議題じゃないのかな。
0396デフォルトの名無しさん
2016/05/30(月) 08:27:40.56ID:EfYZ+SoU> 今は正規化しない場合のデータ表現についての話でしょ
>>373を読む限りそもそも正規化を知らないものと理解するが。
0397デフォルトの名無しさん
2016/05/30(月) 08:30:06.63ID:EfYZ+SoUUnicodeのNFDとNFCで調べてみるといい
OS X上でマルチバイトファイル名入りのGitリポジトリとか扱うときに問題になる
0398デフォルトの名無しさん
2016/05/30(月) 08:44:38.54ID:MSwmOpiDあー、言われてみればそんな気もしてきた。
でもデータベースというのは実は KVS とかだったりして。
0399デフォルトの名無しさん
2016/05/30(月) 09:55:15.32ID:v4ZBbWmEMacなのか!あとで調べてみるサンキュー
0400デフォルトの名無しさん
2016/05/30(月) 10:05:11.31ID:b2mZbZ2D0401デフォルトの名無しさん
2016/05/30(月) 10:32:30.47ID:RFK4VlivOS XのiTunesの音楽ファイルをtar zipで固めてlinuxに持ってったときハマったなあ
ファイル名が曲名だったから日本語ばかりで、濁点が全部別文字になったw
当時NFC,NFD処理できるうまいライブラリがPerlしかみつからなくて
Perlのスクリプト書いて修正したっけな
0402デフォルトの名無しさん
2016/05/30(月) 11:27:17.60ID:b2mZbZ2D0403デフォルトの名無しさん
2016/05/30(月) 12:21:09.96ID:EYocVjlD特殊な変数なのに何故「$_大文字」のような形ではないのでしょうか?
普通に付けそうな名前ですし、まずいと思います
0404デフォルトの名無しさん
2016/05/30(月) 12:40:19.92ID:y++iLJ96細かいことを気にしたら一流のペチパーになれないぞ
0405デフォルトの名無しさん
2016/05/30(月) 12:55:38.98ID:cGJHwTA3一生現実から目を背けてろ、このエテ吉が。
0406デフォルトの名無しさん
2016/05/30(月) 16:07:54.41ID:8XzSUPs+女の子誘って温泉いってくるわ
0407デフォルトの名無しさん
2016/05/30(月) 16:16:46.03ID:bSPgiDOZ特殊ってわけでもないんだよな$http_response_headerはローカルなんだ
0408デフォルトの名無しさん
2016/05/30(月) 16:39:01.00ID:EYocVjlDそれならまあ納得です
ありがとうございました
0409デフォルトの名無しさん
2016/05/30(月) 19:49:38.97ID:LmMFghTu内部の処理で文字列の最後に1バイト文のNULL文字'¥0'が自動で付加されるから
0410デフォルトの名無しさん
2016/05/30(月) 20:02:26.02ID:1Y2aZH/oほんとに?
0411デフォルトの名無しさん
2016/05/30(月) 20:03:59.91ID:EYocVjlDわっ、そうなんですね
ちょうどそれが原因のバグに当たっていたところです
fgetsはバイナリで読むと思いこんでいました
ありがとうございます
0412デフォルトの名無しさん
2016/05/30(月) 23:40:21.19ID:EfYZ+SoUそれはC/C++に於ける実装だ
PHPではヌル文字は文字列終端を意味しない(zend_stringの実装を見るとよい)
実際fgetsはバイナリセーフでヌル文字があっても改行文字かEOFにあたるまで読み続ける
fgetsの引数の$lengthがそのような実装であるのは, C/C++に於けるfgetsの引数lengthとの互換性を持たせるためだろう
ただまぁfgetsのプロトタイプ自体がC/C++とPHPでは全く異なるからそこだけ合わせてもアレだけども
0413デフォルトの名無しさん
2016/05/31(火) 01:57:54.79ID:+9fDSi7f0414デフォルトの名無しさん
2016/05/31(火) 04:34:17.37ID:4Jh5cWvX0415デフォルトの名無しさん
2016/05/31(火) 05:40:01.58ID:X6HwP8rQswitchはbreakで区切るのではなく、continueで連結するようにすべきだったはずだ。
0416デフォルトの名無しさん
2016/05/31(火) 06:23:56.21ID:37ByNeIc複数の値で同じ処理をする時に case ばかりを並べる場合はデフォルトでフォールスルーになってる方が便利だけどな。
でもそれ以外でフォールスルーを活用できるパターンも少ないように思うから、個人的にはどっちでもいいと言えばどっちでもいい。
ただ既存言語に合わせておいた方がトラブルが少ないんじゃないかと思う。
0417デフォルトの名無しさん
2016/05/31(火) 11:42:05.04ID:BNvwfi7N0418デフォルトの名無しさん
2016/05/31(火) 12:09:34.37ID:pF41PCQ4ヒマなのか?
0419デフォルトの名無しさん
2016/05/31(火) 13:10:11.01ID:BNvwfi7N代案を出さなきゃサル呼ばわりされちゃうよ?
0420デフォルトの名無しさん
2016/05/31(火) 13:29:03.85ID:rEPhaK+hcmsははノンプログラマの逃げ技だと思っている。
0421デフォルトの名無しさん
2016/05/31(火) 15:21:14.32ID:WEIThh9Sとしたところ、/tmp/hogeまでは作成されましたが
その下が権限エラーで作成できませんでした
再帰的に作成するというのだから、
それまでのパーミッション設定までしてくれていいんじゃないかと思うんですが
何故こんな挙動なんですか?
自分でループなどで作らないといけないということでしょうか?
0422デフォルトの名無しさん
2016/05/31(火) 15:25:18.97ID:CpuDRB98それってもしかして、
/tmp の下に hoge がない状態で、
/tmp/hoge/hoge を作ろうとしたの?
0423デフォルトの名無しさん
2016/05/31(火) 15:26:51.23ID:WEIThh9Sそうですよ
再帰的に作成っていうのはそういうことでは?
0424デフォルトの名無しさん
2016/05/31(火) 15:27:11.59ID:3Enb+VVF0425デフォルトの名無しさん
2016/05/31(火) 15:28:11.55ID:LdI3VN67'0777' => 0777
0426デフォルトの名無しさん
2016/05/31(火) 15:41:01.77ID:WEIThh9Sパーミッションの書き方が間違ってたのですね
ありがとうございました
0427デフォルトの名無しさん
2016/05/31(火) 17:01:22.48ID:pF41PCQ40428デフォルトの名無しさん
2016/05/31(火) 17:27:16.13ID:xVlROlYS0777 は8進数なので正しく設定できる
0429デフォルトの名無しさん
2016/05/31(火) 18:55:58.27ID:X6HwP8rQwordpressはCMSですらない。あれはただのブログシステム。
ブログシステムとしては素晴らしい出来だが、
あれでコーポレートサイトとか作る奴は後先考えない、はた迷惑なマヌケ。
0430デフォルトの名無しさん
2016/05/31(火) 18:59:28.64ID:MlesSNZX根拠を具体的に教えてくれ
煽りとかじゃなくてWordPress扱ったことないんだ
0431デフォルトの名無しさん
2016/05/31(火) 19:10:23.60ID:WPXjVdwGWPも結局、記事投稿してないところが大半。しても業務日報。宝の持ち腐れ。意味ねーよ。
0432デフォルトの名無しさん
2016/05/31(火) 19:21:34.07ID:37ByNeIcCMS使ってくれないよねぇ。
先方の担当者だけで回せるようにと要求に沿ったものを作ってあるのに、結局こっちに運用を回してくるというw
0433デフォルトの名無しさん
2016/05/31(火) 20:06:34.71ID:X6HwP8rQん? まず、コードがクソ。
全く抽象化されておらず、このご時世にフラットなコードを細切れにしてるだけのクソ設計。見通し最悪。
DBモデルデザイン、超クソ。
カスタムフィールドを実現するためにとったDB設計がクソの骨頂。
そのせいで、DBアクセスが凄まじく重い。とってきたデータをPHPでforeachループしまくるので遅さははんぱない。
RDB使ってる意味が全く無いクソ設計。
そんなんだから、普通ならコンマゼロ数秒で返せるレスポンスを数秒単位かけて返す。
なんかくるくる回りまくる。
アクションフックとか超クソ。
そんなん、Wordpressでしか使わない。PHPの知識は全く役に立たない。
あれはPHPじゃなくてWordpressという言語。
PHP覚えれば大抵のことは出来るはずなのに、一度Wordpressを使おうと思ったらまた0からやり直し。本当にクソ。
全ファイルドキュメントルート下。本当に頭おかしい。
リンクに片っ端からwp-なんたらいうディレクトリ名があって、
「わたしWordpressちゃんつかってまー」と公共の場で宣言しまくり。頭おかしい。
次から次へと脆弱性発見されるから更新推奨されまくり。
安い金で一度導入したら、あとは死ぬまでアップデートするかしないか地獄。
アップデートしなければカモ、したら動かなくなるかもしれん危険と隣合わせ。使うやつマジマゾ。
こんなんでいい? まだ言う?
0434デフォルトの名無しさん
2016/05/31(火) 20:14:58.84ID:MlesSNZX軽い気持ちで聞いた俺が悪かった 謝る
0435デフォルトの名無しさん
2016/05/31(火) 20:18:03.23ID:N6PjvSqh0436デフォルトの名無しさん
2016/05/31(火) 20:18:34.68ID:X6HwP8rQ「Wordpressを使うものはさらにおぞましきものを見るだろう」
0437デフォルトの名無しさん
2016/05/31(火) 20:20:17.34ID:X6HwP8rQお前が普段目にして「これはいい」と思った物は、もしかしたらオレが作ったも物だ。
お前が「これはいい」と思った物がないなら、それは今オレが作っていてまだ世に出ていないからだ。
0438デフォルトの名無しさん
2016/05/31(火) 20:27:07.76ID:N6PjvSqh0439デフォルトの名無しさん
2016/05/31(火) 20:29:00.66ID:WEIThh9Sパーミッションって八進数で書いてるだけで、本質は整数なんですね
だから0777は10進数で511と書いているのと同じ
それが分かっていたら文字列にすることもなかったですね
0440デフォルトの名無しさん
2016/05/31(火) 20:31:28.66ID:X6HwP8rQうむ。期待してくれたまえ。以下に自分がマヌケだったかを思い知らせてくれよう。
0441デフォルトの名無しさん
2016/05/31(火) 20:32:59.53ID:X6HwP8rQ10年前のオレ、ようこそ。お前は成長する。
0442デフォルトの名無しさん
2016/05/31(火) 21:37:52.60ID:XoeoyrEz0443デフォルトの名無しさん
2016/05/31(火) 22:32:35.67ID:ghr06yjT無名関数のときだけは、
Perlのreturn仕様(省略時は最後の式が返るとかそんなん)が羨ましく思える
0444デフォルトの名無しさん
2016/05/31(火) 22:35:23.07ID:MhuNyaGkウェブに重要文書置くなというのはわかるが
セキュリティホール対策頻繁にやらないといかんのはきついね
0445デフォルトの名無しさん
2016/06/01(水) 10:26:11.68ID:fICAMZhqまずは何を作ってみるのがいい?
0446デフォルトの名無しさん
2016/06/01(水) 14:40:16.20ID:VVSddd000447デフォルトの名無しさん
2016/06/01(水) 15:31:09.74ID:wQ3dwFqG例えば?
0448デフォルトの名無しさん
2016/06/01(水) 15:36:51.26ID:VVSddd000449デフォルトの名無しさん
2016/06/01(水) 15:43:44.93ID:jVC0+jUB作りたいものがないなら作らなければいいのに。
0450デフォルトの名無しさん
2016/06/01(水) 15:53:04.28ID:44n+CxQkそんなサイトがあたかもしれない。
0451デフォルトの名無しさん
2016/06/01(水) 17:01:57.45ID:O+gTBZeC0452デフォルトの名無しさん
2016/06/01(水) 18:58:44.73ID:o4JIGiaf'\'
がエラーになりました
echo '\\'
だと\が表示されます
シングルクォートでも\だけはエスケープされるのでしょうか?
0453デフォルトの名無しさん
2016/06/01(水) 19:09:39.19ID:ldMD50kqシングルクオートは変数展開がされない。
つまり、お前の勘違い。
0454デフォルトの名無しさん
2016/06/01(水) 19:24:10.78ID:o4JIGiafと
echo "abc\nabc";
で表示が変わりますよね
変数展開だけではないように見えますが
0455デフォルトの名無しさん
2016/06/01(水) 19:54:00.25ID:O+gTBZeC0456デフォルトの名無しさん
2016/06/01(水) 20:15:21.36ID:rdHAS6Onよく読め
http://php.net/manual/ja/language.types.string.php#language.types.string.syntax.single
0457デフォルトの名無しさん
2016/06/01(水) 20:24:48.47ID:o4JIGiafシングルクォートとバックスラッシュはエスケープする必要があるのですね
シングルクォートをエスケープする必要があるので、
バックスラッシュもエスケープしなければならないということですね
ありがとうございました
0458デフォルトの名無しさん
2016/06/01(水) 20:29:50.97ID:RA3wR2In0459デフォルトの名無しさん
2016/06/01(水) 21:10:43.25ID:o4JIGiafエスケープシーケンスとしての指定がキャンセルされるのか・・
と思いましたが
もともとエスケープシーケンスはそういう挙動をするものですね
あまり深く考えたことがなかったですが
0460デフォルトの名無しさん
2016/06/01(水) 21:35:52.06ID:GiudJL8+0461デフォルトの名無しさん
2016/06/02(木) 00:06:26.06ID:IwpY6iix0462デフォルトの名無しさん
2016/06/02(木) 06:29:17.74ID:7N0T/hEvお前はそれを使っていると呼ぶだろう。
0463デフォルトの名無しさん
2016/06/02(木) 09:17:10.28ID:jhQNhgjVだったら被らないような名前つければいいんじゃね?
0464デフォルトの名無しさん
2016/06/02(木) 10:57:02.14ID:Bszjc45u0465デフォルトの名無しさん
2016/06/02(木) 11:08:10.74ID:Bszjc45uライブラリを書く時に使うようなものですので
そうでない場合は気にする必要はないと思います
0466デフォルトの名無しさん
2016/06/02(木) 11:50:09.15ID:LIz4OI80これさえあれば何だって作れちゃうね!PHP最強伝説!!!
0467デフォルトの名無しさん
2016/06/02(木) 12:21:37.61ID:Bszjc45uecho PHP_INT_MAX / (60*60*24*1000000);
で64bitマシンだと106751991日もsleepできると分かりました
マイクロ秒にしたら桁が溢れるんじゃないかと思ったのですが
気にする必要はなさそうですね
0468デフォルトの名無しさん
2016/06/02(木) 17:50:29.42ID:x6y0PRZ+あれがあれば無敵だよな
0469デフォルトの名無しさん
2016/06/02(木) 19:03:01.78ID:7N0T/hEv0470デフォルトの名無しさん
2016/06/03(金) 10:05:42.48ID:uD7B680E0471デフォルトの名無しさん
2016/06/03(金) 10:14:36.48ID:a/yvIYtd0472デフォルトの名無しさん
2016/06/03(金) 10:57:02.65ID:jxJ/wrE9PHPより早く書けるのでしょうか?
PHPの「早さ」は標準機能の強力さにあるので、
やはりPHPが最速でしょうか?
0473デフォルトの名無しさん
2016/06/03(金) 11:09:10.82ID:jxJ/wrE9を一行で書けるPHP以上に開発効率のいい言語はなさそうですね
0474デフォルトの名無しさん
2016/06/03(金) 11:18:20.27ID:uD7B680E{
$this -> content = $content;
}
setContent(peropero);
echo $content;
↓
peropero
?
0475デフォルトの名無しさん
2016/06/03(金) 12:34:38.26ID:uqXPZzfxどっちにしても自分でやってみなけりゃわからないと思うよ。
0476デフォルトの名無しさん
2016/06/03(金) 19:20:29.28ID:L26ySebn変数に必ず$がついて1文字余分だし、メンバ参照もアロー演算子のせいで普通の言語よりも1文字余分。
大体コードゴルフとかすると、Rubyにこてんぱんに負ける。
0477デフォルトの名無しさん
2016/06/03(金) 19:49:15.43ID:rDkM18OB芸術だから
0478デフォルトの名無しさん
2016/06/03(金) 20:12:29.15ID:cokHCpg90479デフォルトの名無しさん
2016/06/03(金) 20:24:58.84ID:oXnkqg6Y0480デフォルトの名無しさん
2016/06/03(金) 20:25:30.42ID:oXnkqg6Y0481デフォルトの名無しさん
2016/06/03(金) 20:41:09.86ID:jxJ/wrE9単純にアルゴリズムを競うだけなら、当然PHPは分が悪いでしょう
ですが現実にはそんなコードはほとんど書きませんよね
0482デフォルトの名無しさん
2016/06/03(金) 20:41:48.01ID:L26ySebn0483デフォルトの名無しさん
2016/06/03(金) 20:49:43.74ID:L26ySebnそんな話はしてない。
ダラーとかアローとか書きまくっててなんか感じない奴は根本的にセンス無い。
0484デフォルトの名無しさん
2016/06/03(金) 20:57:02.48ID:jxJ/wrE9は?
そんな表層的な所に拘ってるあなたの方がセンスないと思いますよ
もちろん、エレガントだとは言いませんが、
そこは本質的ではありません
0485デフォルトの名無しさん
2016/06/03(金) 21:00:27.92ID:cokHCpg9最強のプログラム言語PHPの使い手同士なかよく
0486デフォルトの名無しさん
2016/06/03(金) 21:03:42.69ID:jxJ/wrE9「用の美」があるのです
自分はそこが気にいっています
0487デフォルトの名無しさん
2016/06/03(金) 21:07:08.61ID:L26ySebn0488デフォルトの名無しさん
2016/06/03(金) 21:08:20.58ID:L26ySebnこんな子猿と同列に語るな、マヌケ。
0489デフォルトの名無しさん
2016/06/03(金) 21:13:09.94ID:cokHCpg90490デフォルトの名無しさん
2016/06/03(金) 21:21:27.36ID:L26ySebn0491デフォルトの名無しさん
2016/06/03(金) 21:28:15.12ID:L26ySebnお子様は華やかな技ばっかに気をとられるがな。
0492デフォルトの名無しさん
2016/06/04(土) 10:12:26.21ID:YRPaaGZzPHPでしたいのですが
$argv[0] = "hoge";
とやっても変わりませんでした
ググると-Hオプションで引数リストを隠せるようですが
PHP内で書き換えたいです
perlでは出来るそうです
これは仕様上の欠陥ですね?
0493デフォルトの名無しさん
2016/06/04(土) 10:53:15.27ID:Atk6t3Xmhttp://php.net/manual/ja/function.setproctitle.php
0494デフォルトの名無しさん
2016/06/04(土) 14:55:35.46ID:YRPaaGZzそんな関数あったんですね
さすがPHPと言わざるを得ません
ありがとうございました
0495デフォルトの名無しさん
2016/06/04(土) 15:38:46.82ID:oUkZJriQあんなわけのわからん書き込みで何を欲しているのか理解できる>>493の判断力と、
>これは仕様上の欠陥ですね?
こういう低脳っぷり。
0496デフォルトの名無しさん
2016/06/04(土) 15:50:28.37ID:YRPaaGZzお前には理解できないだけだろw
お前みたいな奴をペチパーっていうんだろうな
0497デフォルトの名無しさん
2016/06/04(土) 16:01:22.36ID:oUkZJriQ0498デフォルトの名無しさん
2016/06/04(土) 16:28:58.88ID:YRPaaGZz世界せまww
0499デフォルトの名無しさん
2016/06/04(土) 16:45:59.06ID:YRPaaGZzぜひ標準で入れて欲しいところです
現時点では仕様上の欠陥と言わざるを得ません
0500デフォルトの名無しさん
2016/06/04(土) 16:52:28.28ID:oUkZJriQ0501デフォルトの名無しさん
2016/06/04(土) 16:53:29.36ID:oUkZJriQ0502デフォルトの名無しさん
2016/06/04(土) 17:13:08.01ID:YRPaaGZzCLIで使おうと思ったらこれが出来ないと困ります
ワードプレスでもいじってろピグミーマーモセットが
0503デフォルトの名無しさん
2016/06/04(土) 17:15:03.71ID:K+q297Cvマニュアル読めないID:YRPaaGZzもNGで
0504デフォルトの名無しさん
2016/06/04(土) 17:18:49.61ID:oUkZJriQ勘弁しろよ…、本当に。
0505デフォルトの名無しさん
2016/06/04(土) 18:11:47.00ID:oUkZJriQ0506デフォルトの名無しさん
2016/06/04(土) 18:36:42.24ID:1P8M50yxそれは顔か?尻か?w
0507デフォルトの名無しさん
2016/06/04(土) 18:51:30.04ID:YRPaaGZzえ、なんですこれ
もう出来るんですか?
さすがPHPと言わざるを得ませんね
ありがとうございました
0508デフォルトの名無しさん
2016/06/04(土) 18:54:08.22ID:FTbmrFHZcsvや配列で持ってるデータを複雑な条件で検索したいときって
DBに格納するのが一番良いんかね
0509デフォルトの名無しさん
2016/06/04(土) 19:01:04.88ID:K+q297CvまだベータだけどLINQ for PHPとか
0510デフォルトの名無しさん
2016/06/04(土) 19:19:03.12ID:FTbmrFHZまさにこれなんだけど、こんなんがあって今βってことは
やっぱこれ使う以外だとDBに入れるか自前で検索を組むしかないってことか
ありがとう
0511デフォルトの名無しさん
2016/06/04(土) 19:44:25.80ID:K+q297CvPackagistでLINQで探してみたら結構いろいろ実装があるみたいよ
探してみては如何
0512デフォルトの名無しさん
2016/06/04(土) 20:36:49.27ID:FTbmrFHZちょうどいろいろみてた
負荷と頻度考えて検討するわ
0513デフォルトの名無しさん
2016/06/04(土) 21:59:15.81ID:MFqaq7Mpレポよろ
0514デフォルトの名無しさん
2016/06/05(日) 12:03:20.74ID:xob/1tpk0515デフォルトの名無しさん
2016/06/05(日) 12:03:29.70ID:zsJffcbcPHPさえマスターすれば仕事に困らないのさ
0516デフォルトの名無しさん
2016/06/05(日) 13:07:49.58ID:9mzbmJB7setTimeして戻ってたら+1 dayするとか
function nextHM(DateTime $dt, $h, $m) {
$next = clone $dt;
$next->setTime($h, $m);
if ($next <= $dt) {
$next->modify('+1 day');
}
return $next;
}
0517デフォルトの名無しさん
2016/06/05(日) 13:24:18.21ID:xob/1tpkdatetimeクラスなんてあったんですね
勉強になります
ありがとうございました
0518デフォルトの名無しさん
2016/06/05(日) 18:26:14.42ID:Tkwljjf2こんな感じで計算をがんばるとか
function nextHM($t, $h, $m)
{
$dif = date('Z');
$lt = $t + $dif;
$nt = $lt - $lt % (24 * 3600) + $h * 3600 + $m * 60;
if($nt <= $lt) $nt += 24 * 3600;
return $nt - $dif;
}
$t は UNIXタイムスタンプね。
0519デフォルトの名無しさん
2016/06/05(日) 19:51:28.22ID:TM3QCo+d0520デフォルトの名無しさん
2016/06/05(日) 19:58:07.41ID:CV0omAn/0521デフォルトの名無しさん
2016/06/05(日) 20:12:32.45ID:Tkwljjf2UTC からの時差を求め、ローカルタイムに直し、その日の指定時刻を求め、既に過ぎていたら日時なら翌日にし、UTC に直して返す、ということを淡々と並べただけだが。
0522デフォルトの名無しさん
2016/06/05(日) 20:24:39.75ID:Tkwljjf20523デフォルトの名無しさん
2016/06/05(日) 23:07:07.91ID:Iavazaq6その為にwordpressの上でチャットプログラムを動かしたいと考えています
まず何から取り掛かれば良いのか分かりません
どのような知識が必要になり、どう勉強すれば良いか教えて頂きたいです
0524デフォルトの名無しさん
2016/06/05(日) 23:21:32.87ID:Tkwljjf2wordpress は置いといて、取りあえずチャットを作ってみたら。
定期的にリロードする式のチャットなら簡単だし、サンプルになりそうなのは探せばすぐ見つかるんじゃね。
0525デフォルトの名無しさん
2016/06/06(月) 00:49:55.95ID:KjVn6FKAまじかよおまえら
0526デフォルトの名無しさん
2016/06/06(月) 00:53:43.37ID:O157QY9Dクソコードに認定します。
0527デフォルトの名無しさん
2016/06/06(月) 01:05:50.44ID:mm33J6PT口だけオッサン
0528デフォルトの名無しさん
2016/06/06(月) 01:21:12.75ID:BBAYr+Aj0529デフォルトの名無しさん
2016/06/06(月) 04:46:49.75ID:J1e3bhcQあのコード見てもこんな事言ってるというだけで、
如何にこのアゲバカが何も知らない低能かという事がハッキリしたな。
0530デフォルトの名無しさん
2016/06/06(月) 07:47:24.77ID:OUgENTLvほんそれ
0531デフォルトの名無しさん
2016/06/06(月) 07:59:47.71ID:z3VswDq0ありがとうございます
とりあえずは簡単でも動くプログラムを目指してみます
サーバーとクライアントのチャットならイメージが湧くんですけど、phpでやるとなるとサーバー側のプログラムだけで実現するんですよね・・
リロードするということはデータベースにログを格納して参照するという認識で合ってい
ますか?
0532デフォルトの名無しさん
2016/06/06(月) 08:33:02.73ID:xfsRheZoデータベースに手を出す前に、まずはプレーンなファイルにログを保存する方が簡単。
直近の100行くらいをそのままテキストファイルに保存しておくとか。
掲示板と変わらないよ。
名前とか色とか時刻みたいなパラメータを個別にフィールド化したいなら行を適当に書式化する必要があるけどね。
例えばこんな感じ。
2016/06/05 23:10:01<タブ>system<タブ>000000<タブ>たろうさんが入室しました<改行>
2016/06/05 23:10:01<タブ>たろう<タブ>FF0000<タブ>こんばんは<改行>
2016/06/05 23:10:06<タブ>じろう<タブ>00FF00<タブ>やあ<改行>
このファイルを file_get_contents するとファイルの中身全部がひとつの文字列として取得できる。
これを<改行>(¥n)で explode すれば行ごとの配列になる。
各行を<タブ>(¥t)で explode すればフィールド毎の配列になる。
新しい書き込みは行ごとの配列に追記し、必要な件数になるように array_splice なんかで調整する。
それを join なんかで配列を文字列化してファイルに保存する。
入力値にタブや改行が含まれている場合はスペースに置換する対策をするとして preg_replace なんかを使う。
ログファイルの読み書きを排他するためには flock を使う。
flock はログファイルそのものに対してやるんじゃなく、別のロックファイルを使うのを勧める。
flock でのロックなら使い終わったロックファイルは消さずに放置していい。
0533デフォルトの名無しさん
2016/06/06(月) 10:29:24.73ID:z3VswDq0具体的なアドバイスありがとうございます
ファイルの読み書きでも実現できるんですね・・
すごく丁寧に手順を教えて頂けたのでその方法でやってみようと思います
排他制御など考えることも多そうですが、だいぶイメージが湧きました
0534デフォルトの名無しさん
2016/06/06(月) 10:53:52.96ID:gg/xefDK>データベースにログを格納して参照する
それであってる。リロードに関してはAjaxとか使えばいい。
ファイルもいいが、データベースの方が応用利くのでおすすめだぞ。
0535デフォルトの名無しさん
2016/06/06(月) 11:07:34.48ID:SWJRXsGZ0536デフォルトの名無しさん
2016/06/06(月) 11:28:46.71ID:xfsRheZoDBの準備、テーブルの準備、DBへの接続、開発中のデータのメンテナンス、etc. 手始めにチャットをちょろっと作るには少々面倒だと思う。
しかも自前のファイル処理は排他なんかの基礎的な技術も使うちょうどいい題材だと思う。
0537デフォルトの名無しさん
2016/06/06(月) 12:02:24.68ID:z3VswDq0お二人ともありがとうございます
まだphpを学習している段階ですので、ファイルから入りデータベースの利用も考えて拡張していけたらと考えています
MySQLは多少触ったことがあるのですがAjaxとやらはJSで書かれてるみたいなんで心配ですね
当面の間の目標は決まったので取り組んでいきたいと思います
0538デフォルトの名無しさん
2016/06/06(月) 12:48:53.75ID:cB/a+aRWdateといえば通常日付を持つオブジェクトですが
phpの場合、dateは日付を文字列に直す関数の名前なので
phpの作法としては良くないのか?とも思います
どうなのでしょうか?
0539デフォルトの名無しさん
2016/06/06(月) 12:56:02.62ID:i0QOUB1M0540デフォルトの名無しさん
2016/06/06(月) 13:05:19.30ID:xfsRheZoマニュアルではタイムスタンプを取る関数の引数リストは timestamp となってるから、PHP流にするならそれに従うとか?
おれは近距離で使う場合なら $t とか $tm で済ますな。
0541デフォルトの名無しさん
2016/06/06(月) 14:07:10.33ID:VZp5fXoTまあ、それが出来ないから口だけオッサンなわけなんだけれどもね
0542デフォルトの名無しさん
2016/06/06(月) 14:25:14.47ID:cB/a+aRWアスペ乙
>>540
timestampが無難ですね
ありがとうございました
0543デフォルトの名無しさん
2016/06/06(月) 14:37:23.20ID:CS8YjhCP0544デフォルトの名無しさん
2016/06/06(月) 14:48:20.68ID:e+TlXwYNそこで64bitPHPですよ
0545デフォルトの名無しさん
2016/06/06(月) 15:02:04.40ID:Nu4gS3Qg64bitPHPって、動作環境も64必須になるの?
0546デフォルトの名無しさん
2016/06/06(月) 15:44:32.88ID:3yfrnV+f0547デフォルトの名無しさん
2016/06/06(月) 16:42:19.25ID:cB/a+aRWこれはphpが他の言語を参考にしたのでしょうか?
0548デフォルトの名無しさん
2016/06/06(月) 16:44:19.58ID:m0TG3c4D自分自身のプロセスを置き換えるプログラムの起動方法はありますか?
0549デフォルトの名無しさん
2016/06/06(月) 18:43:05.67ID:BBAYr+Ajこないだの人と同じだろうか。
http://php.net/manual/ja/ref.pcntl.php
とりあえずここを一通り見るとこれからの疑問もいくつか解決できるかと。
0550デフォルトの名無しさん
2016/06/06(月) 19:06:02.71ID:J1e3bhcQ無いのは耐性じゃなくて羞恥心だ。本当にサルしかいなくなった。
0551デフォルトの名無しさん
2016/06/06(月) 19:08:37.27ID:J1e3bhcQマネする事しかできないサルはそんなこと気にしても無駄だ。おとなしく使い方だけ覚えてろ。
0552デフォルトの名無しさん
2016/06/06(月) 19:10:05.25ID:J1e3bhcQdateの意味が分からないサル、素敵。
0553デフォルトの名無しさん
2016/06/06(月) 19:17:07.72ID:J1e3bhcQそのバカは教えてもらっても活用できないから総合的なリンクを貼っても無駄だ。
1から100まで手とり足とり教えてやるだけの覚悟が必要だぞ。
0554デフォルトの名無しさん
2016/06/06(月) 19:37:24.24ID:cB/a+aRWちがいますよ
「こないだの人」っていうのはたぶん自分なので
0555デフォルトの名無しさん
2016/06/06(月) 21:51:51.16ID:1+sOyhVWmain.php
<img src="gazou.php">
gazou.php
$src = file_get_contents('画像のURL');
echo header('Content-Type: image/jpeg');
echo $src;
これなら正常に動作しますが、gazou.phpでDB接続しただけで画像も表示されなくなってしまいます。
$link = mysql_connect('localhost', 'root', 'pass');
DBに接続できる事は確認済みです。エラーも起きていません。
原因のわかる方がいたらお願いします。助けてください。
0556デフォルトの名無しさん
2016/06/06(月) 21:52:47.52ID:1+sOyhVW0557デフォルトの名無しさん
2016/06/06(月) 22:00:04.71ID:O157QY9D0558デフォルトの名無しさん
2016/06/06(月) 22:06:18.56ID:xfsRheZoDB接続と画像取得を同時にやると memory_limit に引っかかるとか?
0559デフォルトの名無しさん
2016/06/06(月) 22:16:02.69ID:lRe9eSukいや何でheaderをechoしてんの
0560デフォルトの名無しさん
2016/06/06(月) 22:20:02.11ID:xfsRheZo0561デフォルトの名無しさん
2016/06/06(月) 22:22:35.62ID:1+sOyhVWリミット増やして、画像を極小の物にしましたが駄目でした。
>>559
ネットにあった物を丸コピしましたが、echoする必要なかったんですね。
ありがとうございます。
0562デフォルトの名無しさん
2016/06/06(月) 23:12:41.43ID:pobwg1Viそんなのネットに落ちてるのか
URL教えてくれまいか
0563デフォルトの名無しさん
2016/06/06(月) 23:15:55.37ID:pcbEmQ5nDB接続を先にして画像表示を後にしてみれば
0564デフォルトの名無しさん
2016/06/07(火) 00:05:13.10ID:lP0BMeFGすみません、先に接続してます
画像が表示されなくなるので、DBの画像がおかしいのかと色々調べて結論が
DBに接続したからってよく分からない原因でした
自分以外は起きないようですしDBに画像入れるのは諦めます、ありがとうございました
0565デフォルトの名無しさん
2016/06/07(火) 00:21:59.49ID:D2B0dW6iレスポンス見るとたぶんなんか文字列が出てるんだと思うよ
0566デフォルトの名無しさん
2016/06/07(火) 03:50:11.15ID:T/syB7Ij0567デフォルトの名無しさん
2016/06/07(火) 06:38:58.63ID:T/syB7Ij細切れじゃなく動かないコードを全部はっつけてれば>>559あたりがとっくに解決してくれたろうに。
勝手に質問して勝手に諦めて、ただのスレ汚しでしかねえよ。
0568デフォルトの名無しさん
2016/06/07(火) 07:25:50.44ID:zVxkgyZ2どうせDB接続エラーでも出てるんだろ
0569デフォルトの名無しさん
2016/06/07(火) 08:59:25.37ID:bV3Kj9Seもう32bitとか絶滅危惧種じゃねえか
0570デフォルトの名無しさん
2016/06/07(火) 09:56:02.61ID:ljS7Rtyfというか、今動いている32bit機があと20年は余裕で保守されてしまうのだよ・・・
0571デフォルトの名無しさん
2016/06/07(火) 10:01:48.24ID:SWn+auCj0572デフォルトの名無しさん
2016/06/07(火) 10:08:11.73ID:EI+C64Wv0573デフォルトの名無しさん
2016/06/07(火) 10:13:16.18ID:mGsXs7zb0574デフォルトの名無しさん
2016/06/07(火) 10:17:14.37ID:SWn+auCj放置が正しい
0575デフォルトの名無しさん
2016/06/07(火) 11:27:15.75ID:ZIJtMgP1生年月日を扱おうとして。
0576デフォルトの名無しさん
2016/06/07(火) 13:46:49.20ID:ljS7Rtyf思うのはいいけど、現実は厳しいからね
0577デフォルトの名無しさん
2016/06/07(火) 14:17:17.55ID:LhHMvfyC0578デフォルトの名無しさん
2016/06/07(火) 14:52:12.33ID:Ht3PiVwV$_SERVER['SERVER_ADDR']が設定されていません
マシンのipアドレスを知りたい時には
シェルコマンドを実行して自前で取得するしかないのでしょうか?
0579デフォルトの名無しさん
2016/06/07(火) 15:06:32.48ID:TyQk9mVDマシンのipアドレスって?
0580デフォルトの名無しさん
2016/06/07(火) 15:38:49.13ID:57zhvgUm0581デフォルトの名無しさん
2016/06/07(火) 15:47:57.36ID:e+17T4IJ0582デフォルトの名無しさん
2016/06/07(火) 16:33:43.53ID:LhHMvfyC$h = gethostname();
echo gethostbyname($h);
isn't it?
0583デフォルトの名無しさん
2016/06/07(火) 18:26:48.76ID:EI+C64Wv0584デフォルトの名無しさん
2016/06/07(火) 18:31:43.94ID:Ht3PiVwV随分すっきり書けるんですね
ありがとうございます
0585デフォルトの名無しさん
2016/06/07(火) 18:49:34.57ID:T/syB7Iju are welcome.
>>583
$_SERVER
http://php.net/manual/ja/reserved.variables.server.php
> The entries in this array are created by the web server.
do u think the web server will say something in cli? stupid!
0586デフォルトの名無しさん
2016/06/07(火) 20:25:27.97ID:zVxkgyZ2生年月日をタイムスタンプで扱ってるの?
生まれた瞬間のミリ秒まで必要?
0587デフォルトの名無しさん
2016/06/07(火) 22:16:27.40ID:ZIJtMgP1ミリ秒じゃなく秒と言いたいんだろうけど、秒どころか時刻もいらん。
ただ時間を扱ういろいろな関数の引数が UTC だから何も考えず UTC で扱っとけと思って失敗したという話。
0588デフォルトの名無しさん
2016/06/07(火) 23:51:25.08ID:GjrjfS/I0589デフォルトの名無しさん
2016/06/08(水) 00:14:36.94ID:mGCA+lkacgi,php の掲示板って普通にサーバーにアップロードして
動かすとサイトのURLの末尾が cgi、php ってなるけど
例えば、自分の好きな英数字 xxxx.html とかで
htmlで表示する方法があるんだよね?
これってやり方紹介してるサイトとかあるの?
0590デフォルトの名無しさん
2016/06/08(水) 00:23:54.79ID:uL38izUF0591デフォルトの名無しさん
2016/06/08(水) 01:23:51.21ID:JCoBBX/9> htmlで表示する方法があるんだよね?
ある
> これってやり方紹介してるサイトとかあるの?
ある
0592デフォルトの名無しさん
2016/06/08(水) 02:06:02.23ID:HLpzPaCj0593デフォルトの名無しさん
2016/06/08(水) 03:29:07.02ID:YJzUTB/90594デフォルトの名無しさん
2016/06/08(水) 04:13:34.53ID:E3Y0fydP静的なファイルは変更されないから、キャッシュ・圧縮が効く
開発環境でのディレクトリの場所が違ってくるし、
その拡張子・ディレクトリ構成を前提とした、フレームワーク・ツールが動かなくなる
htmlファイルは処理Aして、phpファイルは処理Bして、という前提条件が崩れる
また、CDNなどのキャッシュ・圧縮などに影響するかも?
素人は、変なことを考えない方がいい
0595デフォルトの名無しさん
2016/06/08(水) 04:45:13.41ID:xWo5zVvm0596デフォルトの名無しさん
2016/06/08(水) 06:14:37.48ID:Y0v6vn2Eセンスとか関係無い。
0597594
2016/06/08(水) 06:37:14.53ID:E3Y0fydPそういうツールの作者は、慣例を前提条件にして作っているから
何かがバグった時に、素人じゃ解決できないだろう
プロでも設定ファイルで、あーだこーだ設定しても、
設定した人にはわかるけど、人が変われば、もうダメだろう
0598デフォルトの名無しさん
2016/06/08(水) 06:41:40.02ID:Y0v6vn2Eな、マジもんだっただろ? 頭おかしいからほっとくしか無い。
素人にはかわいそうなこった。
0599デフォルトの名無しさん
2016/06/08(水) 06:43:42.35ID:gbxJmrOf0600デフォルトの名無しさん
2016/06/08(水) 07:10:14.83ID:Y0v6vn2Eたまには人間が見たいもんだ。
0601594
2016/06/08(水) 07:34:36.51ID:E3Y0fydP拡張子によって、テストツールなどの処理を変えたりしないのか?
0602デフォルトの名無しさん
2016/06/08(水) 07:40:28.27ID:Y0v6vn2Eどういう状況かよく考えたら病院行って薬もらってこい。
0603デフォルトの名無しさん
2016/06/08(水) 08:10:33.58ID:uL38izUF質問に対して正直に答えるなら、.htmlも動的ファイルとして認識させる方法だが、
大昔のSSIとかはともかく、今はデメリットしか無いだろうなあ。
ファイルの更新よりも極端に閲覧が多いなら、伝統的な手段として、
あらかじめ静的ファイルを生成する方法があるが、質問者の意図とは遠いだろう。
あとは今の御時世だと、そこまでパフォーマンス的なメリット薄いかも。
比較的質問者の意図に近く、かつ>601のような問題にも対応するなら
mod_rewriteによるパスの書き換えが無難かしらね? ただ初心者には難しい気がする。
やるなら最後だが、結局のところ最初はやらんほうがいいってことになるのかね。
0604デフォルトの名無しさん
2016/06/08(水) 08:25:59.30ID:2v7uDDwq質問者の意図から外れるのは同意だけど静的htmlの生成・保持は今のご時世でもメリット薄くないと思う
昔はサーバリソースの問題から、今のご時世でもアクセス数の増大と先読みやらなんやらの超アクセスの問題から
特に重い処理は一部だけの保持でも十分に効果がある
というか一番の問題は動機、なんで拡張子偽装したいのか意味あんのかってあたりだと思うが
そこを突っ込むのは野暮か
*****.htmlじゃなくて /*****/ アクセスにするだけでも解決しそうな・・・
0605デフォルトの名無しさん
2016/06/08(水) 10:58:47.40ID:YYbuS1Qqわざわざremiリポジトリ登録してやらんとあかんが疑問
JPCERTでも以前脆弱性出てたし
わかる方いたら教えて
0606デフォルトの名無しさん
2016/06/08(水) 12:38:58.71ID:CAvCMOWG頭のおかしい外部のサルが判断すことじゃない。
教えるかggrksのどっちかでいいんだ。ゴタクは日記に書いてろ。
0607デフォルトの名無しさん
2016/06/08(水) 12:56:25.16ID:lrS0iOEgデフォルトでは使うなってことでしょ
0608デフォルトの名無しさん
2016/06/08(水) 13:40:06.16ID:oY9bTRlh先にCakePHPの基礎を学ぶのがいいと書いているブログがあった
このスレ的にはどう思うよ?
0609デフォルトの名無しさん
2016/06/08(水) 15:55:08.69ID:kQTZ9CNFFWのイロハがわからない人間にはイメージがつきにくい内容なら
実際何かしら触った方がいいのは当たり前のことだと思うが
0610デフォルトの名無しさん
2016/06/08(水) 16:46:59.87ID:2v7uDDwqアプリケーション開発の章を理解するためにCakePHPの基礎やっとけというなら
高確率でそのブログが役立たずまたはその本が役立たずと思われる
0611デフォルトの名無しさん
2016/06/08(水) 16:56:11.26ID:VGRHY7q5PHP系のフレームワークはどれも同じ
0612デフォルトの名無しさん
2016/06/08(水) 16:58:16.97ID:HLpzPaCj>>610
君らは自分の過去を無かったものにするのだな
別の本なりネットなりで勉学した初心者時代があっただろう
記憶喪失になったかな?
0613デフォルトの名無しさん
2016/06/08(水) 17:13:12.10ID:2v7uDDwq初心者の勘違い防止とステマ防止のためなら何度でも言うが
一番重要なのはHTTP、DNS、HTMLの仕組みの理解を深めることであって
phpに関する学習は基本的にphp.netで十分
あとはプロセスだのスレッドだのファイルシステムだのSSL/TLSだのをレベルと必要性に応じて学べば足りる
0614デフォルトの名無しさん
2016/06/08(水) 17:51:55.00ID:ZBwXDrqRLAMPで構成されることが多いしCMSもMVCフレームワークも豊富で困らないけどCakePHP推しはちょっと古いかもな
ORMは使わないことが多く、結局PHPよりSQLの知識の方が需要あるんだよね
0615デフォルトの名無しさん
2016/06/08(水) 18:01:25.33ID:lrS0iOEg0616デフォルトの名無しさん
2016/06/08(水) 18:05:39.32ID:jZ2+9jcAsyslog(LOG_DEBUG,'debug');
syslog(LOG_NOTICE,'notice');
こうすると、debugだけ/var/log/messagesに記録されていません
開発時にはDEBUGなどの定数を設定しておいて
その時にはLOG_DEBUGも出力される
開発が終わればLOG_DEBUGは出力しない
みたいなことをやりたいのですが
どうやれば出来ますか?
0617デフォルトの名無しさん
2016/06/08(水) 18:26:10.13ID:PuNp4sprlog出力をライブラリ利用するかラッパーかまして自分で制御しては
syslogは開発完了後も使う前提だと思うけど
0618デフォルトの名無しさん
2016/06/08(水) 18:27:46.41ID:v2PxA+KYフレームワーク使うにしてもそれに合わせた設計や規約を作らないといけないんだから、それほど意志疎通の手間を省くこともできないしそれ程素晴らしいとも思えないがなぁ。
もちろん自分達で一から書くよりはマシだろうという期待はあるが、フレームワーク自体のメンテナンスも必要になってくるしねぇ。
0619デフォルトの名無しさん
2016/06/08(水) 18:33:06.92ID:lrS0iOEg> フレームワーク使うにしてもそれに合わせた設計や規約を作らないといけないんだから、
使わない方が大変な気がするが
> それほど意志疎通の手間を省くこともできないし
共通基盤部分の意思疎通は不要だし、わからないこともWebで調べることができるというメリットがある
0620デフォルトの名無しさん
2016/06/08(水) 18:38:13.16ID:jZ2+9jcALOG_〜はsyslogに対しての指定なのですね
どうもその辺りが分かってなくて
ありがとうございました
0621デフォルトの名無しさん
2016/06/08(水) 18:40:18.38ID:Y0v6vn2Eフレームワーク嫌いになるし、MVC勘違いするしでいい事なんにもねぇよ。
0622デフォルトの名無しさん
2016/06/08(水) 18:40:30.18ID:mGCA+lkacgi,phpをhtmlで表示する方法を知りたかったんだけど
素人はいじらない方いいってこと?検索して探しまくったけど細かく説明してるサイトがないんだよね
配布してるサイトには全く触れてないしさ
0623デフォルトの名無しさん
2016/06/08(水) 18:44:05.32ID:Y0v6vn2EPHPのフレームワークなんてどれもおんなじ。
使いまわせるライブラリやフレームワーク自体を作ることが出来無い低レベルの会社か、
人の入れ替わりの激しい人買いくらいしかPHPの有名どころのフレームワーク使う恩恵なんてない。
0624デフォルトの名無しさん
2016/06/08(水) 18:45:20.25ID:Y0v6vn2Eそういうことはしない方がいいってわかってるから情報も少ない。
まぁ、ぐぐりまくれ。いい勉強にはなる。
0625デフォルトの名無しさん
2016/06/08(水) 19:53:45.61ID:cqVMGaEHhtmlでもPHPが動くようにapache設定するといいよ
0626デフォルトの名無しさん
2016/06/08(水) 21:28:57.46ID:E3Y0fydP一つ設定を変えると、またそれによって動かなくなるものが出てくる
それで大変だから、慣例に従うのよ。
素人は解決能力が無いので、変わったことをしない方がいい
たいてい、2chに居つく素人は、そういう変更をした人。
ずっと解決できなくて、2chに居つくw
0627デフォルトの名無しさん
2016/06/08(水) 23:12:26.27ID:gbxJmrOf0628デフォルトの名無しさん
2016/06/09(木) 05:24:32.22ID:Z+K8nZfh最後の二行なんか、まるで自己紹介かと思うくらいに真実味があるな。
0629uy ◆e6.oHu1j.o
2016/06/09(木) 07:58:20.47ID:soxVcx2A<h1><?php echo "ruby"; ?></h1>
これは純粋なHTMLコードよりサーバーに行わせる処理が多いものと思いますけど
気にしたほうが良い負荷ですか?
全てのページでこういう事やるのは避けたほうが良いですか?
0630デフォルトの名無しさん
2016/06/09(木) 08:31:49.73ID:udAwsxyk変更が有った時に幹に向かって破棄ビットを立てる。
変更があっても関連の無いノードのキャッシュは依然有効なまま。
変更が無い限り出力はキャッシュ済みでメモリー上にあるので最速。
まあセッションごとに起動される建前のPHPでは無理だけど。
0631デフォルトの名無しさん
2016/06/09(木) 11:41:49.74ID:I0vdXVFT$this -> hogehoge() みたいにしちゃダメ?
0632デフォルトの名無しさん
2016/06/09(木) 12:52:46.82ID:1e+LEmpuそういうことする為にwebプログラム言語はあるんだ。
0633デフォルトの名無しさん
2016/06/09(木) 18:58:43.72ID:Z+K8nZfh0634デフォルトの名無しさん
2016/06/09(木) 21:48:33.33ID:gOehAXHk子プロセスが全部終了するのを親が待つのは
作った子の数だけpcntl_waitすればいいのでしょうか?
子が死んだ時に待ってる制御が必ず戻ってくるのか、
というところに不安があります
もし待っているのに制御が戻らないと、永久ループになりますよね
そのへんは心配いらないのでしょうか?
0635デフォルトの名無しさん
2016/06/09(木) 21:49:19.88ID:gOehAXHk○子が死んだ時に制御が必ず戻ってくるのか
でした
0636デフォルトの名無しさん
2016/06/09(木) 22:59:36.92ID:gOehAXHkfor ($i=0; $i<5; $i++){
$pid = pcntl_fork();
if (!$pid){
echo getmypid()." forked\n";
sleep(100);
exit();
}else{
$childPidList[] = $pid;
}
}
while (count($childPidList)){
$pid = pcntl_wait($status);
$idx = array_search($pid,$childPidList);
unset($childPidList[$idx]);
echo "{$pid} ended\n";
}
こんな風にしてからkill -9で子プロセスを外から強制終了させても、
ちゃんと制御が戻りました
心配しなくても良さそうですね?
0637デフォルトの名無しさん
2016/06/10(金) 03:12:35.40ID:0e6lKjME0638デフォルトの名無しさん
2016/06/10(金) 04:50:15.18ID:9JKXGlcvIDE使ってれば勝手に教えてくれる。
まだテキストエディタで書いてるのか?
0639デフォルトの名無しさん
2016/06/10(金) 08:24:36.60ID:PSfQ4+av0640デフォルトの名無しさん
2016/06/10(金) 10:09:46.35ID:mlu6vup/Mode.jsなら何でも出来る
0641デフォルトの名無しさん
2016/06/10(金) 10:19:00.19ID:QeldepT2「変数が再定義されています。予期しない不具合を避けるため別の名前を用いて下さい」とかまで言ってくれるぞ。可愛いだろ?時々ぶっ壊したくなるけど。
0642デフォルトの名無しさん
2016/06/10(金) 10:21:02.62ID:wJTDb5hOいい加減古いPCは捨てろよ
0643デフォルトの名無しさん
2016/06/10(金) 11:16:48.36ID:vAcnizogこうしたFTP機能があるIDEってある?
0644デフォルトの名無しさん
2016/06/10(金) 12:29:34.80ID:QeldepT2そういう事はやらんからよく知らんけどやってる奴は見た。
0645デフォルトの名無しさん
2016/06/10(金) 12:54:52.57ID:vAcnizogありがとう。
IDEは重いから避けてたけど、勉強がてらもう一度やってみます。
0646デフォルトの名無しさん
2016/06/10(金) 14:36:45.66ID:VX0S6iFV覚えやすいコツありますか?
0647デフォルトの名無しさん
2016/06/10(金) 14:38:09.38ID:VX0S6iFVarrayをサーチするんだからarrayの方が先やろ→誤
となります
0648デフォルトの名無しさん
2016/06/10(金) 15:57:07.05ID:gE4dMqOe覚えることを諦めてIDEに教えてもらう
0649デフォルトの名無しさん
2016/06/10(金) 18:47:17.98ID:9JKXGlcvいい流れだ。腕を上げたな。
>>646
覚えなくてもいいから何が何でもphp.net検索しろ。
たまに下の方まで読むといろいろためになる情報が書いてあったりする。
0650デフォルトの名無しさん
2016/06/10(金) 18:50:21.21ID:9JKXGlcvそういうのはJavaScriptみたいなのがいいよな。
array.join(",") みたいなの。ずっと分かりやすい。
Rubyもこんな感じだったっけか。
0651デフォルトの名無しさん
2016/06/10(金) 18:54:05.44ID:TQGlf4QP0652デフォルトの名無しさん
2016/06/10(金) 19:02:50.34ID:4O+4qcPo0653デフォルトの名無しさん
2016/06/10(金) 19:31:49.15ID:9JKXGlcvPHPStormは有償だから必ずしも職場で使えるとは限らない。
使えればラッキーだが、使えなかった時の事も考えておかなければならない。
0654デフォルトの名無しさん
2016/06/10(金) 20:18:43.09ID:nh6LPx54なんで特定の本の話題出してそれに答えなきゃならんのか
もってること前提で質問されてもここはサポセンじゃないわけでな
ちなみに本に頼ったことなどない
0655デフォルトの名無しさん
2016/06/10(金) 20:26:02.28ID:TQGlf4QP亀レスにも程が有るのでは?
0656デフォルトの名無しさん
2016/06/11(土) 02:22:58.71ID:BPhbrCpU0657デフォルトの名無しさん
2016/06/11(土) 05:12:42.04ID:YhzsbXwG0658デフォルトの名無しさん
2016/06/11(土) 06:46:43.40ID:U0YLx5iK普通は時間とタイミングを考慮する。
0659デフォルトの名無しさん
2016/06/11(土) 11:22:18.74ID:7IE41uX0→ロック
→読み込んで配列にunserialize
→配列の内容を変更
→配列をserializeしてファイルに書き込み
→ロック解除
ということをやりたいのですが、
ロックする前の、もしファイルがなければ作成する、という処理の部分は
排他的ではないので、変なことが起きる可能性があるんじゃないかという気がします
どうなんでしょうか?
0660デフォルトの名無しさん
2016/06/11(土) 11:35:30.80ID:BbMy6dfc其の通り
0661デフォルトの名無しさん
2016/06/11(土) 12:05:21.84ID:U0YLx5iKわざわざファイル操作で頭悩まさると禿げるんだぬー
0662デフォルトの名無しさん
2016/06/11(土) 12:11:12.11ID:7IE41uX0どうすれば問題が出ないようにできますか?
0663デフォルトの名無しさん
2016/06/11(土) 12:18:20.33ID:enSm4S6w動作させるOSによって色々方法はある
0664デフォルトの名無しさん
2016/06/11(土) 12:21:08.46ID:e5AOazPt0665デフォルトの名無しさん
2016/06/11(土) 12:24:02.14ID:enSm4S6w→ファイル操作
→ロック解除
0666デフォルトの名無しさん
2016/06/11(土) 12:30:39.02ID:rc3AwP02DBならそういう心配しなくていいと思ってるからお前禿げてるんだろ?
0667デフォルトの名無しさん
2016/06/11(土) 12:34:32.72ID:vIdecit0オープンと無ければ作成は同時にできる。
そこで取得したハンドルを flock すれば何の問題も無い。
でも、ロックファイルと本当に読みたいファイルは分けておくと何かといいと思う。
ロック方式を変える場合とか、データファイルの読み書きに fread じゃなく fire_get_contents とか include とか使いたいとか、
いろいろと融通が利くようになるから。
一度やれば面倒なんてことはないから、たったそれだけのために DB に走るのはまだ早い。
0668デフォルトの名無しさん
2016/06/11(土) 12:40:53.02ID:vIdecit0$lock = fopen('.lock', 'a');
flock($lock, LOCK_EX);
<排他されたコード>
fclose($lock);
排他されたコードとして、データファイル読んで操作して更新する処理を書けばいい。
更新の仕方を工夫すると、共有ロックと排他ロックを使い分けて同時アクセス時のパフォーマンスも上げられる。
0669デフォルトの名無しさん
2016/06/11(土) 13:02:26.63ID:U0YLx5iKDBはそういうこといちいち考えなくても大丈夫な仕組みがいっぱいあるんだぬー
そんな事もわからないからおまえは666とか不吉な数字なんだぬー
おまえみたいなとんちきはオジー・オズボーンと一緒に田舎のババアから十字架持って追いかけられるといいんだぬー
アホが治るぬー
0670デフォルトの名無しさん
2016/06/11(土) 13:05:21.79ID:U0YLx5iK> fire_get_contents とか
あうあうあうあうあうあうあうあうあう…
やばいよやばいよやばいよ… いろいろやばいよ…
0671デフォルトの名無しさん
2016/06/11(土) 13:06:01.45ID:rc3AwP02その大丈夫な仕組みが>>668みたいなコードなわけだけど
DBとファイルでやってることが根本的に違うわけでもなしに
言ってることもキチガイじみてるし病院いったほうがいいよ^^;;
0672デフォルトの名無しさん
2016/06/11(土) 13:06:40.55ID:U0YLx5iK後で読み返す。
0673デフォルトの名無しさん
2016/06/11(土) 13:07:43.11ID:U0YLx5iKだったらおまえはずっとファイル操作でしこしこやってたらいいんだぬー
0674デフォルトの名無しさん
2016/06/11(土) 13:09:52.19ID:vIdecit0燃えそうw
0675デフォルトの名無しさん
2016/06/11(土) 13:10:00.47ID:rc3AwP02だからお前のコードはデッドロックばっかおこしてるんだぜ
0676デフォルトの名無しさん
2016/06/11(土) 13:14:29.55ID:U0YLx5iKデッドロックなんて気にしてるってことがおまえがアホみたいな事やってる証拠なんだぬー
俺様はそんなしんぱいしなくてもいいようにシステムを作るので全く無縁の話なんだぬー
0677デフォルトの名無しさん
2016/06/11(土) 13:16:52.88ID:U0YLx5iKファイルをロックしていても読める関数使えって事らしいから、
本物のアホではないみたいだぬー
ただ、やってることが旧時代的でアホらしくてやってられないんでぬー
0678デフォルトの名無しさん
2016/06/11(土) 13:19:18.72ID:vIdecit0排他する対象がひとつの DB の内容だけにとどまっていれば適当にやってもそうそうデッドロックしないかもしれないけどな。
余所の DB やシステムと連携したり限られたデバイスやリソースを共有するとか、排他は奥が深いぞ。
0679デフォルトの名無しさん
2016/06/11(土) 13:24:19.64ID:U0YLx5iKその事と本件が何の関係があるんだぬー
ファイルロックしてれば他所のシステムと連携した場合でも簡単に排他できるのかぬー?
よっぽど大変になるのが目にみえてるんだぬー
おまえが物事の深さを語るのは108年早いんだぬー
0680デフォルトの名無しさん
2016/06/11(土) 13:25:50.01ID:vIdecit0ファイルロックがあれば基本的になんでも排他できるだろ。
セマフォとか知らないか?
あれも実装によってはファイルロックだぞ。
0681デフォルトの名無しさん
2016/06/11(土) 13:30:10.44ID:vIdecit0でもいろんな応用をするための基礎だからやっとけって。
0682デフォルトの名無しさん
2016/06/11(土) 13:36:56.47ID:U0YLx5iK「なんでも排他できるだろ」っておまえはアホかぬ?
排他する事だけがシステムの目的みたいになってるアホ発言だぬー
そんなにはいたいなら医者行けばいいぬー
ファイルで取り回すよりDB使ったほうがやれることがはるかに膨大なんだぬー
排他なんてそのうちのほんの1メリットだぬー
だったらDB使っちゃったほうがお得だぬー
とか言ってると、「DB使えない場合はどうすんだ」とか言うアホがでてくるんだぬー
だから今のうちに言っとくぬー
一般的でないケースの事なんか知るかハゲ!
0683デフォルトの名無しさん
2016/06/11(土) 13:38:31.55ID:U0YLx5iKDBは今時常識だからやっとけって。
0684デフォルトの名無しさん
2016/06/11(土) 13:41:00.34ID:c3/xDSGsif (flock($lock, LOCK_EX)) { ... }
という風に失敗した場合の分岐を用意しよう
また新しいPHP(5.3.2以降)では手動でflock($lock, LOCK_UN)する必要があるらしい
0685デフォルトの名無しさん
2016/06/11(土) 13:42:44.74ID:vIdecit0DB 使うなとは言ってないぞ。
手持ちのカードが多ければ好きに使い分けられるだろ。
お前はアクセスカウンター作るにもDB使うんだろうが、その選択しかできないのであれば潰しがきかないぞ。
0686デフォルトの名無しさん
2016/06/11(土) 13:43:06.58ID:U0YLx5iKおまえら、人生楽しそうだぬー
0687デフォルトの名無しさん
2016/06/11(土) 13:45:16.50ID:U0YLx5iKファイル操作にこだわってるお前のほうが潰しきかないから他人の心配してる暇ないんじゃないかぬー?
0688デフォルトの名無しさん
2016/06/11(土) 13:46:22.53ID:vIdecit0LOCK_UN 必須の件は初耳だったけど、それ本当?
この辺の機能は OS の機能をそのまま使ってて、そんなに差がでる部分じゃないというか、ハンドル閉じてロックだけ残るってどういう事情だよって感じだが。
ハンドルを複製してるケースとかかな?
0689デフォルトの名無しさん
2016/06/11(土) 13:49:14.38ID:U0YLx5iKおまえが調べてQiitaにでもまとめといてくれぬ。
必要になった時に見てやるぬ。
それまでは俺様は優雅にDB使ってるぬ。
0690デフォルトの名無しさん
2016/06/11(土) 13:53:03.18ID:vIdecit05.3.3 で試したけど、少なくとも >>668 の使い方では LOCK_UN の明示は要らないね。
0691デフォルトの名無しさん
2016/06/11(土) 13:55:02.40ID:c3/xDSGsついさっき確認したら変更履歴にそう書いてあったからであって、俺は検証してないよ
http://php.net/manual/ja/function.flock.php
どうなるのか想像でしかないが、解放しないと2度目からFALSE返すとかじゃね
0692デフォルトの名無しさん
2016/06/11(土) 13:57:05.92ID:U0YLx5iK0693デフォルトの名無しさん
2016/06/11(土) 13:58:16.03ID:U0YLx5iK結局心が強いんだろうな。
オレはチキンだから無理だぬー
0694デフォルトの名無しさん
2016/06/11(土) 14:18:34.99ID:a1oB3JFl0695デフォルトの名無しさん
2016/06/11(土) 14:24:21.01ID:U0YLx5iK0696デフォルトの名無しさん
2016/06/11(土) 14:29:21.37ID:U0YLx5iK0697デフォルトの名無しさん
2016/06/11(土) 14:39:42.63ID:a1oB3JFl0698デフォルトの名無しさん
2016/06/11(土) 14:46:49.83ID:7IE41uX0ロック用ファイルを別に用意するんですね
ありがとうございます
ちなみにやたらdbを推してる狂人がいますが
今書いてるのはなるべく他のプログラムを使いたくないものなので、
今のところdbは考えていません
0699デフォルトの名無しさん
2016/06/11(土) 14:54:08.42ID:U0YLx5iK自己紹介乙
このスレの参加者は自己紹介だけは得意だ
0700デフォルトの名無しさん
2016/06/11(土) 14:55:15.54ID:U0YLx5iKなんか修行でもしてるんだ。学生は暇でいいね。
0701デフォルトの名無しさん
2016/06/11(土) 14:57:12.43ID:U0YLx5iK脳みそが崩壊してる。
0702デフォルトの名無しさん
2016/06/11(土) 15:36:01.25ID:a1oB3JFl0703デフォルトの名無しさん
2016/06/11(土) 15:43:02.88ID:U0YLx5iK0704デフォルトの名無しさん
2016/06/11(土) 15:45:49.48ID:U0YLx5iK0705デフォルトの名無しさん
2016/06/11(土) 15:59:10.40ID:a1oB3JFlここはストレス発散のはけ口じゃないんだよ!!!
0706デフォルトの名無しさん
2016/06/11(土) 16:05:51.89ID:U0YLx5iK0707デフォルトの名無しさん
2016/06/11(土) 16:06:40.12ID:U0YLx5iK0708デフォルトの名無しさん
2016/06/11(土) 16:08:50.21ID:a1oB3JFl0709デフォルトの名無しさん
2016/06/11(土) 16:11:06.58ID:ZgIjL8Zcスクリプト止まらないしエラー吐かないしで何が悪いのか全然わからなくて立ち往生状態だった
>>698
serializeほど楽じゃないが別途db用デーモンを起動させとかなくていいsqliteは便利
そういや手軽なdbの話じゃ最近berkeley dbの名前を全然見ないな…なんでだ
0710デフォルトの名無しさん
2016/06/11(土) 16:11:26.13ID:BbMy6dfc0711668
2016/06/11(土) 16:16:02.35ID:0LrYNLoc>>684 の情報により、fclose の前に flock($lock, LOCK_UN) を入れてね。
あと flock 使った排他で重要なところは、処理が終わってもロックファイルを消しちゃダメということ。
ロックファイルの存在確認式なんかだと処理が終わったらロックファイルを消す必要があるけど、flock式はそうじゃない。
同一のファイル(パスではなく inode)をオープンすることでロックをかけるから、消して作り直しても同じファイルにはならずその間でのロックがかからない。
あと、NFS 領域に対しては flock が使えない場合があるから、それは制限事項として覚えておいて。
といった具合に説明すると長くなるけど、コードはシンプルだから覚えておいて損は無いよ。
0712デフォルトの名無しさん
2016/06/11(土) 16:24:29.25ID:ZgIjL8Zcいや違う、falseを返すとかじゃなくてデッドロックを引き起こす
延々とロック取得待ち状態になってkillしなきゃいけなくなる
0713デフォルトの名無しさん
2016/06/11(土) 19:09:00.14ID:U0YLx5iK俺は頭痛い…
0714デフォルトの名無しさん
2016/06/11(土) 19:12:41.27ID:U0YLx5iK0715デフォルトの名無しさん
2016/06/11(土) 21:39:16.03ID:vIdecit0マニュアルに書いてあることにケチつける気は全く無いんだけど、
Linux の 5.3.3 と Windows7 の 5.6.22 で実験しても、LOCK_UN が必要だと思われる挙動が認められない。
fclose だけでロックは外れるし、同プロセス内で同じハンドルに対してアンロックも fclose もしないまま 2重にロックを掛けてもデッドロックしない。
どういうケースで LOCK_UN の明示が必要なんだろう?
実験コードはこれ。
$lock = fopen('lock','a');
echo "start\n";
if(!flock($lock, LOCK_EX)) {
echo "fail 1\n";
exit(1);
}
echo "locked 1\n"; // ロック成功
if(!flock($lock, LOCK_EX)) {
echo "fail 2\n";
exit(1);
}
echo "locked 2\n"; // 二重ロックでもデッドロックしていない
fgets(STDIN); // ENTER が押されるまで待つ
fclose($lock); // アンロックせずクローズ
print "unlocked\n";
sleep(5); // プロセスの終了を引き延ばす(ロック残り状態があるならそれを維持する)
print "end\n";
0716デフォルトの名無しさん
2016/06/11(土) 22:15:24.50ID:ZgIjL8Zcすまんが712は単純に「LOCK_EXされたファイルへのLOCK_EX」の挙動を書いただけ
flockの仕様から同一プロセスからの多重flockは後に指定したLOCK_**に上書きされるだけ、なのも確実(winは知らん)
で、記憶掘り返しながらこっちでも試してみたけど>>715の言うとおり
同一プロセス内でも、別プロセスでも、fopen->flock->fclose->fopen->flock でデッドロックしなかった
flock($fh, LOCK_EX)絡みでデッドロックになってハマった記憶が確かにあるんだがなあ…しかも1プロセスで
昔書いたソースとメモを読んでるけど該当箇所が見つからん
0717デフォルトの名無しさん
2016/06/11(土) 22:25:33.55ID:U0YLx5iK0718デフォルトの名無しさん
2016/06/11(土) 22:43:11.56ID:vIdecit0アンロックも fclose もせずに fopen からやり直したに一票。
$lock = fopen('lock','a');
flock($lock, LOCK_EX);
echo "locked 1\n";
$lock = fopen('lock','a');
flock($lock, LOCK_EX);
echo "locked 2\n";
それは置いといて、仕様変更の事情が気になったので PHP のソースを読み始めた。
読んで分かるかは分からんけど、とりあえずソースを flock で grep したところから辿ってる。
0719デフォルトの名無しさん
2016/06/11(土) 22:53:40.15ID:U0YLx5iK0720デフォルトの名無しさん
2016/06/11(土) 23:21:54.93ID:u5pRtWh9なんか嘘くさいんで掘り下げてやろうと考えてます。
もしゲームプログラムするならこれは知ってて当然みたいな知識あったらそいつに仕掛けて反応見てみたいので教えてください。
0721デフォルトの名無しさん
2016/06/11(土) 23:27:06.01ID:u5pRtWh9ごめんなさい
0722デフォルトの名無しさん
2016/06/11(土) 23:36:10.98ID:ZgIjL8Zcそんな感じがしてきた。(だが718のコードだと$lockを上書きしちゃってるからデッドロックは起きない)
同一のファイルを二重に開いて別々にファイルハンドルを保持し別々にflockしたとき
片方だけでもfcloseしたら両方LOCK_UNされることの対策か、とも思ったけど
実際に下記を手元のwin-5.2.0とlinux-5.1.6とlinux-5.6.8で試してみたら、どうも違うようだ
$file = './flock.lock';
$fh1 = fopen($file, 'a'); flock($fh1, LOCK_SH);
$fh2 = fopen($file, 'a'); flock($fh2, LOCK_SH);
fclose($fh1);
$fh3 = fopen($file, 'a'); flock($fh3, LOCK_EX); // いずれもここでデッドロックが発生
わからん
0723デフォルトの名無しさん
2016/06/11(土) 23:46:33.60ID:vIdecit0上書きしてるから起こるんだよ、オブジェクトみたいに変数上書きしたら参照が無くなった方が勝手に破棄されるんじゃないから。
でも本質は、一つのハンドルには何度繰り返しロックをしてもスルーされるけど、一つのファイルでも別個の 2つのハンドルを取得しちゃった場合、
その両方にロックを掛けたらそりゃ 2度目の方はブロックされるという点。
意図せずこのバグを引き起こすケースとしてはこんな感じじゃね。
$lock = fopen('lock','a');
flock($lock, LOCK_EX);
<なんかの処理、でもうっかり $lock の値を壊してしまう>
fclose($lock); // ロックを解放したつもりだけど、$lock が正しいハンドルを示していないから失敗、ハンドルリーク
$lock = fopen('lock','a');
flock($lock, LOCK_EX); // 二度目のロック、同じファイルだけどさっきのロック取得済みのハンドルとは別ハンドルになるからロックを取得できない
:
0724デフォルトの名無しさん
2016/06/11(土) 23:50:10.54ID:vIdecit0ごめんうそ言った。
ハンドルを上書きしたらクローズされてるみたいね?
なので >>723 は忘れて。
0725デフォルトの名無しさん
2016/06/11(土) 23:57:31.23ID:ZgIjL8Zc気にすんな
しかしこうなると真面目に手動LOCK_UNの意味・有効な場面がわからなくなってくるな
というかfclose/flock仕様変更の前後の差異がわからん
0726デフォルトの名無しさん
2016/06/12(日) 04:10:30.87ID:p2hTIoUvhttp://tumblr.tokumaru.org/post/37141017115/
0727デフォルトの名無しさん
2016/06/12(日) 04:35:52.53ID:jxNAYoxLやってはいけないことや守るべきことをコードの中で示すことができますが
フォークすることによって起きる事態に対しては無力だと思います
たとえば、プロセスidを入れ込んだファイルパスは、
その都度getmypidを呼んで生成しなければいけない、
というようなことを、コードのシンタックスによって示すことは出来ませんよね
コードのどこかでフォークしているということに気付かずに
いちいち毎回作り直さずにキャッシュすればいい、と思うことはありそうです
いい方法はないでしょうか?
0728デフォルトの名無しさん
2016/06/12(日) 07:55:29.22ID:4xmbllsr参考になった。ありがとう。
でもこれ、system関数のバグなんじゃね?
内部で fork した後、親プロセスから継承したハンドルを閉じてないんじゃ?
そこのデッドロックのサンプルだと、デッドロック中はロックファイルの lsof は子プロセス側に 2件ある。
5.3.2 での改修ポイントが間違ってたんじゃないのかなぁ…
少なくとも OS のシステムコールレベルではハンドルを閉じればロックも否応なく外れちゃうし、これは Unix系も Windows も一緒なはずだが。
0729デフォルトの名無しさん
2016/06/12(日) 08:18:59.24ID:4xmbllsrやっぱ子プロセスが継承したハンドル持ちっぱなしだよ。
当然マルチプロセスの処理を書く時にはそれを意図的に利用したいことはあるけど、PHP だったら内部で exec系を行う前にはスクリプトで開いたハンドルは全部クローズするべきなんじゃないのかね。
ただ現象が起こる理由は分かったから、それに基づけば明示的なアンロックが無くても影響があるところはほとんど無さそうだと判断するけどな。
0730デフォルトの名無しさん
2016/06/12(日) 13:06:26.58ID:0JopogCGflock() によって作られるロックは、 オープンファイル記述 (open file description) (open(2) 参照) と
関連付けられる。 したがって、ファイルディスクリプターの複製 (fork(2) や dup(2) などにより作成
される) は同じロックを参照し、 これらのファイルディスクリプターのどれを使っても このロックを
変更したり解放したりできる。 また、ロックの解放は、 上記の複数のファイルディスクリプターの
いずれかに対して 明示的に LOCK_UN 操作を指示した場合か、これらのファイルディスクリプターが
すべて 閉じられた場合に行われる
というもので、phpのfclose関数の中でわざわざLOCK_UNしてたのは余計なお世話
で本来の動作を阻害していたから5.3.2でやめたって理解でいいんだろうか。
0731デフォルトの名無しさん
2016/06/12(日) 13:26:47.31ID:4xmbllsrうん、よくよく考えると
> というもので、phpのfclose関数の中でわざわざLOCK_UNしてたのは余計なお世話
ということが正しいと思う。
元々マルチプロセスなプログラミングで自動で複製されるファイルディスクリプタの扱いはプログラマが意識する必要があって、複製の後始末をせずにロックが残ることがあるのはそもそも設計ミス。
こういうことをフォローするために PHP では fclose でのついでに自動でアンロックが走るようにしていたけど、そうると親子プロセスの一方で不要になったディスクリプタを閉じただけでロックまで外れちゃうという問題を引き起こす。
だったらリソースの管理はやっぱりプログラマに任せるって判断が妥当なんだろう。
互換性の点でも、そもそもディスクリプタの複製が行われるケース(恐らく PHP では fork を伴う何か)と関係無ければ fclose だけでロックは解放されるから問題は無いし、
複製が行われるような処理ではアンロックの必要性についてはプログラマが意識していてしかるべきだから、
結局のところ fclose にアンロックを合わせこむのをやめるのが正解だな。
ただ system をはじめとするシェル系の関数は気軽に使いがちだから、子プロセスのハングアップでロック残りが起こる可能性は身近かもしれないね。
これまでアンロックせず動いてたスクリプトを無理やり改修する必要までは無いけど、これから書くならアンロックは明示しとけってことだな。
久々に勉強になった。
0732デフォルトの名無しさん
2016/06/12(日) 14:20:54.54ID:QWuFqOwW使う機会あるといいけどな。
0733デフォルトの名無しさん
2016/06/12(日) 14:39:38.95ID:Y/PMYUAuexecしたphp以外のプロセスがロックしててもphpのロックには関係ないし
どんなプロセスでもプロセスが終わればロック解放されるんだから
0734デフォルトの名無しさん
2016/06/12(日) 15:10:09.70ID:3j0TR14yハングして終了しなければ殺すまでロックしっぱなしだろ
0735デフォルトの名無しさん
2016/06/12(日) 15:21:03.49ID:3j0TR14yPHPでファイルを開きロックをした状態で、例えば system で別プロセスを起動したとする。
このプロセスは、PHP で開いていたファイルディスクリプタの複製を持つ。
ディスクリプタが複製されても取得しているロックはひとつで、このディスクリプタのいずれかでアンロックすればロックは解放される。
誰もアンロックしなかった場合、そのロックに紐付く全てのディスクリプタが閉じられた場合に解放する。
つまりディスクリプタの複製を持った子プロセスがそれを閉じないままハングした場合、親プロセスがディスクリプタを閉じてもロックは解放されず、子プロセスを殺すまでロックされたままになる。
ちなみに子プロセスがPHPかどうかは関係無い。
0736デフォルトの名無しさん
2016/06/12(日) 15:29:21.61ID:jxNAYoxLrealpathで出来ると思っていたのですが
まだファイルが存在しない時点では結果がfalseになるので駄目でした
0737デフォルトの名無しさん
2016/06/12(日) 16:09:50.68ID:hcrF9o1u標準関数にはない。
Packagistには恐らくあるだろう。
0738デフォルトの名無しさん
2016/06/12(日) 17:23:27.51ID:jxNAYoxLありがとうございます
packagistというところから辿ったらありました
https://github.com/perchten/php-truepath/blob/master/src/truepath.php
0739デフォルトの名無しさん
2016/06/12(日) 17:28:53.54ID:pWHiM9s7ここまで議論しといて残さなかったらPHPerとして恥だし
0740デフォルトの名無しさん
2016/06/12(日) 17:51:52.67ID:SdG9GRKe0741デフォルトの名無しさん
2016/06/12(日) 18:52:27.13ID:Y/PMYUAuあるファイルをphpで有効にLOCK_EXしても別プロセスで起動したviには何も影響しないと認識していたが?
だからphp以外をexecしてロックが生じてもphpの記述には関係がない=fclose前のLOCK_UNに関係ない
ある.php内であるいはexecで呼び出した.phpでファイルロックが起きてもmax_execution_timeの縛りで強制終了すればロックは解ける
ゆえに「ロック残り」とやらで掴みっぱなしになることはそうそうない、そう認識していたんだが
0742デフォルトの名無しさん
2016/06/12(日) 18:52:38.31ID:QKWa7och0743デフォルトの名無しさん
2016/06/12(日) 19:03:36.38ID:4xmbllsrflock によるロックって別のプロセスからのファイルアクセスを禁止するわけじゃないから。
同時にロックを取得できないだけであり、それによって「ロックを取得しようとするプロセス同士」を排他するわけ。
ロックを取得しようとしないプロセスはロックされたファイルであろうとアクセスし放題だよ、例えば vi とかね。
Windows では他のプロセスからのファイルアクセスを禁止することもできるけどな。
0744デフォルトの名無しさん
2016/06/12(日) 19:06:30.53ID:QKWa7ochヨー、チェケラッチョー
0745デフォルトの名無しさん
2016/06/12(日) 19:15:10.09ID:Y/PMYUAuあれviってflock使ってなかったっけ?まあいいや他のなんでもいいんだが
本旨はphpにおける明示的flock($lock,LOCK_UN)の必要性だろう、それが他プロセスとどう関わるんだ
結局どういうときにLOCK_UNしないと「ロック残り」が起こるんだ
0746デフォルトの名無しさん
2016/06/12(日) 19:35:01.71ID:4xmbllsr>>726 の実験コードで再現できるよ。
デッドロックのメカニズムはこう。
まず a.php でファイルを開き、ロックする。
そして system で b.php を開く(別に PHP である必要は無い)。
この段階で b.php は、a.php が開いていたファイルの fd(ファイルディスクリプタ)の複製を継承する。
b.php は継承した fd とは別に自前でファイルを開き、ロックしようとする。
ロック済みのファイルに対してロックしようとするから、これはブロックする。
この間 a.php は処理が進み、fclose が走る(*1)。
プログラマーの意図としてはここでロックも自動的に解放されると思っているが、このロックを共有する fd を b.php が閉じずに持っているので、まだロックは解放されない。
a.php は終了するがロックは解放されないので、b.php のブロックが解けることも無くデッドロックする。
このスクリプトをデッドロックさせずに走らせるためには、*1 の前に LOCK_UN するのが一案(PHP においては唯一の手段)。
これにより b.php は継承した fd を開かれたまま持ってはいるが(ある種のリソースリーク状態)、ロックは a.php により解放されるので、b.php が自分で開いた fd に対するロックを取得でき、処理が進行する。
もう一案は、PHP では実現不能だと思うけど、b.php が走り出した直後に継承した fd を閉じること。
PHP からは継承した fd の存在が見えないし、fd を知ることができたところで何もできないから詰むけど、fd を操作できる処理系ではそれが可能だし、むしろ常套手段。
ようは、何かのファイルをロックしたまま子プロセスを立ち上げ、その子プロセスが同じファイルのロックを取得しようとするかなり限定されたケースでは LOCK_UN が必要。
0747デフォルトの名無しさん
2016/06/12(日) 19:43:46.46ID:4xmbllsr多分 PHP の設計者もそう思って、そうしていたんだろう。
でも pcntl_fork なんてことができるようになると、それじゃ問題が出るケースにぶち当たる。
通常 fork してもやっぱり親が持っていた fd は子プロセスに継承されるし、pcntl_fork に関して言えば継承された fd はファイルハンドルの形で PHP から操作できる状態で見えている。
通常マルチプロセスの処理は、親が持っていた fd はじめいろいろなものを継承してしまうので、子にとって不要なものを閉じてしまうというのが最初にやること。
親がロックを取得した fd をそのまま親と子で共有するなんてことはめったに無いから、親なり子なりでその fd を閉じる処理を書くことになる。
この時 LOCK_UN が自動的に走るようになっていると、そのロックを必要としている方のプロセスが持つロックまで解放され、非常に具合が悪い。
だから fclose で勝手に LOCK_UN するなんてのは余計なお世話以外の何物でもない。
というわけで、fclose で LOCK_UN しないようになったと、こういうことだよ。
0748デフォルトの名無しさん
2016/06/12(日) 19:49:34.59ID:4xmbllsr> 親がロックを取得した fd をそのまま親と子で共有するなんてことはめったに無いから、親なり子なりでその fd を閉じる処理を書くことになる。
ちょっと誤解を招くかもしれないから捕捉。
親がロックを取得した fd をそのまま親と子で共有するなんてことはめったに無いから、
その fd はどちらか一方にとっては不要であるから、そちらのプロセスでは最初にその fd を閉じる処理を書く。
0749デフォルトの名無しさん
2016/06/12(日) 19:58:20.79ID:p2hTIoUvプロセスが生きている間においては「ロック残り」が発生するが、どうせ死ぬから問題ないというスタンスだとすれば、
max_execution_timeを0にした場合や、(初期値が0である)CLIの場合は生き続けるよ。
0750デフォルトの名無しさん
2016/06/12(日) 20:37:09.64ID:SRdEl8UGハイパー テキストマークアップ ラングアゲ
0751デフォルトの名無しさん
2016/06/12(日) 21:40:22.72ID:ETS5lku+0752デフォルトの名無しさん
2016/06/13(月) 09:32:27.21ID:Mgx0zrpDステップごとにそれぞれの変数の中身がどうなってるか簡単にわかるとうれしい
0753デフォルトの名無しさん
2016/06/13(月) 13:49:19.06ID:XIduanRK0754デフォルトの名無しさん
2016/06/13(月) 14:23:37.32ID:TYgkMCrQコールバックにオブジェクトメソッドを指定して、オブジェクトに他のパラメータを持たせるとか?
0755デフォルトの名無しさん
2016/06/13(月) 14:36:57.48ID:TYgkMCrQfunction my_array_filter(array $input, $param)
{
return array_filter(
$input,
function($var) use($param) {
return $var <= $param;
}
);
}
$a=array(1,2,3,4,5);
print_r(my_array_filter($a, 2));
print_r(my_array_filter($a, 4));
<実行結果>
Array
(
[0] => 1
[1] => 2
)
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
0756デフォルトの名無しさん
2016/06/13(月) 15:15:41.61ID:XIduanRKphpもクロージャ出来るようになってたんですね
ありがとうございます
0757デフォルトの名無しさん
2016/06/13(月) 16:04:29.44ID:poUAr+t+という発想が頭から離れなくて頭が基地外になりそうなんだけどプログラミングは向いてないよね?
ちなみに仕事はPG全く関係なくて異業種の作業員
0758デフォルトの名無しさん
2016/06/13(月) 18:18:38.79ID:Mj2HqjrQ0759デフォルトの名無しさん
2016/06/13(月) 18:53:18.04ID:I48wzFwG0760デフォルトの名無しさん
2016/06/14(火) 00:37:10.95ID:e/1BDrQk電気屋さんとか電波屋さんと仲良くなれそう
0761デフォルトの名無しさん
2016/06/14(火) 02:04:02.36ID:vpCPShaK0762デフォルトの名無しさん
2016/06/14(火) 03:26:27.75ID:E92ohJVI0763デフォルトの名無しさん
2016/06/14(火) 03:29:28.98ID:sdXnBDtj当初はあまりオブジェクト指向じゃなかったという点と、
現状の array をそのままオブジェクトとして見なす変更をしてしまうと array を関数の引数に取る場合に他のオブジェクトの扱い(array はコピー渡し、オブジェクトは参照渡し)と一貫性が取れなくなるから、今更どうにもできないってところじゃね。
それより、関数が返す array を直接添え字でアクセスできないのをなんとかして欲しい。
ようは explode(',', $str)[1] みたいにやりたいわけだが、この改修ならほとんど問題無くできそうな気がするけどな。
0764デフォルトの名無しさん
2016/06/14(火) 03:34:56.83ID:pjhL6UK+こうするのがせいぜいだが、これで妥協するか自分自身が開発に参加して改修するかだな
0765デフォルトの名無しさん
2016/06/14(火) 03:48:41.99ID:E92ohJVI0766デフォルトの名無しさん
2016/06/14(火) 05:18:59.07ID:jLlAbvBE0767デフォルトの名無しさん
2016/06/14(火) 09:39:15.99ID:1o9WExv+実装済みの>>766に加えて自前クラスでもArrayAccessインターフェイスを実装すれば配列のように扱えるクラスを実装出来る
0768デフォルトの名無しさん
2016/06/14(火) 10:25:21.42ID:ekIyBZy6バージョンアップできなくてつらくない?
0769デフォルトの名無しさん
2016/06/14(火) 11:58:51.69ID:vpCPShaKArrayObjectってあったんですね
探し方が足りなかったようです
やはり関数言語的な書き方をしようと思うと、生配列だと物足りなくなってきますね
ただArrayObjectも、関数言語的なメソッドは実装されてないようです
eachやmapやreduceなど
既にそういうの書いてる人はいるでしょうけど、
標準実装してほしいところです
0770デフォルトの名無しさん
2016/06/14(火) 12:23:57.32ID:nAMCA7y/explode(',', $str)[1] については
いつまでも古いバージョンのPHPつかってんじゃねーよってことだが。
0771デフォルトの名無しさん
2016/06/14(火) 17:44:21.80ID:vpCPShaKpublic function map($func){
foreach ($this as $key => $value){
$this[$key] = $func($value,$key);
}
return $this;
}
}
とりあえずmapを作ろうと上みたいな感じにしたのですが
インスタンスのmapを呼び出すとundefined functionと言われます
親クラスにないメソッドを追加することは出来ないのでしょうか?
だとしたらそんな制限は意味が不明すぎますが・・
0772デフォルトの名無しさん
2016/06/14(火) 19:05:12.07ID:4d00OzM80773デフォルトの名無しさん
2016/06/14(火) 19:26:39.01ID:E92ohJVI0774デフォルトの名無しさん
2016/06/14(火) 21:39:45.32ID:vpCPShaKあまりの非PHPっぽさに釣られて
$a.hoge();
みたいな書き方をしていました
0775デフォルトの名無しさん
2016/06/14(火) 23:57:10.36ID:sdXnBDtjあれ本当だ
いつの間にこうなった
0776デフォルトの名無しさん
2016/06/15(水) 00:30:10.47ID:yBESscco5.4からだから既に4年以上前
0777デフォルトの名無しさん
2016/06/15(水) 01:15:30.82ID:/9sc4puRnoticeも出る
0778デフォルトの名無しさん
2016/06/15(水) 02:58:03.10ID:6YnDO2OY0779デフォルトの名無しさん
2016/06/15(水) 09:56:12.92ID:35n6X8kmずっとそれ出来ないもんだと思ってた...
0780デフォルトの名無しさん
2016/06/15(水) 10:18:18.00ID:HJSiSv4s0781デフォルトの名無しさん
2016/06/15(水) 11:45:48.59ID:DNtAqMfa0782デフォルトの名無しさん
2016/06/15(水) 12:28:52.64ID:63gxNX9v使いやすくなることは喜ばしいが。
0783デフォルトの名無しさん
2016/06/15(水) 14:10:09.61ID:i5XubNZfPHPのどのバージョンから使えるコードなのかを判定する
ツール的なものはないのでしょうか?
0784デフォルトの名無しさん
2016/06/15(水) 14:13:56.64ID:x+vvrMaZ0785デフォルトの名無しさん
2016/06/16(木) 03:33:03.54ID:F+lw57im便宜ファイルを削除しても問題ないのでしょうか?
0786デフォルトの名無しさん
2016/06/16(木) 11:12:05.38ID:F+lw57imここを見ると問題ないようです
foreachで元の配列を破壊的に変化させてるようなものだと思うのですが
どういうアルゴリズムなのか。
一旦全てエントリを舐めて、一つ一つ取り出してるだけなのでしょうか
scandirではなくreaddirを使うのはメモリを節約したいという意識からですが
一度に全部読んで単に取り出しを一つ一つしているだけなら
あんまり意味がないですね
0787デフォルトの名無しさん
2016/06/16(木) 11:51:44.03ID:OOtzbp5n問題が出るかは確認してないけど、
問題が出るかもしれないから readdir のループでは対象ファイルのリストアップだけして、改めて処理用のループ回してる。
0788デフォルトの名無しさん
2016/06/16(木) 15:13:15.23ID:rO3o63URMySQLから点数データを取得してwhile文で配列に格納するとともに、
点数の5段階の相対評価を得たいです。
学生(要素数が可変)の点数配列scoresがあるとした場合、点数の高い順に
最初の1/5をA、次の1/5をB、次の1/5をC、次の1/5をD、残りをEに分類するには
どういう操作をするのが定石でしょうか?
0789デフォルトの名無しさん
2016/06/16(木) 15:14:35.80ID:rO3o63URやりたいことは点数出力時に、「相対的」に5段階評価してランク付けも出力したいのです。
絶対評価なら80点以上はA、60点以上はB・・・など基本的なif文の分岐で可能ですが、
相対評価の場合に、定石的な方法や、便利な関数などはあるのでしょうか?
いったん点数を配列に格納後に、配列をコピーしてソートして5つに分類するとか考えているのですが、
もっといいアルゴリズムや便利な関数などありますか?
よろしくお願いします。
配列の中身(MySQLからwhile文で取得)
scores[1] = 19;
scores[2] = 82;
scores[3] = 37;
...
scores[488] = 11;
scores[489] = 55;
0790デフォルトの名無しさん
2016/06/16(木) 15:20:11.03ID:lOAG9aOiここはphpの下質スレですがご質問はphpに関する質問ですか?
0791デフォルトの名無しさん
2016/06/16(木) 15:25:56.10ID:rO3o63URはい。
PHPでのアルゴリズムの実装方法やそのためのPHPの関数などを教えて欲しいです。
0792デフォルトの名無しさん
2016/06/16(木) 15:32:21.65ID:F+lw57imそれが安心ですね
ありがとうございます
0793デフォルトの名無しさん
2016/06/16(木) 15:40:54.97ID:lOAG9aOiまあ…ほんとにphpなら
単純に1次元配列を並び替えるだけならrsort($scores);するかその前にsqlの時点でORDER BYすればいい
あとは$scores = array_chunk( $scores, (int)(ceil(count($scores)/5)) );とかすればいい
データが二次元だとか細かい処理したいとかならrsort()ではなくusort()も使える
0794デフォルトの名無しさん
2016/06/16(木) 16:28:58.79ID:rO3o63URありがとうございます。
配列操作の関数がたくさんあってどれが最適なのか見つけられずにいました。
ORDER BYとご教示頂きましたarray_chunkの関数の組み合わせが最適そうですね。
解決できそうです。ありがとうございました。
0795デフォルトの名無しさん
2016/06/16(木) 16:49:55.80ID:BCCkDo9pそうならない時はどうするのかな?
0796デフォルトの名無しさん
2016/06/16(木) 17:36:01.49ID:rO3o63URご注意ありがとうございます。
array_chunk には、次の記述がありますが、仕様上問題ないです。
「最後の部分の要素数は size より小さくなることもあります」
http://php.net/manual/ja/function.array-chunk.php
0797デフォルトの名無しさん
2016/06/16(木) 21:36:32.86ID:geCt37IzClass内でメンバ関数で定義した変数を別のメンバ関数から参照するにはどうすれば良いのでしょうか?
0798デフォルトの名無しさん
2016/06/16(木) 22:26:42.88ID:S7gZdFkC何がしたいか分からんからやりたいことのコード例
0799デフォルトの名無しさん
2016/06/16(木) 22:30:00.80ID:geCt37Izあ、ごめんなさい
class {
public function a() {
$x = 'hello,world';
}
public function b() {
print $x; //hello,worldを表示する
}
}
簡潔にかけばこんな感じです。
aメソッドで定義した変数をbでも使いたいです
0800デフォルトの名無しさん
2016/06/16(木) 23:17:55.32ID:S7gZdFkCクラスのプロパティにしたらあかんのか?
0801デフォルトの名無しさん
2016/06/16(木) 23:23:33.51ID:OOtzbp5nスコープを厳格にしたいならその機能を別のクラスとして切り出すか、そこまで小分けしたくないなら大人しくプロパティにしてしまうか。
JAVAなんかだとクラス内クラスが簡単に扱えてこういうのに便利なんだけど、PHPってどうなんだっけ。
0802デフォルトの名無しさん
2016/06/16(木) 23:23:34.81ID:geCt37Izまあそれでもいいっちゃいいんですけど
ちょっとコードが長くなった時とか、別々にして処理させたいんですよね
皆さんがクラス書くときってどうやってるんでしょうか
0803デフォルトの名無しさん
2016/06/16(木) 23:30:35.19ID:S7gZdFkCそもそも担当処理が違うなら別クラスにして委譲するのが適切だとは思う
0804デフォルトの名無しさん
2016/06/17(金) 00:04:23.57ID:OWOb/yaEstatic $x = 'hello,world';
}
これでは要求を満たさないならばおとなしく関数ではなくclassの変数やclass定数にすべき
0805デフォルトの名無しさん
2016/06/17(金) 01:04:47.60ID:bXZXch1T質問を読んでなんでそんなコードが出てくるのか意味解らん
0806デフォルトの名無しさん
2016/06/17(金) 01:24:40.23ID:VvmzJV5Dいい方法はありませんか?
0807デフォルトの名無しさん
2016/06/17(金) 02:24:59.62ID:Ub5TQFWS0808デフォルトの名無しさん
2016/06/17(金) 07:28:42.66ID:yged7CRH皆さんはどんなosでどんなツールでphpやっているの?
教えて
0809デフォルトの名無しさん
2016/06/17(金) 07:38:35.18ID:kypwTnD/0810デフォルトの名無しさん
2016/06/17(金) 07:55:00.51ID:zTp2v+lf奇遇ですな。
同じくアイデア段階では、パソコンでやらずに紙です。
すぐにフローやイメージ図を書き留められる。放射状に広げていける。
紙とエンピツがその時だけ本当に便利だよね。
0811デフォルトの名無しさん
2016/06/17(金) 08:36:09.46ID:CYdk5Mt/0812デフォルトの名無しさん
2016/06/17(金) 10:05:23.41ID:izLNj4Mm山田祥寛(よしひろ)、翔泳社
10日でおぼえる PHP 入門教室、第4版、2012
この本は、Webアプリ作成の流れがわかるけど、
文法の説明は、あまりない
0813デフォルトの名無しさん
2016/06/17(金) 10:10:12.64ID:zTp2v+lfその人の本地雷だろ。
初心者の時にPEARの本買ったら、意味がわからなくなって挫折しかかった。
別の本で救済された。文法云々の前にとにかく、理屈をこねすぎて本質部分全然わかりにくい。
0814デフォルトの名無しさん
2016/06/17(金) 10:56:59.01ID:izLNj4Mm様々な言語の本を書いている。RoRでも有名
講習会も1日4万円!
0815デフォルトの名無しさん
2016/06/17(金) 11:50:18.31ID:1vjuVThuarray_filter() で ARRAY_FILTER_USE_KEY フラグを使ってフィルタリングする。
あるいは、foreach で順に走査して該当するものだけ取得する。
0816デフォルトの名無しさん
2016/06/17(金) 13:12:30.73ID:VvmzJV5DARRAY_FILTER_USE_KEYというのは初耳でしたが、
借りたVPSに入ってるのは5.4なので、まだ使えませんでした
おとなしくforeachします
ありがとうございました
0817デフォルトの名無しさん
2016/06/17(金) 16:07:38.77ID:AeewtahV現在ユーザーアイコンの保存にてaws s3(フレームはlaravel)を利用しています。
疑問なのはアイコンの存在チェックをするべきかどうかです。
(アイコン名はユーザーのid名です)
以下のようにすると、存在チェックと取得の計2回のリクエストが発生してしまいます。
@if (Storage::exists('user-icons/' . $user->id . '.jpg'))
<img src="{{ Storage::url('user-icons/' . $user->id . '.jpg') }}">
@else
<img src="{{ Storage::url('user-icons/default.jpg') }}">
@endif
そのため単純にユーザーが会員登録した時点でデフォルト画像をユーザーアイコンとして保存し
以下のようにただ取得するというシステムにしようか迷っています。
<img src="{{ Storage::url('user-icons/' . $user->id . '.jpg') }}">
(アイコンを変えないかぎり、ストレージ上ではデフォルト画像があふれるような感じ)
アイコンを設定するようなサービスは、どのような構造になっているのでしょう?
0818デフォルトの名無しさん
2016/06/17(金) 16:09:49.84ID:KYjoOhmAデータベースは使わないの?
0819デフォルトの名無しさん
2016/06/17(金) 16:40:23.10ID:AeewtahVアイコン変更履歴を格納するという意味でしょうか?
0820デフォルトの名無しさん
2016/06/17(金) 16:56:34.53ID:KYjoOhmA履歴が必要なら履歴も登録してもいいけど。
例えば、user.iconに画像ファイル名が入ってるなら、
select cese when user.icon is null then 'default.jpg' else user.icon end as user_icon
画像ファイル名じゃなくて、あり/なしでもいいし、フルパスにしてもいいし、
userとは別テーブルにしてもいいし。
0821デフォルトの名無しさん
2016/06/17(金) 16:58:19.35ID:KYjoOhmA> 以下のようにすると、存在チェックと取得の計2回のリクエストが発生してしまいます。
これほんと?
$user->idってインスタンスのプロパティアクセスじゃないの?
0822デフォルトの名無しさん
2016/06/18(土) 00:14:26.11ID:SEe9xJ4Iファイルを保存したことが確定していればそれでいいというのであればそのステータスをローカルのDBなんかに保存する
アクセス時点でクライアントに画像が見えることを担保したいのであればクライアントサイドでやるべきではないか
0823デフォルトの名無しさん
2016/06/18(土) 00:48:21.29ID:W3J+GEBP> これほんと?
しかまともなレスがない
0824デフォルトの名無しさん
2016/06/18(土) 03:06:39.83ID:zkudPs4rつかそいつ一人しかレス付けてないじゃん。
>>817
S3 は高性能なストレージで存在チェック程度のアクセスは気にするような話ではないんじゃない?
ただアイコンを表示する全ての個所でそのコードを書くのはだるいから、デフォルトアイコンを作ってしまうというのもアリだと思う。
ただそうすると、例えばアイコンを設定してないユーザー 10人を一覧表示する場合、
存在チェック式なら同一の画像URL 10個が並ぶからクライアントは結果的に 1回の画像取得しかしないのに対し、
デフォルトアイコンコピー式では画像は個別の 10 の URL になるからクライアントは 10回画像取得をすることになり、
存在チェックなどの些細な負荷より重い実際の画像アクセスが増えてしまう。
0825デフォルトの名無しさん
2016/06/18(土) 08:33:50.00ID:8GpUPXrhファイルリストをキャッシュしておいて
ファイルが変更された(画像ファイルの追加や削除)タイミングで
キャッシュをInvalidateすればいいんでないかい?
0826デフォルトの名無しさん
2016/06/18(土) 08:42:32.00ID:saT7WdS7その場合はlocal://default.jpgとかs3-icon://xxxx.yyyみたいな独自書式を用意するかな
0827デフォルトの名無しさん
2016/06/18(土) 13:57:43.89ID:a+CHws3P<form action="furiwake.php">
<input type=submit>
<input type=submit>
<input type=submit>
</form>
で、furiwake.phpで$_POSTの内容判定してheader['Location']するのと
<form><input type="submit"></form>
を何個も書いてそれぞれ別のページに飛ばすのってどっちが良いんですか?
ただの趣味の話?
それともこうした方が良いとかってありますか?
0828デフォルトの名無しさん
2016/06/18(土) 14:07:09.69ID:a+CHws3P顧客情報データ持っててhiddenで渡して次画面行きたいだけなのですが
1.全部$_SESSIONに詰め込んで<a href>を何個も作ってそれぞれに飛ばす
2.一つの<form>にsubmitを入れまくって振り分け用phpにhiddenで飛ばす
3.<form>を複数作って顧客情報をそれぞれhiddenで飛ばす
$_SESSIONに何でもかんでも詰め込んで良いものか、
それとも振り分け用phpへのアクセスが増える(現実問題は大した事ないけど作り方として)のを避けた方が良いのか
というようなことで迷いました。
0829デフォルトの名無しさん
2016/06/18(土) 16:03:58.68ID:ue516XaJ0830デフォルトの名無しさん
2016/06/18(土) 16:51:59.61ID:OFAUAFhz目的と手段を考えれば答えがでるんじゃない。
データを持って次画面行きたいだけなら$_SESSIONを使うかな。
むしろPOSTする意味がわからない。
0831デフォルトの名無しさん
2016/06/18(土) 19:19:52.96ID:a+CHws3Pどんな方法使うんですか?
>>830
取り敢えず$_SESSIONに詰め込む事にします
0832デフォルトの名無しさん
2016/06/18(土) 20:16:44.01ID:CHIXqkwm0833デフォルトの名無しさん
2016/06/18(土) 20:41:31.45ID:a+CHws3P0834デフォルトの名無しさん
2016/06/18(土) 20:55:18.11ID:CHIXqkwm処理内容を分けたいなら、
処理の選択をするエレメントを付けてやる
0835デフォルトの名無しさん
2016/06/18(土) 22:59:24.24ID:pgLfn0h3自分がしたい処理に似ている有名なサイトのページを分析してみればいい
0836デフォルトの名無しさん
2016/06/19(日) 18:04:14.78ID:JfyAxJGcこちらのサイトで
simpleXMLでXMLを組み立てた後
整形するためにDOMDocumentで出力しなおしていますが
最初からDOMDocumentでXMLを組み立てることは出来ないのでしょうか?
0837デフォルトの名無しさん
2016/06/20(月) 02:38:27.16ID:tnqQkYkdjson_decode(json_encode($xml), true);
で得られる形式の配列から
xmlに戻す、いい方法はありせんか?
0838デフォルトの名無しさん
2016/06/20(月) 06:31:07.37ID:gb8WC3Pe0839デフォルトの名無しさん
2016/06/20(月) 07:10:53.68ID:6mpJGPIZxmlとかyamlはまああれだ、趣味
0840デフォルトの名無しさん
2016/06/20(月) 12:29:12.56ID:tnqQkYkdということをしたいのです
しかしPHPのXML周りはどうもイケてない気がします
簡単なことをするのも煩瑣で、少し突っ込んだ操作も不可能で・・
foreachで頑張るしかないのでしょうか
0841デフォルトの名無しさん
2016/06/20(月) 13:06:06.35ID:e7qwC/XxRubyでも使いなさい
0842デフォルトの名無しさん
2016/06/20(月) 13:56:49.12ID:CH6czl6rどの言語でも共通のDOMすら理解できてないんだから
0843デフォルトの名無しさん
2016/06/20(月) 14:30:03.12ID:ppvG3ddJタグ名.each{ 要素 ->
要素.value = 'abc'
}
0844デフォルトの名無しさん
2016/06/20(月) 15:02:05.88ID:tnqQkYkd実用主義のPHPなのに
XMLと配列との相互変換のための関数が用意されていないのっておかしくね?
と言っているのです
あと値を設定した時に実体参照に変換してくれないところも気が利いてません
0845デフォルトの名無しさん
2016/06/20(月) 15:30:57.32ID:tnqQkYkdあと良く使われてるこの手法もネームスペース属性がそぎ落とされますし・・
イケてないと言わざるを得ません
0846デフォルトの名無しさん
2016/06/20(月) 15:37:59.20ID:dCVNOi3Xhttp://chattykh.com/wp-content/uploads/2016/03/CZezN7LVIAApejO.jpg
0847デフォルトの名無しさん
2016/06/20(月) 15:43:22.49ID:CH6czl6r配列に型変換して一体何が楽になると思ってるのか知らんけど
DOMが嫌だという人のために配列っぽく扱えるSimpleXMLElementが用意されてるだろ
ドキュメントも読まずに自分勝手にarray使っておいて気が利かないとか
マとして恥ずかしくないの?
0848デフォルトの名無しさん
2016/06/20(月) 15:46:32.10ID:kXAYtV38少なくとも配列とDOMを相互変換とか言ってる時点で正気じゃない
黙ってNGに突っ込んでおくのがよい
0849デフォルトの名無しさん
2016/06/20(月) 16:19:51.02ID:tnqQkYkdじゃあXMLのままフィルタリングやソーティングしてみて下さい
0850デフォルトの名無しさん
2016/06/20(月) 16:21:39.69ID:o/Q8QvES0851デフォルトの名無しさん
2016/06/20(月) 16:22:31.78ID:1gK0q/lsその辺に関してイケてると思う言語はどれ?
0852デフォルトの名無しさん
2016/06/20(月) 16:26:10.03ID:1A5wn0fq兄弟の順序に意味があるXMLだって?
0853デフォルトの名無しさん
2016/06/20(月) 17:55:01.05ID:o3UTjcQ6どうやって勉強すればいいでしょうか
0854デフォルトの名無しさん
2016/06/20(月) 18:14:04.86ID:Iph33/KO模擬サーバーにハッキングしてみる(実証実験)
0855デフォルトの名無しさん
2016/06/20(月) 18:43:25.91ID:6mpJGPIZ0856デフォルトの名無しさん
2016/06/20(月) 19:42:02.13ID:DtHt205gtotal=total+1の時点で頭がテンパってるわ
0857デフォルトの名無しさん
2016/06/20(月) 19:51:18.58ID:7UcrPiUv0858デフォルトの名無しさん
2016/06/20(月) 19:56:33.91ID:Ht1YDCGgループ変数を $i にするのを卒業しようとしたら $i++ だけ残ってたり
0859デフォルトの名無しさん
2016/06/20(月) 21:23:50.71ID:7KDOMThT0860デフォルトの名無しさん
2016/06/20(月) 21:28:32.25ID:7KDOMThT0861デフォルトの名無しさん
2016/06/20(月) 23:03:57.10ID:tnqQkYkdrssの生成は今回はじめてやってるので知りません
他の言語と比較してイケてないと言っているのではなく
単にイケてないと言っているのです
0862デフォルトの名無しさん
2016/06/20(月) 23:07:57.34ID:vKqEeD2cプログラミング言語なんだからイケてるライブラリは作り放題だぞ
できたら公開してくれ
0863デフォルトの名無しさん
2016/06/21(火) 07:36:44.50ID:F8rFyF6HXML_RSSってメンテされてないんでしょ、これはあれだ、お前がやれという天啓
0864デフォルトの名無しさん
2016/06/21(火) 13:10:43.41ID:ZCseRBtpJSONだけでいいだろもう
0865デフォルトの名無しさん
2016/06/21(火) 14:03:51.86ID:ZWokyEcu会社に購入を申請しようとおもうだけど
お値段がどこにものっていない
0866デフォルトの名無しさん
2016/06/21(火) 14:17:29.46ID:ZCseRBtpつうかphpstormでググれば3秒でわかるような質問してる人がプログラマーなのに驚愕
0867デフォルトの名無しさん
2016/06/21(火) 15:02:57.47ID:ZWokyEcu高!!
199ドルもするの??
phpstormでググったけどその価格のページにたどりつけんかったんよ
0868デフォルトの名無しさん
2016/06/21(火) 15:07:06.24ID:ZWokyEcuとりあえず会社に申請してみます。
ありがとう。
0869デフォルトの名無しさん
2016/06/21(火) 15:20:20.47ID:ZCseRBtpPhpStorm IDE :: JetBrains PhpStorm
https://www.jetbrains.com/phpstorm/
このページを訳す
The most intelligent PHP IDE with refactorings, code completion, on-the-fly code analysis and coding productivity orientation.
Download PhpStorm ・ Buy ・ What's new in PhpStorm 2016.1? ・ Docs & Demos
そんでBuyのとこを押すとたどりつけるというわけさ
仕事で使うなら商用ライセンスだろうということでそっち貼ったけど
199ドルは商用ライセンスだから個人の場合は89ドルね
https://www.jetbrains.com/phpstorm/buy/#edition=personal
0870デフォルトの名無しさん
2016/06/21(火) 15:32:11.50ID:GUPYo8em0871デフォルトの名無しさん
2016/06/21(火) 16:01:19.29ID:GdkMnzSr0872デフォルトの名無しさん
2016/06/21(火) 16:07:25.78ID:JNUr2v78いい方法はありませんか?
0873デフォルトの名無しさん
2016/06/21(火) 16:53:13.58ID:PPdTS3ln0874デフォルトの名無しさん
2016/06/21(火) 16:54:36.54ID:F8qq0CQBあんたPEARなんて使ってんの?
0875デフォルトの名無しさん
2016/06/21(火) 16:56:47.93ID:GdkMnzSr0876デフォルトの名無しさん
2016/06/21(火) 17:10:33.70ID:gufFnXZC//AWS S3上のphotosを削除(データベースはcascadeで対応)
$photosId = $user->photos()->lists('photos.id');
if (count($photosId) > 0) {
$deletePhotoPaths = [];
foreach ($photosId as $value) {
$deletePhotoPaths[] = 'photos/' . $value . '.jpg';
}
Storage::delete($deletePhotoPaths);
}
0877デフォルトの名無しさん
2016/06/21(火) 17:30:39.61ID:GdkMnzSr$deletePhotoPaths = [];
foreach ($user->photos()->lists('photos.id') as $value) {
$deletePhotoPaths[] = 'photos/' . $value . '.jpg';
}
Storage::delete($deletePhotoPaths);
という些細なものは置いといても、単数形と複数形のポリシーが適当すぎて気持ち悪い。
0878デフォルトの名無しさん
2016/06/21(火) 18:18:36.43ID:E96GoXUh逆にそれより汚く書くとどうなるんだ?
0879デフォルトの名無しさん
2016/06/21(火) 18:32:23.09ID:JNUr2v78配列はphotosIdListとかにして配列と示した方が良さそうですね
0880デフォルトの名無しさん
2016/06/21(火) 18:39:20.94ID:E96GoXUharray_walk のコールバックに合わせたインタフェースにするといいかもしれないが、それだと単体の変換向けにはちょっと使いづらくなるから、
そこをどう解決するかにセンスを求められるかもな。
0881デフォルトの名無しさん
2016/06/21(火) 18:44:08.60ID:E96GoXUharray_walk じゃなく array_map にすりゃいいのか。
なんかボケてたわ。
0882デフォルトの名無しさん
2016/06/21(火) 18:53:30.67ID:Dmco6gBHフリーや零細ならそういう考え方でいいが、
ある程度の規模になるとそんな甘っちょろい考え方では済まなくなる。
0883デフォルトの名無しさん
2016/06/21(火) 20:06:44.71ID:E96GoXUhなんで再帰にしたくないの?
パースって具体的にどんな処理?
もしかして >>837 の人?
0884デフォルトの名無しさん
2016/06/21(火) 20:08:30.54ID:JNUr2v78ネームスペースだけでなく、属性も消えると判明しました
ネームスペースや属性もちゃんと表示するコードをしこしこ手書きしたのに
短い方がいいと思って廃棄してからそのことに気付きました
ファックですね?
0885デフォルトの名無しさん
2016/06/21(火) 20:10:13.56ID:JNUr2v78処理が単一的でないので、再帰だとどうもうまくいかないと思ったのです
でも再帰でうまく出来そうです
ありがとうございました
0886デフォルトの名無しさん
2016/06/21(火) 20:11:19.45ID:Dmco6gBH一生言ってろ、dumbass
0887デフォルトの名無しさん
2016/06/21(火) 20:17:57.37ID:JNUr2v78ハゲは黙ってろ
0888デフォルトの名無しさん
2016/06/21(火) 20:36:38.54ID:oaiM5wE7gitみたいな分散バージョン管理システムつかいなよ
こまめにローカルコミットしとけば
戻りたい地点にすぐ戻れる
0889デフォルトの名無しさん
2016/06/21(火) 20:39:12.30ID:Dmco6gBH0890デフォルトの名無しさん
2016/06/21(火) 20:48:50.16ID:E96GoXUhむしろ XML の使い方を simplexml_load_string で扱える範囲に収める方がいいんじゃない?
わざわざ XML を使うなんてのは余所とのデータ交換のためなんじゃないかと思うけど、であればなおさら誰でも読めるフォーマットにした方がいいでしょ。
もう仕様が確定して運用中だったらどうにもならないけど。
0891デフォルトの名無しさん
2016/06/21(火) 22:24:57.65ID:JNUr2v78ファイルを別ファイルとして保存
→undoしまくる
という方法で復活できました
>>888
一応dropboxをバージョン管理に使ってるのですが
今回はちょっとしたテストのつもりでデスクトップで書いていたので・・
ちゃんとした開発ではsubversion使ってます
>>890
生成しようとしてるのはpodcast用のRSSなので、
仕様はすでに決まってるのです・・
0892デフォルトの名無しさん
2016/06/21(火) 22:34:22.85ID:3K6j4RYcdropboxでバージョン管理とな?
0893デフォルトの名無しさん
2016/06/21(火) 22:50:17.70ID:nLutN5EzDropboxでも十分よ
0894デフォルトの名無しさん
2016/06/22(水) 05:54:22.15ID:cac9buRO0895デフォルトの名無しさん
2016/06/22(水) 08:16:06.21ID:b8o1sKk7俺もプロジェクトごっそり暗号化zipにして日付つけてdropboxに放り込んでるわ
そういう簡単なソフト作った
windowsなら標準でonedriveにバージョン単位で保存できるみたいだけど
0896デフォルトの名無しさん
2016/06/22(水) 09:54:21.10ID:pXRO6eh+SQLとMySQLみたいな。
0897デフォルトの名無しさん
2016/06/22(水) 10:14:00.80ID:PtXJngN/生成されたからなんか嫌で使ってない
本番用の公開サイトでもgitの管理ファイルがあってもいいものなの?
0898デフォルトの名無しさん
2016/06/22(水) 10:52:05.69ID:Aw/Pyhhiいつのころからかrsyncで同期するようになり
今ではhg push
0899デフォルトの名無しさん
2016/06/22(水) 11:01:25.47ID:uyRcysT8>SQLとMySQLみたいな
うまい
0900デフォルトの名無しさん
2016/06/22(水) 11:27:29.72ID:A5e06e5G0901デフォルトの名無しさん
2016/06/22(水) 11:52:44.24ID:WfMLciR4git はトップディレクトリにしか作らなくね?
エクスプローラーがあちこちに Thumbs.db を作ったりするよりはよほどいいと思うよ。
なんにしてもそんなものを公開サーバに上げるのはマヌケ。
それよりも、個人的にはファイルのタイムスタンプが維持されないのが気に食わない。
0902デフォルトの名無しさん
2016/06/22(水) 12:24:51.88ID:OlmvlLQ3ありがと。参考になります。もう一度やってみるよ。
0903デフォルトの名無しさん
2016/06/22(水) 12:59:23.09ID:k28/2S7E> ある程度の規模になるとそんな甘っちょろい考え方では済まなくなる。
ある程度の規模になれば、それこそ$199なんて誤差になってくるだろ
MSDNに比べれば、ゴミのような値段
0904デフォルトの名無しさん
2016/06/22(水) 13:08:25.26ID:A5e06e5G流石、平しかなった事のない奴の発言は重みがあるな。
お前はずっとそう思ってればいいよ。
0905デフォルトの名無しさん
2016/06/22(水) 13:10:35.97ID:BFfjtylb0906デフォルトの名無しさん
2016/06/22(水) 13:42:08.67ID:pXRO6eh+結局はあとあと、再利用、改変、再購読する可能性が低ければ
クラス化する意味はあまり無いのですか?
0907デフォルトの名無しさん
2016/06/22(水) 14:07:44.37ID:WfMLciR4変数をクラス内に閉じ込めておけるという点だけでもクラス化の恩恵はあると思う。
0908デフォルトの名無しさん
2016/06/22(水) 14:33:22.24ID:k28/2S7Eお前のような奴がいると、ちゃんとした統合環境も使えず、GitHubなんかも使えず、
CI環境とか監視ツールとかもできあいのものが使えないんだろうよ
かわいそうだわ
0909デフォルトの名無しさん
2016/06/22(水) 18:17:18.97ID:s+FJ5KLI0910デフォルトの名無しさん
2016/06/22(水) 18:27:32.70ID:k28/2S7Eindexed array
0911デフォルトの名無しさん
2016/06/22(水) 18:55:49.97ID:cac9buROどういう論拠でその結論をだしたんだ?
サルの考えることは本当によくわからんな…
0912デフォルトの名無しさん
2016/06/22(水) 18:58:15.96ID:cac9buROどれもこれも古臭くて不便だから。
他に良い方法がなく、それが最善である場合を除いては使う必要ない。
0913デフォルトの名無しさん
2016/06/22(水) 19:03:43.32ID:cac9buROたかがメール送るのにあんなクソみたいなライブラリを使うヤツの気が知れない。
そんな奴だから、PEAR::Mailをより不便に糞ラップしてあった。
そうだ、これこそがPHPerの恐ろしいところだ。
0914デフォルトの名無しさん
2016/06/22(水) 19:03:46.51ID:s+FJ5KLIありがとうございます
0915デフォルトの名無しさん
2016/06/22(水) 19:05:47.43ID:cac9buROそれ、前スレだったか、かなり前に同じこと聞いてなかったか?
0916デフォルトの名無しさん
2016/06/22(水) 19:13:55.80ID:cac9buRO代替手段が無いのかどうかはしらないが、
昔書いたコードで特に不便はないから放置してあるというのが正しいが。
0917デフォルトの名無しさん
2016/06/22(水) 19:27:13.26ID:s+FJ5KLIオブジェクト指向で書かないと分かりにくいくらい複雑になった時点で
オブジェクト指向に移行します
再利用しなくても、その方が理解しやすくなるというメリットがあります
0918デフォルトの名無しさん
2016/06/22(水) 20:22:05.78ID:s+FJ5KLIXML宣言を取得したいのですが、それらしいメソッドがありません
asXMLメソッドで全体の文字列を取得して
先頭から切り出せば取得できますが、そんな方法しかないのでしょうか?
0919デフォルトの名無しさん
2016/06/22(水) 20:57:41.64ID:UX1eBnCv実践的な力を付けたいので
これを作るといいという物を教えてくだたもれ
0920デフォルトの名無しさん
2016/06/22(水) 21:17:09.01ID:14AwA6D3お家カタログ
0921デフォルトの名無しさん
2016/06/22(水) 21:17:59.56ID:tA72U/sZスマホゲーム
0922デフォルトの名無しさん
2016/06/22(水) 21:52:32.27ID:6WTwmu+Nそれバージョンアップで変わったよ。
リリース時はトップレベルの.gitフォルダを削除してあげればおk
0923デフォルトの名無しさん
2016/06/22(水) 21:56:30.25ID:14AwA6D3話し相手
0924デフォルトの名無しさん
2016/06/22(水) 22:03:00.47ID:s1zk4i3Oなにを作るべきかついて話し合うサイト
0925デフォルトの名無しさん
2016/06/22(水) 22:10:54.83ID:npVvWbanそれだけで本番環境に置き換えられるならすごい便利かも
貴重なアドバイスに感謝です
0926デフォルトの名無しさん
2016/06/22(水) 22:30:22.51ID:rpiti0Uo0927デフォルトの名無しさん
2016/06/22(水) 22:34:17.61ID:WfMLciR4そのやり方は便利なんだけど、PULLしてる最中の中途半端な断面が公開されてる状態になるというのがいただけないよな。
0928デフォルトの名無しさん
2016/06/22(水) 23:01:22.76ID:rpiti0Uoそうだね。厳密にやるならプル後にシンボリックリンクでディレクトリ毎切り替えとか。まぁツールで楽しろってこったね。
0929デフォルトの名無しさん
2016/06/23(木) 10:25:07.43ID:XHBKYGLc> サルの考えることは本当によくわからんな…
お前の考えることの方がわからんわ
$199ごときでがたがた言うのに、>>908みたいなことはないというのか?
0930デフォルトの名無しさん
2016/06/23(木) 11:02:23.22ID:Ox92qZ2z0931デフォルトの名無しさん
2016/06/23(木) 11:22:16.08ID:w+1ZvzwV●ネット上におちていたPHPのコード : http://massive.tendon.bz/english/crawl.txt
(拡張子をphpに変えて、FC2サーバLiteで使用)
●某辞書サイト: http://eow.alc.co.jp/$word(検索ワード)/UTF-8/
●出力ファイル→output.csv
成功版: http://massive.tendon.bz/english/output_success.csv
失敗版: http://massive.tendon.bz/english/output_fail.csv
●任意の英単語→wordlist.txt : http://massive.tendon.bz/english/wordlist.txt
上記のコードを使い、一度は語義の抽出ができたのですが、「Fatal error: Maximum execution time of 30 seconds exceeded in /コードを格納してあるアドレス/crawl.php on line 37」と、表示されて以来、任意の英単語のみ(失敗版output.csv)しか吐かなくなりました。
フリーソフト「PSS=P-Study-System」に読み込んで、英単語学習をしたい……と思ったのですが、使い方がつまずいています。
どなたか解決方法がわかる方がいらっしゃるようでしたら、どうかご教授のほど、お願い致します。
0932デフォルトの名無しさん
2016/06/23(木) 12:23:02.34ID:g0w8fquD30秒返事がなかったからエラーにするって書いてあるけど
そのサイト、て入力でアクセスして返事すぐ返ってくる?
頻繁にアクセスしすぎて制限かけられたとかじゃないの?
0933デフォルトの名無しさん
2016/06/23(木) 12:30:52.85ID:x8Tq2OJcサーバーエラーになったのだろう
エラーの際、プロセスの強制終了により、設定ファイルか何かのリソースに、
途中まで中途半端に書き込まれて、整合性が取れなくなった。
それ以後、そのファイルを読んでも、正しく処理されないとか?
まあ、普通の無料アプリで、エラー処理まできっちり書いていることは、まれ。
エラー処理後のテストなども、普通しない
設定ファイルなどをすべて削除して、最初からやり直せば?
でも、またサーバーエラーが出れば、同じようになるかも
0934デフォルトの名無しさん
2016/06/23(木) 12:52:22.88ID:aUw7JVj60935デフォルトの名無しさん
2016/06/23(木) 12:56:23.30ID:ISrN3FK4いやそれはクローラーで、初回に実行しておくかバッチで回すものなんじゃないの。
多分。
0936デフォルトの名無しさん
2016/06/23(木) 14:23:39.57ID:Ox92qZ2z0937デフォルトの名無しさん
2016/06/23(木) 17:11:28.79ID:WHuxwDdZPHPにないんですか?
$array['a']['b']['c']['d']
のような配列に、配列['a','b','c','d']でアクセスできるようなやつです
0938デフォルトの名無しさん
2016/06/23(木) 17:33:34.71ID:WHuxwDdZ$b = 'b';
echo $a ? $a : $b;
こういう処理で、$aを二度書くのが嫌なのですが
いい方法ありませんか?
0939デフォルトの名無しさん
2016/06/23(木) 17:39:57.01ID:WHuxwDdZtrueになった時点でその値を返す
という関数があればいいのですが、phpにはないのでしょうか?
0940デフォルトの名無しさん
2016/06/23(木) 18:25:23.33ID:7w307aVIhttp://php.net/manual/ja/function.array-search.php#91365
みたいなやつだろ、返す値が不満なら自分で改造しなよ
0941デフォルトの名無しさん
2016/06/23(木) 18:37:39.57ID:opomWGEoエルビス・プレスリーを使う
echo $a ?: $b;
0942デフォルトの名無しさん
2016/06/23(木) 18:44:33.45ID:znOgoNn/おサルさん、よく聞きなさい。
仕事の現場で大切なのはお金だけではありません。
俺様が一度でも金について話しましたか?
だからあなたは平しかなった事のない野猿だというのですよ。
0943デフォルトの名無しさん
2016/06/23(木) 18:46:27.39ID:znOgoNn/あるわけねぇだろ、ハゲ
お前は観点がおかしいんだ
保育園からやり直せ
0944デフォルトの名無しさん
2016/06/23(木) 18:52:22.06ID:znOgoNn/PHP7を使う。
0945デフォルトの名無しさん
2016/06/23(木) 18:58:32.34ID:pXTHavhi0946デフォルトの名無しさん
2016/06/23(木) 19:10:25.79ID:znOgoNn/0947デフォルトの名無しさん
2016/06/23(木) 19:12:54.18ID:ISrN3FK4おーすげー
はじめて知った、こりゃ便利だな
0948デフォルトの名無しさん
2016/06/23(木) 19:37:46.60ID:aUw7JVj60949デフォルトの名無しさん
2016/06/23(木) 19:38:09.84ID:znOgoNn/こういうことしなきゃいけなくなるからダメなんだよ。やっぱ7の ?? じゃねぇと。
0950デフォルトの名無しさん
2016/06/23(木) 19:40:29.22ID:WHuxwDdZ自分でそういう関数を書くのは簡単ですが
標準の機能を使ってやりたいです
>>941
エルビス演算子というのですね
こんなものがあったとは
ありがとうございました
0951デフォルトの名無しさん
2016/06/23(木) 19:45:31.19ID:aUw7JVj6偉そうだけど正しい情報を出してくれるタイプの人というわけでもないようだ。
0952デフォルトの名無しさん
2016/06/23(木) 19:54:22.07ID:WHuxwDdZでもかなりのメリットがあるなら別ですが
yumで普通に入るくらいになってないと使いたくはないですね
0953デフォルトの名無しさん
2016/06/23(木) 19:58:22.33ID:znOgoNn/0954デフォルトの名無しさん
2016/06/23(木) 20:00:11.97ID:znOgoNn/投稿時間をよく見てみろよ、マヌケ
0955デフォルトの名無しさん
2016/06/23(木) 20:03:47.46ID:znOgoNn/0956デフォルトの名無しさん
2016/06/23(木) 20:04:19.65ID:aUw7JVj6え?そういう話じゃないんだけど
0957デフォルトの名無しさん
2016/06/23(木) 20:05:13.04ID:pXTHavhi0958デフォルトの名無しさん
2016/06/23(木) 20:09:48.69ID:znOgoNn/じゃあなんでどういう話か言わないんだ?おさるさん。
0959デフォルトの名無しさん
2016/06/23(木) 20:10:09.01ID:znOgoNn/0960デフォルトの名無しさん
2016/06/23(木) 20:12:18.41ID:znOgoNn/0961デフォルトの名無しさん
2016/06/23(木) 20:13:28.27ID:aUw7JVj6それこそ >>948 で書いた。
限定された状況下でしか等価にならないものを、知ってか知らずかそれを言わずに ?: や ?? を使えばいいというレスは
正しい情報とはいえないだけ。
0962デフォルトの名無しさん
2016/06/23(木) 20:19:11.19ID:znOgoNn/>>938 になんて書いてあるか読めないハゲってことか?
状況が限られてるんだが、PHP7を奨めることになんか問題あんのか?
脳みそないのにお前がハゲになったのは考えすぎたわけじゃなくて遺伝か?
0963デフォルトの名無しさん
2016/06/23(木) 20:19:28.62ID:aUw7JVj60964デフォルトの名無しさん
2016/06/23(木) 20:20:22.45ID:znOgoNn/> それこそ >>948 で書いた。
> 限定された状況下でしか等価にならないものを、知ってか知らずかそれを言わずに ?: や ?? を使えばいいというレスは
> 正しい情報とはいえないだけ。
このクソみたいな日本語は何だ? 中学生でももう少しマシな説明が書けるぞ。
0965デフォルトの名無しさん
2016/06/23(木) 20:20:51.96ID:aUw7JVj6確認させて。
>>938 の状況に対して PHP7 を使い、そして ?? を使えばいいというレスをしたってことでいいの?
0966デフォルトの名無しさん
2016/06/23(木) 20:22:53.99ID:znOgoNn/こいつ何言ってんだ?
?: の場合、$aが設定されていなければNotice吐くんだぞ?
だから >>949 で説明してやったのに。
ここはサル山動物園か?
0967デフォルトの名無しさん
2016/06/23(木) 20:23:42.18ID:znOgoNn/他に読めるならどう読むか逆に教えてくれ。
0968デフォルトの名無しさん
2016/06/23(木) 20:26:01.78ID:aUw7JVj6$a = '0'
0969デフォルトの名無しさん
2016/06/23(木) 20:27:10.81ID:znOgoNn/>$a = '0'
それがなんの問題があるんだ? 説明してみろよ。
0970デフォルトの名無しさん
2016/06/23(木) 20:28:40.89ID:aUw7JVj60971デフォルトの名無しさん
2016/06/23(木) 20:28:51.68ID:znOgoNn/$b = 'hoge'
$a = $a ?? $b;
この場合に$aに入って欲しい値を何だと思ってるんだ?
0972デフォルトの名無しさん
2016/06/23(木) 20:29:24.06ID:znOgoNn/その言葉、そのまま返すから、何が入って欲しいか言ってみろよ。
0973デフォルトの名無しさん
2016/06/23(木) 20:30:34.66ID:aUw7JVj60974デフォルトの名無しさん
2016/06/23(木) 20:31:03.07ID:znOgoNn/0975デフォルトの名無しさん
2016/06/23(木) 20:31:36.67ID:znOgoNn/0976デフォルトの名無しさん
2016/06/23(木) 20:32:11.22ID:znOgoNn/0977デフォルトの名無しさん
2016/06/23(木) 20:36:14.10ID:/dY0hFq/「PHPにないんですか?」のID:WHuxwDdZ
「サルと戯れる人」のID:znOgoNn/
ついでにめんどくさいこと分かってるのにわざわざ相手にしちゃうID:aUw7JVj6
0978デフォルトの名無しさん
2016/06/23(木) 20:37:40.18ID:znOgoNn/「私は“何が入って欲しいか答えろ”と言いました。
するとどうでしょう?
彼は何もしゃべらなくなりました。
あなたは自分の答えに自信があったんですよねぇ。
あなたは猿じゃないんですよねぇ。ID:aUw7JVj6さん」
https://www.youtube.com/watch?v=wVFNAAHccqA
0979デフォルトの名無しさん
2016/06/23(木) 20:38:47.51ID:znOgoNn/この状況で単発で ID:aUw7JVj6 擁護って、随分肝っ玉の大きいこって。
0980デフォルトの名無しさん
2016/06/23(木) 20:39:39.42ID:znOgoNn/PHPerって本当に自己紹介が得意だよな。尊敬するわ。
0981デフォルトの名無しさん
2016/06/23(木) 20:39:50.55ID:aUw7JVj6何が入ってほしいかは質問者しか知らんよ。
で、あなたは挙動の異なる演算子を提示した。
それだけの話。
0982デフォルトの名無しさん
2016/06/23(木) 20:41:05.93ID:znOgoNn/>ありがと。
>
>$a = '0'
言った後自分で試してみてびっくり m9(^Д^)プギャーーーッ
0983デフォルトの名無しさん
2016/06/23(木) 20:41:49.13ID:znOgoNn/ほら、更に話をはぐらかし始めたww
0984デフォルトの名無しさん
2016/06/23(木) 20:43:04.83ID:znOgoNn/>ありがと。
>ありがと。
>ありがと。
>ありがと。
>ありがと。
>$a = '0'
0985デフォルトの名無しさん
2016/06/23(木) 20:45:15.70ID:znOgoNn/>で、あなたは挙動の異なる演算子を提示した。
望む挙動がお前にはわからないのに、なんで異なるって分かるの? おさるさん
>それだけの話。
どれな話なの? ちゃんと説明してくれる?
0986デフォルトの名無しさん
2016/06/23(木) 20:46:11.95ID:znOgoNn/>ありがと。
>ありがと。
>ありがと。
>ありがと。
>$a = '0'
アホすぎる! アホがすぎるぞ! ID:aUw7JVj6 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0987デフォルトの名無しさん
2016/06/23(木) 21:03:01.96ID:8l+T8FXA0988デフォルトの名無しさん
2016/06/23(木) 21:06:15.49ID:/dY0hFq/頼んます
前も言ったけどテンプレ古臭過ぎるので要検討
0989デフォルトの名無しさん
2016/06/23(木) 21:06:46.23ID:aUw7JVj6【PHP】下らねぇ質問はここに書き込みやがれ 5 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1462971286/
0990デフォルトの名無しさん
2016/06/23(木) 21:09:32.67ID:8l+T8FXAhttp://echo.2ch.net/test/read.cgi/tech/1466683550/
0991デフォルトの名無しさん
2016/06/23(木) 21:11:23.06ID:8l+T8FXAどちらを使うかはおまかせします
0992デフォルトの名無しさん
2016/06/23(木) 21:17:37.65ID:/dY0hFq/すっかり忘れてた, すまんな
0993デフォルトの名無しさん
2016/06/23(木) 21:47:29.07ID:pXTHavhi0994デフォルトの名無しさん
2016/06/23(木) 22:09:04.47ID:pXTHavhi0995デフォルトの名無しさん
2016/06/23(木) 22:12:48.63ID:WHuxwDdZ@でエラー出力を抑制しても、
エラーハンドラをセットしている時にはしっかり呼び出されてますね・・
エラー出力を抑制しないといけないところに使うのは、
あまり筋のいい書き方ではないですね
0996デフォルトの名無しさん
2016/06/23(木) 22:29:59.73ID:ISrN3FK4$a が文字列だとして空の時に特別な表示をしようと
echo $a ?: '未設定';
なんてやった場合、$a が '0' だったりすると意図から外れちゃうもんな。
便利な書き方なんだけど惜しい。
0997デフォルトの名無しさん
2016/06/23(木) 22:39:41.33ID:BeTIQhqe0998デフォルトの名無しさん
2016/06/23(木) 22:44:17.42ID:ISrN3FK4特に変数が配列だったりすると、内部的には配列のコピーが作られてパフォーマンスに影響があるんだよね。
@$_POST['foo'] の場合にこのキーが無ければ、$_POST がコピーされ foo に対応する値が null な配列を作り出し、式としては null を返し、作った配列は捨てちゃうと。
なんでこんな実装になってるんだろ。
0999デフォルトの名無しさん
2016/06/23(木) 23:01:44.89ID:/dY0hFq/楽したいならそういう機能のある新しいバージョン使う方が絶対に正しい
新しいバージョンが使えない, 使いたくないというのであれば, 楽をするのはあきらめて素直にissetで定義済みか確認せねばならん
1000デフォルトの名無しさん
2016/06/23(木) 23:08:30.51ID:ISrN3FK4まあな。
ただ、配列に関して言えば array_key_exists より isset の方がパフォーマンスがいいというのは微妙に納得いかないw
いや isset の方が楽で助かるけどさ。
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 43日 1時間 21分 40秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。