トップページtech
1002コメント357KB

【PHP】下らねぇ質問はここに書き込みやがれ 4 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/03/12(土) 23:25:33.88ID:j4grSBgs
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 3
http://echo.2ch.net/test/read.cgi/tech/1447495088/
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0052デフォルトの名無しさん2016/03/16(水) 23:50:29.07ID:t34HQYxh
>>31
>上記の動作と同じようなものは作成可能でしょうか
PHPでは無理。不可能。

>>42
>Script系でいうonload的な何かトリガーになる関数やメソッドがないかなと思いまして
PHPには無い。

だから参考書は買わなくていいぞ。
0053デフォルトの名無しさん2016/03/16(水) 23:52:26.23ID:TswKIM7e
もうNGしちゃったけど, 見てて恥ずかしいから補足しておくと, 多くの場合PHPはmod_phpで実行されるからCGIではない
CGIとはCommon Gateway Interfaceの略で, Apacheならばmod_cgiやfastcgiモジュールがPHPインタプリタを叩いて実行するもの
0054デフォルトの名無しさん2016/03/17(木) 00:04:39.60ID:SrjbyMW+
ちょっとこのひとすごすぎない ID:uh2T6fm3

> ロード後というよりはロード時なのでScript系でいうonload的な何かトリガーになる関数やメソッドがないかなと思いまして。
onloadはロード直後に動くイベントなのでロード後ですよ。
で、まぁ、PHPでそれは無理。
0055デフォルトの名無しさん2016/03/17(木) 02:10:23.89ID:E3PmrLA5
>>54
Javascript使わないって言っているんだから、onload関係ないでしょ。
それはJavascriptなんだから。
リロードかかるということは、サブミットかかったってことだから、
サブミット(Enter)で、サーバー側に情報送って、サーバー側のPHPが処理すればいいの。
ロード後はそりゃ何もできないよ。
でも必ずロードされるんだから、ロード前に処理ができるでしょ。
Javascript使わないって言っているのに、ロード後、ロード後って気でも狂ったの?
Javascript使わないならJavascriptの処理はできないが、それは当然のことで君がわざわざ言う理由が分からん。

>>53
いつの時代の話してるんだよ。
もうPHPはCGIが普通になっている。
詳しい事情はよく知らないが、もうモジュール版はほとんど使用されてない。
今はモジュール版しか使えなかったレンタルサーバーも、逆にPHPはCGIでしか使えなくなってるよ。
PHP側がCGI推奨してモジュール版非推奨になったんじゃないの?
最新のPHPでもモジュール版ってあるの?
0056デフォルトの名無しさん2016/03/17(木) 04:16:17.63ID:+pOWXd9M
>>43
実装と言えるほどのもんじゃないけど
ブラウザがform部品の値を維持するのって、「同じform部品である」と認識してるからでしょ
受諾htmlソースに差異がないから「同じform部品である」と認識されて、んでF5押しても値を引き継ぐと
厄介なことにブラウザごとにこの維持条件が多少違うから、大昔からformのリロード問題が面倒だったわけで

だから、
<html><body><form action="form.php" method="post"><textarea name="<?= (string)(mt_rand(15123313, 75123313)) ?>"></textarea></form>
実際にこんなん書いたら手元に環境では素のF5押下でtextareaの値がクリアされた
真面目に実装するなら、<?= 'textarea'.( (string)(mt_rand($start,$end)) ) ?> とかにしといて
submitされて値を受け取るform.phpで$_REQUESTなり$_POSTや$_GETなりをforeachして値があるかチェックすりゃいい
その程度
0057デフォルトの名無しさん2016/03/17(木) 04:21:00.26ID:RyL0OfbX
>本題の初期値を指定しなければいいという話になりますが、指定せずにいるとバリデーターにて構文エラーが出て気持ちが悪いという本当にただの個人事です。

textareaにそんなルールあったっけ?
0058デフォルトの名無しさん2016/03/17(木) 04:30:16.22ID:+pOWXd9M
あー、一応56の補足
>>35のレスから、textareaで、placeholderを有効にするためにリセットしたい、と読んだからこう書いたけど
別にtextareaじゃなくてinputでもinnerHTML/textContentsじゃなくてvalueの中身でも好きにしていいと思う

それとDOMツリーが何基準で構成されてるか知らんからアレだけど、もしかしたら
<textarea>ではなく<form>のほうの、あるいはnameだけでなくidも、変えてやる必要があるかもしれない

>>57は自分も興味ある。iso-html使ったことない
0059デフォルトの名無しさん2016/03/17(木) 04:42:48.51ID:RyL0OfbX
iso-htmlは知らないけど一応html5でやってきた
結果は問題なくパスしたし仕様書にも特に初期値入れろなんて書いてないような
(隅々まで読んだわけじゃないけど)
例にも初期値入れてないサンプルが書かれてるし不要なんだと思う
ただW3Cのバリデーターでは問題なかったけどAnother HTML-lintでは指摘されるね
どっちを信用するかといったら自分はW3Cを信用するけど
0060デフォルトの名無しさん2016/03/17(木) 04:50:59.99ID:+pOWXd9M
え、バリデータが云々ってそういうことなのか
ユーザが入力した内容がリロード時に残ってそれが何かのチェックに引っかかるのかと勘違いしてた
だからhtmlの話なのか……>>56,58まったく意味ないわすまん iso-htmlじゃスクリプトの類使えないらしいしなあ
0061312016/03/17(木) 09:35:54.48ID:7bUuFC4K
おはようございます。
みなさん沢山のレスをくださり、ありがとうございます。

>>47
関与できないのですか
phpはサーバーサイドで動くので あるいはと思たのですが

>>52
不可能ではしょうがないですね
でもphpは学びたいので参考書は買うことにします。

>>54
phpではロードがトリガーになるタイプの関数などはないのですか

>>57
>>59さんのおっしゃるとおり http://openlab.ring.gr.jp/k16/htmllint/htmllint.html
では指摘される箇所です。w3cの構文チェックでは問題ありません。

>>58
アドバイスありがとうございます
inputだけならvalueは空でも問題が発生しないのですが、textareaだけは融通が利かず困っております。

問題の解決には時間がかかりそうですが、妥協せずに努めます。
>>31の質問についてはここで〆させていただきます。
皆さん本当にありがとうございました。
0062デフォルトの名無しさん2016/03/17(木) 15:09:51.59ID:tyGZO1LH
>>54
マニュアル読んでないの?
http://php.net/manual/en/install.unix.commandline.php
0063622016/03/17(木) 15:10:32.51ID:tyGZO1LH
>>54じゃないわ>>55
失礼
0064デフォルトの名無しさん2016/03/17(木) 15:33:57.91ID:C8WQ31QC
>警告
>Apache2 の MPM マルチスレッドモードを実運用環境で使用することは推奨されません。
>代わりに prefork MPM を使ってください。
>これは Apache 2.0 および 2.2 におけるデフォルトの MPM です。
>prefork MPM を使う理由については、 マルチスレッド版 MPM の Apache2の FAQ エントリを参照してください。

意訳
worker使うにはfastcgi入れてね

今nginx+fastcgiで構築中
0065デフォルトの名無しさん2016/03/17(木) 23:09:31.14ID:tyGZO1LH
分かった, 多くがmod_phpという点は撤回しよう
0066デフォルトの名無しさん2016/03/18(金) 02:50:58.31ID:VCEknKj5
>>55 の人は状況を理解できたのかな。
0067デフォルトの名無しさん2016/03/18(金) 16:25:00.45ID:b9TT5Thu
PHPで掲示板作りたいんだけどどうやって作ればいい?
0068片山博文MZ ◆T6xkBnTXz7B0 2016/03/18(金) 16:34:07.36ID:Ap+aghgX
>>67
SQLを勉強。
データベースを元にレス一覧を表示するページを作る。
データベースにレスを追加する機能を付ける。
個人認証とアクセス規制の機能を付ける。

RoRの方が簡単だよ。
0069デフォルトの名無しさん2016/03/18(金) 16:36:42.93ID:6oRuSaMu
>>67
まずは基礎的なことを学べばいい
ファイルの読み書きとPOST,GETの概要がわかれば作れる
0070デフォルトの名無しさん2016/03/18(金) 16:42:05.89ID:R++Q/oTK
こんなとこで聞くような人にはどっかに落ちてたこんなので十分
<?php
$fp = fopen('log.csv', 'a+b');
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['name']) && isset($_POST['text']) ) {
fputcsv($fp, [$_POST['name'], $_POST['text']]);
rewind($fp);
}
$rows=[];
while ($row = fgetcsv($fp)) $rows[] = $row;
fclose($fp);
function h($str) {
return htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
}
?>
<html>
<meta charset="UTF-8">
<title>掲示板</title>
<h1>掲示板</h1><h2>新規</h2>
<form method="post">
名前: <input type="text" name="name" value=""><br>
本文: <input type="text" name="text" value=""><br>
<input type="submit" value="投稿">
</form><h2>一覧</h2><ul>
<?php foreach ($rows as $row){ ?>
<li><?=h($row[1])?> (<?=h($row[0])?>)</li>
<?php } ?>
</ul>
0071デフォルトの名無しさん2016/03/18(金) 17:07:51.15ID:tFp6SKta
>>70
試しにそのスクリプトを動かして見たんだが、log.csvには何も書き込まれん。
動かんぞ
0072デフォルトの名無しさん2016/03/18(金) 17:37:32.82ID:ylD08sGN
全くの初心者でこれを作るのに3ヶ月かかった恥ずかしいけど晒すぜ
<?php
header('Content-Type: text/html; charset=UTF-8');
date_default_timezone_set('Asia/Tokyo');
$log = 'log.txt';
$name = 'nanashi';
if (@$_POST['name'] && @$_POST['comment']) {
$name = $_POST['name'];
$now = date('y/m/d H:i');
file_put_contents($log, mb_convert_encoding("{$_POST['name']}<>{$_POST['comment']}<>{$now}\n", 'UTF-8', 'UTF-8'),

FILE_APPEND | LOCK_EX);
}
$read = file($log);
array_map(function($a){
return mb_convert_encoding($a, 'UTF-8', 'auto');
}, $read);
$len = count($read) - 1;
?>
<form method="post">
Name;<input type="text" name="name" size="10" maxlength="10" value="<?php echo $name; ?>">
Comment:<input type="text" name="comment" size="50" maxlength="50">
<input type="submit">
</form>
<ul>
<?php
for ($i = $len; $i >= 0; $i--) {
$src = explode('<>', $read[$i]);
echo '<li>' . htmlspecialchars("{$src[0]}:{$src[1]}({$src[2]})", ENT_QUOTES, 'UTF-8') . '</li>';
}
?>
</ul>
0073デフォルトの名無しさん2016/03/18(金) 18:16:32.51ID:Ncw6iORz
Route::post('/task', function (Request $request)

larevelの上記コードで
http://localhost/laravel/public/から
http://localhost/laravel/public/taskに行くと思うのですが、

http://localhost/taskに移動して404が出てしまいます。
初フレームワークでいまいちピンと来ないのでご教授願います。
0074デフォルトの名無しさん2016/03/18(金) 18:18:38.48ID:ylD08sGN
http://tamae.2ch.net/test/read.cgi/php/1358215310/
こっちで聞いたほうがええで
0075デフォルトの名無しさん2016/03/18(金) 18:27:28.59ID:kCkFI5Um
閉じ括弧足りてへんで
0076デフォルトの名無しさん2016/03/18(金) 18:44:41.00ID:4GbB4r0Q
掲示板のスクリプトが全然動かねぇ…
ファイル書き込みできない理由がわからんな…
0077デフォルトの名無しさん2016/03/18(金) 18:56:49.98ID:ylD08sGN
親ディレクトリやログファイルのパーミッションが正しくないんちゃいます
0078デフォルトの名無しさん2016/03/18(金) 19:11:37.81ID:Ncw6iORz
php artisan serveでした。
こんなのドキュメントにさえ書いてなかったぞ
0079デフォルトの名無しさん2016/03/18(金) 19:15:56.65ID:VCEknKj5
http://localhost/laravel/public/
そもそもこんなアクセスが可能な時点で何か間違えてる
0080デフォルトの名無しさん2016/03/18(金) 19:19:01.05ID:Ib/Six5x
>>77
いや、単純なファイルへの書き込みプログラムは動くんだがここで上がっている掲示板が動かん。
Macだからログファイルを777に設定してみたが無駄だった
0081デフォルトの名無しさん2016/03/18(金) 19:28:18.96ID:VCEknKj5
>>80
試してないけど、少なくともphp5.4以降じゃないと動かないかと
0082デフォルトの名無しさん2016/03/18(金) 19:52:51.02ID:PmB3GW7n
>>81
後方互換性はあるよね?
PHP 7.0.4 (cli) (built: Mar 6 2016 20:04:17) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
0083デフォルトの名無しさん2016/03/18(金) 20:15:10.33ID:VCEknKj5
内容的に、試してるのって>>70でいいんだよね。
動かしてみたら動いたよ。
0084デフォルトの名無しさん2016/03/18(金) 20:25:43.68ID:fETB3aTj
symfony1を使うことになった… 今更propelだなんて、石器時代に戻ったようだ…
0085デフォルトの名無しさん2016/03/18(金) 21:05:02.39ID:ylD08sGN
なーんもエラーメッセージ出てないの?
action先指定してないせいとかそんなんだったりして
0086デフォルトの名無しさん2016/03/18(金) 22:19:38.49ID:1/+/M8CG
>>85
何も出てないね。
action先指定してもダメ
調べたらPOSTされた値の取得失敗してる
よくわからん
0087デフォルトの名無しさん2016/03/18(金) 23:51:19.80ID:VCEknKj5
スーパーグローバルの中身それぞれ確認してみたりした?
0088デフォルトの名無しさん2016/03/19(土) 10:23:11.43ID:RdVsRxwn
PHPによるwebアプリ開発を主目的とした場合、オススメのパソコンありますか?
現在は一人でwindowsのVistaを使っていますが買い替える予定です。
開発者はmacの方が多いんでしょうか?
0089デフォルトの名無しさん2016/03/19(土) 10:53:37.88
>>88
VisualStudioにPHP Toolsを入れるのが一番捗るぞ
Windowsでよろしい
0090デフォルトの名無しさん2016/03/19(土) 12:07:25.47ID:TH+k+4Mf
PHPってなんでこんなに最高な感じなんですか?
0091デフォルトの名無しさん2016/03/19(土) 12:39:27.23ID:7KrQRChZ
>>88
開発バリバリやっている人ならMacがおすすめ。
ただし、Macは値段高いよ。
俺はmid2015 16GBのMBP使ってる
brewで簡単にいろいろ入れられるのは便利だね
IDE使っているとすぐメモリ10GB近く食われてるから8GBだときついかも
0092882016/03/19(土) 13:09:06.17ID:KQyZU1EN
>>89
ありがとうございます。参考になります。
10ならIDEのもっさり感がないと期待したいです。

>>91
調べてみたら爆速との評価で羨ましいです。
ただお高いですね・・・
今はWindows10を買って、Macの購入は今後の目標にするのが現実的みたいです。
ありがとうございました。
0093デフォルトの名無しさん2016/03/19(土) 13:17:01.38ID:KP8Apys+
>>92
持ち運ぶ事がなければデスクトップ、持ち運びたいならノート
メモリーは 8G 以上、16G あれば十分。当然OSは64ビット版。
デスクトップであればHDD 2台内蔵しておくと何かと便利。

OSはWindowsかLinux、より多く使う可能性があるものをインストール。
その後、他方をVM使ってインストールする。

これで1台のPCで2台分になり、サーバー・クライアント環境が実現できる。
0094デフォルトの名無しさん2016/03/19(土) 14:01:59.09ID:uL3uF0Qy
>>87
プログラムは>>72のやつなんだかやっぱりだめだわ
$_POSTに値が入っていない
postでリクエストを受け取っているのに値がないってどういうこっちゃ
フォームにhiddenで値を仕込んでみたりしたが値が入ってなかった。
0095デフォルトの名無しさん2016/03/19(土) 15:22:31.48ID:S6HwApMW
試しに@抜いたら?
0096デフォルトの名無しさん2016/03/19(土) 15:32:07.50ID:JCgDTcvT
>>95
Undefinedだね。
issetで見ても入ってないしどうなってるんだ…
0097デフォルトの名無しさん2016/03/19(土) 15:38:28.26ID:S6HwApMW
php,Web鯖が動き、簡単なpostが入らないてもう設定ファイルを疑うレベルやな
鯖の再起動は?
0098デフォルトの名無しさん2016/03/19(土) 15:40:12.50ID:KlqJkaFE
まずは他のブラウザやスマホからPCへと閲覧環境を変えたりしてみる
そこで問題がなければサーバ側に問題があると予想ができる
phpかwebサーバの設定が濃厚だけど
問題がosまで及ぶと一般人には難しいかもしれん
0099デフォルトの名無しさん2016/03/19(土) 16:01:53.57ID:TH+k+4Mf
(´・ω・`)
0100デフォルトの名無しさん2016/03/19(土) 16:05:51.16ID:OXv0vTm9
>>97
PHP自体は動くんだが値を受け取れない状態だからもうよくわからん
PHPStormのビルトインサーバーでデフォルト状態のままなんだがなぁ…
再起しても意味なかったで。
わからんから他で質問してみたわ。
0101デフォルトの名無しさん2016/03/19(土) 16:14:40.54ID:8q6oCiAL
var_dump($_POST)はemptyなの?
0102デフォルトの名無しさん2016/03/19(土) 16:45:48.19ID:FPRwOkHw
>>101
array(0) { } だった
0103デフォルトの名無しさん2016/03/19(土) 17:29:32.94ID:MsPwdRrK
なぜフレームワークの簡易サーバで試す
ぐぐったら$_POST always empty とか腐るほど出てくる
0104デフォルトの名無しさん2016/03/19(土) 17:54:45.58ID:8q6oCiAL
>>102
そもそもinputのvalueに値は入ってるのかな?
ためしにhiddenで適当な値を渡してみてはどうだろう。
それでダメならサーバ設定かなあ
0105デフォルトの名無しさん2016/03/19(土) 17:58:17.54ID:8q6oCiAL
いや違うか。
空でもvar_dumpしたらname=>''ってなるか。
0106デフォルトの名無しさん2016/03/19(土) 18:27:23.31ID:69KMUp3G
>>103
まさにこれだった。
https://www.reddit.com/r/PHPhelp/comments/3uxapu/phpstorm_local_php_5616_post_always_empty/

$post = file_get_contents('php://input');を追加して$postから値をとったらできたわ
0107デフォルトの名無しさん2016/03/19(土) 22:25:45.21ID:FGEWUki8
どなたかご教授ください。

http://codezine.jp/article/detail/937

この記事の一番上にある黄色い枠内のPHPコードについてなのですが、コードの内容としては「変数emailに格納されたメールアドレスをエンティティ化してURLと一緒に吐き出している」という感じでいいのでしょうか。
よろしくお願いします
0108デフォルトの名無しさん2016/03/20(日) 01:51:37.61ID:7rdlXsW/
urlというと語弊がある気もするが、それで合ってる
0109デフォルトの名無しさん2016/03/20(日) 01:57:35.30ID:sIxj3/qZ
13行目からのhideEmailの使い方のサンプルとしてはそんな感じのことをしている
そのサイトはちゃんと配慮した書き方をしてないせいで
実行結果みると何もかわってないように思えるけど実際は
>実行すると以下のような出力になる
の(2個目の黄色い)部分はこんな風になってる
※ここ(2ch)でも&を半角にすると見た目わからなくなるので全角&で書く

<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#109;&#101;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;">
&#109;&#101;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;
</a>
0110デフォルトの名無しさん2016/03/20(日) 06:49:09.21ID:7rdlXsW/
どうせ全角に置換するなら&を&amp;に変えれば良いのではないか
01111072016/03/20(日) 09:48:22.76ID:Rtd+5JCT
おはようございます。

>>108
合ってましたか。良かったです。

>>109
実行後の結果を見たらそのようになっていました。php初心者の自分から見れば謎技術です。

皆さんレスをくださりありがとうございました。
最後にひとつ気になることがあるのでアドバイスをください。

今回のPHPコードは結果としてメールアドレスをエンティティ化していますが、
PHPコードを使用せずに最初から「http://www.luft.co.jp/cgi/coding.php」のようなサイトを使ってエンティティ化したメールアドレスをHTMLに組み込んでいる場合とではセキュリティ(回収ロボット対策)に違いが生じるものなのでしょうか。

よろしくお願いします。
0112デフォルトの名無しさん2016/03/20(日) 11:20:55.28ID:7rdlXsW/
最初から実体参照にしてようがphpで都度実体参照にしようが、受け取る側にとっては同じ
どっちかってーとphpというよりHTTPのおはなしだなや

ロボット対策としては、実体参照を使うより
画像化するとかjavascript経由でdecodeさせるとかの方が良い気もするけど
経験則ではすごく単純にやるだけでも画像化するとほぼ全くスパム来ない
0113デフォルトの名無しさん2016/03/20(日) 11:47:54.77ID:ocz4IH7r
人間ならwebサイトの内容みてメールアドレスがこれだなってのがわかるけど、
botはwebサイトのソースコードを解析してメールアドレスを探し出す。
レベルの低いbotは、〜@〜.comみたいなのでメールアドレスと判断するから、
実体参照にしておくとそのルールにはひっかからなくなるっていうだけのお話。
だから>>111のサイトで変換したものを使っても差はない。
むしろ最初から変換したものを静的に使ったほうが、動的に毎回変換するより賢い。
並のbotは実体参照に変換されたのをさらにデコード(元通りに)してから判別するので無意味。
あくまでも数多くあるbotの中でもっとも低レベルなbotの対策と捉えた方がいい。
0114デフォルトの名無しさん2016/03/20(日) 12:35:04.56ID:q7lvq1yy
GDで出力すればいいじゃない
01151072016/03/20(日) 12:37:18.67ID:Rtd+5JCT
レスありがとうございます。

>>112
画像化すると良いというのはよく見かけますが本当だったんですね。

>>113
エンティティ化したメールアドレスは低レベルなロボットには対策できるんですね。

お二方、アドバイスありがとうございました。
これからサイト作りに励みたいと思います。

ありがとうございました。
01161072016/03/20(日) 12:40:49.25ID:Rtd+5JCT
>>114
レスありがとうございます。
今の自分にはGDは使いこなせませんです;;
0117デフォルトの名無しさん2016/03/20(日) 13:08:19.56ID:R3VnfHe8
GDなんか使わなくても比較的簡単に使える
http://www.maurits.vdschee.nl/php_hide_email/
0118デフォルトの名無しさん2016/03/20(日) 13:12:07.42ID:ocz4IH7r
誤解してるようだから言うけど、実体参照変換は全く無意味だからね。
ちょっとコード追加するだけでデコード出来るし、初心者でもそんくらい簡単に出来るから。
ただGD使って画像ねじまげたりまでする必要はない。
画像解析までいくと導入ハードルはあがるし、作業も大変なだけだから、そこまでやるスパマーはそうはいない。
他の人も言ってるけどアドレスかいた画像おいとおけばいい。
画像に関して強いて言うならば、mail.jpgとかわかりやすい名前にはしないほうがいいってことぐらい。
でも実際スパマーが使ってる手口は総当り攻撃的あるいは辞書攻撃的に、
適当な文字列でYahooとかGmailとかメジャーなアドレスを作成して、
実際にそのメールアドレスが存在するか調べた後にそこに送信してるだけ。
01191072016/03/20(日) 16:06:37.44ID:Rtd+5JCT
レスありがとうございます。

>>117
今の自分にはエベレストのように高いハードルです。

>>118
やはり画像が一番無難のようですね。

本当はメールフォームを置くのが一番なのでしょうが、訳あって置くことができないため、このような質問をいたしました。
納得のいく答えが出たので>>107の質問はここで〆といたします。
沢山のレス、ありがとうございました。
0120デフォルトの名無しさん2016/03/20(日) 18:59:16.49ID:UVbtKDHl
PHPではスーパーグローバルは直接操作せず、filter_input()使えってことだけど、
$_FILESはどうするのかな?
0121デフォルトの名無しさん2016/03/20(日) 19:23:05.07ID:ocz4IH7r
そんなことはない
isset使った三項演算子のコードで書いてる人のほうが多分多い
php7では??演算子ってのがあってそれが主流になっていくと思われる(タブン)
0122デフォルトの名無しさん2016/03/20(日) 21:27:02.46ID:UVbtKDHl
106あたりを読んでたら、
今後スーパーグローバルの直接参照ができなくなるんじゃないかと焦ったんだけど、
邪推かね。

やれ、10年分汗かいた。屁でもして寝るか…
0123デフォルトの名無しさん2016/03/21(月) 06:14:59.31ID:csZVNDaX
>>121
初見だと「おっ書くの楽になるないいかも」と思ったけど
これってnullか未定義しか拾えないし判定に使ったものと実際に代入するものを別にできないよな
使われることなく忘れられていきそう
0124デフォルトの名無しさん2016/03/21(月) 07:33:32.57
>>121
empty(判定する変数 ? : 空でなければこうする);
ってどうなりますか
0125デフォルトの名無しさん2016/03/21(月) 07:57:20.73ID:tg5Bjvem
質問にすらなっていない
0126デフォルトの名無しさん2016/03/21(月) 21:16:11.86ID:QwlARmOt
>>124
結局何が言いたいんだ…?
0127デフォルトの名無しさん2016/03/21(月) 22:44:58.69ID:JGe4MEfE
以下の処理を行いたいのですが何か良い方法があればご教示いただけないでしょうか。

1.メイン処理で別スレッドを生成する
2.別スレッドをバックグラウンド実行する
3.別スレッドの処理結果(標準出力)をメイン処理に返却する

<環境>
PHP:7.0.3
OS:Windows7

よろしくお願いします。
0128デフォルトの名無しさん2016/03/21(月) 23:37:09.63ID:hs33rQ/Z
「php 外部プログラム 非同期」で検索!
0129デフォルトの名無しさん2016/03/23(水) 19:40:56.99ID:bhVhOKrP
パーフェクトPHP読んでたら
$path_info=(string)substr($request_uri , strlen($base_url));
というコードがあったんですが、(string) って何を表しているのですかっっ(´・ω・`)
0130デフォルトの名無しさん2016/03/23(水) 19:48:17.15ID:/CoInmbi
>>129
http://php.net/manual/ja/language.types.type-juggling.php#language.types.typecasting
0131デフォルトの名無しさん2016/03/23(水) 19:56:23.21ID:SGU6tbYr
>>129
substr の結果を文字列化してる。
元々 substr の結果は文字列じゃないかと思うかもしれないけど、切り出し位置が元の文字列の範囲内に引っかからないと結果は boolean型の false になる。
これをキャストしてヌルストリングスにしてる。
0132デフォルトの名無しさん2016/03/23(水) 20:43:50.59ID:bhVhOKrP
>>131
解説わかりやすいです(´・ω・`)
ありがとうございます(´;ω;`)ブワッ
0133デフォルトの名無しさん2016/03/23(水) 20:47:59.96ID:1FyX1z+W
このコードは美しいから参考になるっていう
phpのライブラリは有りますか?
自分が作るとループとネストが多くなってあとで読み返すのが辛いです。
0134デフォルトの名無しさん2016/03/23(水) 21:01:22.20ID:ygSnWzaX
エラーなり例外なり返せよなあ
php7では空文字返すようになったみたいだけど
0135デフォルトの名無しさん2016/03/23(水) 21:20:26.54ID:lc58fuH/
php the right way
0136デフォルトの名無しさん2016/03/23(水) 21:53:15.96ID:g8IzY8y0
>>133
CakePHP

リファクタリングを読めばいい
オブジェクト指向でメソッドを適度に細かくすればネストは減る
0137デフォルトの名無しさん2016/03/23(水) 22:29:08.16ID:1FyX1z+W
>>136
おーCakeですか
ありがとうございます
0138デフォルトの名無しさん2016/03/23(水) 23:39:47.02ID:q0Mdl0g1
リファクタリングを読めばいい同意
0139デフォルトの名無しさん2016/03/24(木) 00:13:42.66ID:J46FDWsl
コードを2種類書いて比較して綺麗な方を採用していく
というのを繰り返していけば、自然と綺麗なコードが書けるようになると思う
0140デフォルトの名無しさん2016/03/24(木) 13:43:58.72ID:5kgXhXKu
セッション保持している間、オブジェクトは$_SESSIONに突っ込んでおけばいいの?
例えばセッション開始したときにPersonオブジェクトを作ったら、$_SESSION['person']に突っ込んでセッション保持している間はこれを参照する感じ?
0141デフォルトの名無しさん2016/03/24(木) 15:10:49.34ID:ryYCL5Z2
それが一番効率良いならそうすればいんじゃね
0142デフォルトの名無しさん2016/03/25(金) 17:09:00.06ID:9tPeO3Xg
$はみなさんどう読んでますか
0143デフォルトの名無しさん2016/03/25(金) 17:11:16.43ID:nroxL6SM
ドル
人に説明するときゃ変数っていうだろうよ
0144デフォルトの名無しさん2016/03/25(金) 17:11:22.46ID:R5xBwmiE
だらー
0145デフォルトの名無しさん2016/03/25(金) 17:12:19.49ID:sGrJOjWZ
読まないことも
0146デフォルトの名無しさん2016/03/25(金) 17:50:00.07ID:Psh2jzTy
だら
0147デフォルトの名無しさん2016/03/25(金) 18:38:58.10ID:0FfQhw//
どら
0148デフォルトの名無しさん2016/03/25(金) 18:45:15.87ID:ir49Z4lH
えもん
0149デフォルトの名無しさん2016/03/25(金) 21:00:45.71ID:jE5E6FoE
変数が入っているときは「へんすう」
配列が入っているときは「はいれつ」
オブジェクトが入っているときは「おぶじぇくと」
0150デフォルトの名無しさん2016/03/27(日) 23:18:01.97ID:2Si7i7dw
PHPの勉強をやるには何を準備したらよいですか?
Win7です
0151デフォルトの名無しさん2016/03/27(日) 23:19:43.94ID:B1uwwf8h
やる気
0152デフォルトの名無しさん2016/03/27(日) 23:21:22.83ID:zkDYEIdB
>>150

師匠を選ぶ目
■ このスレッドは過去ログ倉庫に格納されています