【PHP】下らねぇ質問はここに 9

レス数が950を超えています。1000を超えると書き込みができなくなります。
2017/12/20(水) 18:00:20.28ID:1xaO/YRR0
PHPに関する質問スレです

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 8
http://mevius.5ch.net/test/read.cgi/tech/1489506082/

次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
890デフォルトの名無しさん (ワッチョイ fe92-rn+T)
垢版 |
2018/11/02(金) 13:12:23.63ID:H0U+eOT90
>>889
できました。
ありがとうございます。
2018/11/02(金) 16:43:43.64ID:lKWT8t9P0
>>886
>>887
>>888
ありがとうございます。
$count には ['COUNT(id)']=>行数という連想配列が、
$count['COUNT(id)'] には 行数が、
それぞれ格納されているのですね。

return (bool) $stmt->fetchColumn();や
実務的なSQLの考え方を教えてくださってありがとうございます!
2018/11/02(金) 17:13:43.40ID:6yQoCIiM0
>>891
お、おう
そういうレベルだったのかw

変数の中身がどうなってるかわけ分からん時はすぐに
var_dump($count);
ってするんだ

$countが「配列」や「オブジェクト」だと分かってる時は
print_r($count);
ってした方が見やすいから使い分けるといいぞ

とにかく初心者の内はちょっとでもあれ?って思ったらすぐ var_dump() しろ
2018/11/02(金) 20:07:32.22ID:lKWT8t9P0
>>892
はい、ありがとうございます
2018/11/03(土) 08:11:13.12ID:29KucSII0
>>885の変数COUNT(id)なのですが
$sql="SELECT COUNT(id) で、変数宣言された、ということでしょうか?
2018/11/03(土) 08:54:23.76ID:XGyq6I+i0
連想配列の添え字という
2018/11/03(土) 14:45:26.63ID:3f9xsIAr0
>>894
上でも書かれてるけどそういう疑問を持ったら実行してvar_dump

スクリプト言語はそうやって簡単に実行して結果が見れるのがメリットなんだから、
もし今それができないなら環境構築から見直さないとものにならないよ
あと上の人もだけどPHPというよりはSQLが分かってない
勉強の仕方が間違ってる
897デフォルトの名無しさん (ワッチョイ 5b80-Q1ft)
垢版 |
2018/11/03(土) 15:52:27.60ID:rSl2Ac3O0
コレは解説のサンプルコード書いてるヤツが頭ワルイわ
$countを$$colum_valuesとか別の名前にするべき
countと直接一切関係ない

$stmt->fetch()は行の列を全部とってくるのは分かるヤツがみれば
コード書いたアホがなにをやりたいかなんとなく分かる

きっとなウンコphpのウンコライブラリ使うと
辞書の連想配列にカラムの値が格納される仕様になってるのは分かる

コレでわかる

$$column_values=$stmt->fetch(PDO::FETCH_ASSOC);
if($$column_values['COUNT(id)']>0){

↓低学歴知恵遅れが書いた解説コードはペケ
$count=$stmt->fetch(PDO::FETCH_ASSOC);
if($count['COUNT(id)']>0){
898デフォルトの名無しさん (ワッチョイ 5b80-Q1ft)
垢版 |
2018/11/03(土) 15:57:47.32ID:rSl2Ac3O0
$$2個は$1個だからな
気にしなくていい
2018/11/04(日) 11:12:58.45ID:XAVCAs+90
PHP 7.2の初歩的な質問をさせてください。
下記のようにコンストラクタの戻り値を宣言すると __construct() cannot declare a return type エラーになります。

__construct( ): void { }

コンストラクタは何も型宣言をしてはいけないということでしょうか?
2018/11/04(日) 17:56:28.09ID:A3PnxJ3qa
>>899
> コンストラクタは何も型宣言をしてはいけないということでしょうか?
その通り

というかコンストラクタの返却値型宣言していい言語ってある?
2018/11/04(日) 18:06:30.73ID:XAVCAs+90
ありがとうございました。
さあ…?
そんなに詳しくないので知りません。
2018/11/04(日) 21:17:19.38ID:hVqxhauo0
コンストラクタの機能は100%インスタンスの生成を成功することなので仮に失敗もあるならbool値のみ、でも言語の機能としてインスタンスの生成を失敗したら使い物にならないので100%インスタンスの生成を成功する言語のはずだから戻り値は必要ない
2018/11/04(日) 22:00:25.40ID:24sILPZ+0
コンストラクタは失敗時には普通は例外投げますが
2018/11/04(日) 22:34:24.16ID:zG9usG6va
コンストラクタはなくてもインスタンス作れるから戻り値の保証はする必要ない
2018/11/05(月) 00:03:35.54ID:Wuac1AE/0
voidぐらいさせてくれてもいいじゃない。
C言語おじいちゃんなんだからあ…
2018/11/05(月) 00:20:50.67ID:/crf/pgL0
>>905
コメントで挟んでおけば大丈夫?
2018/11/05(月) 01:02:42.89ID:Wuac1AE/0
@のコメントあるから別に困りはしないよ。
すべて統一という気分の問題かな。
2018/11/05(月) 08:23:12.92ID:rNsZhmmMd
返り値のことを返却値というやつって何なんだろう
何も返却なんてしてないのだが
2018/11/05(月) 09:26:17.77ID:vLA2TmCS0
返り血みたいで発音が嫌という人がいる
2018/11/05(月) 10:31:34.96ID:dcr0NBob0
>>908
たぶん何も考えてないんだろw

>>909
その発想はなかったわw

>>897
PHPerは何でも配列にしたがる癖があるのが困り物だが
配列にしてわけが分からなくなるなら
変数名の付け方をもっと工夫すりゃいいのにってのは思う
配列には$rowArrとか$row_arrとか付けるようにするとかさ

前の方にも書いたが配列として取得しなくても
fetchColumnでスカラー型として取得する方法も知っておくべきだと思うし

$arr['COUNT(id)']みたいにSQLの集計関数の結果をそのままキーとして使わずに
COUNT(id) AS cntみたいにエイリアス使って
$arr['cnt']ってする癖をつけておくべきだと俺は思うけどな
2018/11/05(月) 10:45:44.02ID:/CGchI9p0
オブジェクトで返ってきてるんだから、そのままオブジェクトとして操作すればよいと思うぞ。
2018/11/05(月) 15:02:21.85ID:44ykk/Ua0
返り値?
おれ、戻り値派
2018/11/05(月) 20:22:17.03ID:Wuac1AE/0
xamppでPHPUnitの連続実行ってどうやるの?
shスクリプトでは複数行書けば全部実行してくれる。
batファイルだと最初の1行を実行して終了する。
おま環?
2018/11/05(月) 22:23:43.78ID:dTDazKon0
>>895
>>896
>>897

ありがとうございました。
よく理解できていないのでメモさせてもらい
勉強を進めて後々で再度確認してみます
915デフォルトの名無しさん (ワッチョイ 364b-/Yns)
垢版 |
2018/11/06(火) 17:19:57.17ID:z3LzXL080
laravelがrailsと比べて優れているところ教えて下さい
2018/11/06(火) 17:42:00.12ID:YBa3NmNt0
最大のメリットは php である事。最大のデメリットも php であること。

。。。比較の軸ぐらい考えろよ。オマエアホだろ。
917デフォルトの名無しさん (ワッチョイ 364b-/Yns)
垢版 |
2018/11/06(火) 17:57:07.05ID:z3LzXL080
>>916
言語の質ではなくフレームワークの質を聞いてるんです。
918デフォルトの名無しさん (ワッチョイ 364b-/Yns)
垢版 |
2018/11/06(火) 17:57:40.53ID:z3LzXL080
あと開発効率とか学習コストとか
2018/11/06(火) 18:03:51.13ID:YBa3NmNt0
比較の軸が出てきたなw

どっちも変わらん。要件次第。
もうちょっと聞きたいことを整理して質問しようぜぃ♪
920デフォルトの名無しさん (ワッチョイ 364b-/Yns)
垢版 |
2018/11/06(火) 18:09:43.95ID:z3LzXL080
>>919
プログラミング初心者なので一番知りたいのは学習コストで、どちらが学習コスト低いですか?やはり日本語情報の多いRailsの方が有利でしょうか?わかりやすさの面ではどちらでしょうか?もう1つ聴きたいのですが将来性はどちらに方があるでしょうか?長文すいません。
2018/11/06(火) 18:20:05.67ID:YBa3NmNt0
書いてんじゃん。どっちも変わらん。要件次第。前提次第。

XXと〇〇、どっちが優れてますか系の質問するやつにまともなエンジニアはいないんだよ。
要件整理して、前提確認して、比較軸作って、ドキュメント読んで、必要なら検証するのがエンジニア。
手が動かないなら向いてない。
2018/11/06(火) 18:45:41.79ID:pOOn9lCU0
環境構築にかかるコストも考えると…
2018/11/06(火) 19:14:44.90ID:M+z1dU6f0
>どっちが優れてますか系の質問するやつにまともなエンジニアはいないんだよ
>手が動かないなら向いてない

これ両方共すげぇ分かるww
2018/11/06(火) 19:30:36.24ID:S+SbxixY0
ものすごく感覚的な話で申し訳ないけど
Railsは出た当時は画期的だったけど、他のフレームワークがRailsの良いところをどんどん取り込んでいったので優位性がなくなっていってるイメージが強いかな

あとこんな事書くとRuby使いの人が怒るだろうけど
どこかの海外フォーラムで最近、死に向く言語ランキング上位にrubyが入ってたっけ
ソースを探したんだけど、どこだったかど忘れして探しきれなかった
申し訳ない

かといってこれから先はPHP?って言われると答えはNoだけど(スレのみんなごめん)
今から勉強始めるなら、個人的には色んな意味でPythonをおすすめするかな

Pythonっていうと機械学習や深層学習のイメージが強いと思うけど、
WEBフレームワークもどんどん進化してるし、
スクレイピングライブラリなんかも超高性能なのが出てきてるし

手っ取り早く結果を出すだけならまだまだPHPの方がかなり楽だけどね
2018/11/06(火) 21:04:36.13ID:lcs8YmG2H
サーパーサイドなんてもうNode一択
他はNode書けないやつが使うもの
2018/11/06(火) 21:19:01.97ID:uacreqWN0
ルビーはクソが世界の定説
2018/11/06(火) 22:19:03.01ID:uyHdMd5J0
どんな言語でもなんとかなるさ、はOKですか?
2018/11/06(火) 22:33:13.87ID:MhNpcfCg0
>>926
ruby のどんな点がクソなんですか?
2018/11/07(水) 01:04:09.41ID:+978RLDn0
バグらない、Ruby >> Python, JavaScript >> PHP、よくバグル

PHP の本は、デザイン主体だろ。
プログラミングの本は、ほとんどない

ゲームエンジン・フレームワークの巨人、掌田津耶乃の本も、初めて出たばっかり。
Node.js超入門、2017
Python Django 超入門、2018

Rails は既に、何十冊も出ている。
この2冊が最短

たのしいRuby 第5版、2016
改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018/9/7

他に、無料のRails チュートリアルがある。
これの10日ぐらいの解説講座もあるらしい

YouTube に、Rails の動画もある。
フリーエンジニアになる人は、Rails が多い

Pythonは、ラズパイ・AI・機械学習・統計処理とか、普通のウェブページではない。
サーバーサイドは、node.js

Railsでも、HTML, CSS, JavaScript(JS), jQuery は必須だから、
プログラミングやテスト工程をマスターするには、Rubyがよい

Railsの前に、Sinatra をいじくりまわして、ウェブページの仕組みを学ぶのがよい。
Nokogiri, Selenium WebDriver で、スクレイピングするのも勉強になる

Rubyで学んだことは、そっくり、JS で使えるから、JSで学ぶよりも効率的。
Rubyの方が、他の言語よりも可読性が高く、バグらないから!
2018/11/07(水) 01:23:26.94ID:1H1h6w0g0
バグの原因はおのれのスキルと自覚しよう
2018/11/07(水) 13:03:42.68ID:Vr3ftsmu0
ちゃんとした質問しないから、エンジニアになれなかった亡霊が無駄コメント残し始めたじゃないか。。。
責任とって、クローズしろよ。
2018/11/07(水) 13:49:07.44ID:MEh9vNho0
git commit -m "close #915"
2018/11/07(水) 23:12:08.53ID:EmTVHi4X0
HTMLとJVSCRIPT、PHPは相性がいいの?
SNSとかコミュニティサイトを作って
海外のユーザにも利用してもらおうとしたら、PHP?
2018/11/07(水) 23:16:55.42ID:Qrgo3xvC0
Node.js
2018/11/08(木) 02:10:30.38ID:xe/8BT4B0
相性は別に良くないと思うよ。
フレームワーク次第じゃない?

そういう話なら既存のOSSなSNSをインストールするべきと思う。
OpenPNEやWordPressのプラグイン等など…
2018/11/08(木) 05:00:41.38ID:OUyHbsHB0
プログラム言語やツールは物を作る道具や手段であってできるものに変わりはない
HTMLのようなGUIを作る場合はエディタが出来栄えを左右することもあるだろう
ただPHPでやることはバックエンドの目に見えない地味な場所であって
頑張って書くようなコードでもなければ体感速度もサーバのスペックが大きく物を言う
そんなところで良し悪しを熱く語ってるやつはたいていアホで出来ない子
つられやすい話題につられるのもアホで出来ない子
937デフォルトの名無しさん (ドコグロ MM6d-xkqI)
垢版 |
2018/11/08(木) 06:27:27.64ID:WetMyQ75M
HTMLやCSS出来なくても
WordPress使えば誰でも子供でも
ホームページが!
それもタダで無料で!
WordPressはPHPで構成されてます人気もあります
でも問題ないわけではないです!
子供より若い園児向きには Flat-File CMSを
データベース不要でPHPで動きます!
2018/11/08(木) 07:27:25.46ID:xe/8BT4B0
>>936
意味わからんこと言って不親切よりいいわ。
そんなにもできる子は世の中お前しかいないんだよ。
2018/11/08(木) 23:31:20.72ID:bTylvWCo0
>>933
初心者でも簡単にapacheのモジュールとしてインストールして動かせるって意味では相性いいと思うよ

>>936も言ってるように
プログラミング言語というのはあくまで手段であって目的によって使い分けるものなので
これは絶対こう絶対違うって書き方してる人のことはスルーしとこう

webアプリといえばperlかc言語のcgiみたいな感じだった昔とは違って今は色んな選択肢がある
phpはその内の1つってだけ

phpのいいところは学習コストの低さかな
脳死でさっと結果を出したい時はphpみたいに何かに特化してる言語はとにかく楽

最近10年以上前にperlで書かれたcgiを触る機会があったけど
たったこれだけの事するのに何でこんなにあれこれ書かないといけないんだ…って萎えまくった(perlは文字列処理が得意だけどウェブに特化してるわけじゃないから仕方ない)

php以外にも色んな言語に触れてた方がいいとは思うけど
ウェブアプリを作ることを目的とした初学者が選ぶ言語としてはまだまだ第一選択肢となり得る言語だよ
2018/11/08(木) 23:33:38.45ID:PviajTiD0
wikipedia も PHP ですし
2018/11/08(木) 23:40:19.74ID:QE0GgM25d
>>939がいいことを言った

プログラミング言語には自分との相性みたいなのもあるからな
色んなものを試してみて1番自分に馴染みそうなのを選ぶのもいい
とにかく0か1かでしか物事を語れないプログラマ脳のいうことは鵜呑みにしちゃだめだ
2018/11/09(金) 00:06:22.11ID:gcFuq4sF0
perlは、同じ事するのでも人によって色々アプローチが違ってて
それはそれで面白いんだけどね
perlをとっつきにくくさせているのは変数の宣言と使い方じゃないかな
書いた人を呪いたくなる事があった
2018/11/09(金) 00:20:55.59ID:9LljJNk30
>>942
TIMTOWTDIがperlの設計思想だしね

>書いた人を呪いたくなる事があった
あるある過ぎて泣ける

perlはその自由度のせいで可読性が損なわれやすい(もちろん書き方の問題)けどそういう言語は最近は不人気だね

正規表現使ってワンライナーでさくっと何かしたい時とかやっぱperlはいいなって思う事もあるけど
あんまりやり過ぎると5時間後の自分にすら読めなくなるという…
2018/11/09(金) 00:36:13.15ID:jyPZVHOtd
>>943
設計思想的にPerlの対極にいるのがPythonで今や大人気だもんな
Pythonは数学者が作ってPerlは言語学者が作ったって話を初めて知った時はめちゃくちゃ納得した
2018/11/09(金) 00:49:31.00ID:9LljJNk30
>>944
だね
昔は趣味のスポーツカーが流行ったけど今は使い勝手や燃費重視のコンパクトカーや軽が流行るのと同じで
pythonは悪くいえば遊び心はないけど可読性と再利用性の高さは強力な武器だよ
流行るわけだ

プログラミング言語には作者の性格が色濃く現れてるから面白いよね

php作者の名言集
https://anond.hatelabo.jp/touch/20100427231539
ディスる時によく使われるけど俺はそんなphpも好きだ
2018/11/09(金) 00:55:17.62ID:jyPZVHOtd
>>945
> 僕なら、10リクエストごとにApacheを再起動しますね
ワロタwwwww
これ有名なの?恥ずかしながら初めて知った
面白いな
2018/11/09(金) 01:07:40.13ID:9LljJNk30
わりと有名だと思うよ
ついでにこれとか
https://takahashifumiki.com/web/programing/2209/

あんまり書いてるとマジレスして怒る人が出たら嫌なのでこの辺で…
繰り返すけど言語はあくまで手段に過ぎない
phpもperlもpythonもその内の1つに過ぎないってことでおやすみなさい
2018/11/09(金) 01:30:14.07ID:YLhQ0tUv0
ちょっとだけphpすきになれたわ
2018/11/09(金) 01:42:41.18ID:jyPZVHOtd
一気読みしてしまったけどめちゃくちゃ面白かった
サンクス
俺もPHPをもっと好きになれた気がするww

そしてPHPにもgotoがあることを知って驚愕
まあ使う必要はないとだろうけど
わざわざあとから付け足したみたいだが必要だったのだろうか
2018/11/09(金) 10:05:10.34ID:lA/zS5Cl0
ラスマスさんインタビュー
http://gihyo.jp/news/interview/2010/rasmus
ここでは自分のことを利己的と表現してるが
現実主義・合理主義者なんだよな

アホのいうことは相手にせず適当にスルーしてるから
>>945みたいな感じになるとw

> 言語は開発者が考えているほど重要ではありません。
> 重要なのはどのような製品が必要とされているのかではないでしょうか。
> 必要とされている製品をいかに速く作り,かつ簡単に維持するかが重要です。
> エンドユーザは,どの言語で書かれているか?なんて気にしていません。

このスレの誰かさんに100回声に出して読めといいたいw
2018/11/09(金) 10:08:54.85ID:lA/zS5Cl0
>>949
少し上の方にあったglobalの話と似たようなもので
使わなくて済むなら使わない方がいいって感じのもんだな
他の言語にもgotoはあるけど使ったことないや

あ、basicやったことないの?なんていうおっさんは相手にしてませんので
(書いとかないと相手にするのがめんどくさいw)
2018/11/09(金) 10:27:43.53ID:gcFuq4sF0
Fortranは?
2018/11/09(金) 13:22:28.59ID:aQf6YGTQ0
すみません、よろしくお願いします。

function readLines(string $path){
$i=0;
$file=fopen($path,'rb') or die('ファイルが見つかりません');
while($line=fgets($file,1024)){
yield $line;
}
fclose($file);
}

$gen=readLines('sample.txt');//***
foreach($gen as $line){
print $line.'<br>';
}
?>
読みだす対象ファイルは10行あります。

***の部分なのですが、$genで関数readLine()を1度呼び出して
対象ファイルから一行読みだしているように思えるのですが、
実際には、対象ファイルの全行を読みだしています。
$genで全行(10行)格納できているのは、どんな働きがあってのことなのでしょうか?
2018/11/09(金) 13:34:20.06ID:TMuJweZBa
コピペプログラミングの典型的パターン
2018/11/09(金) 13:47:18.90ID:sRuc/yNP0
>>953
たった8行しかない関数なんだから
自分で1行ごとに何しているかを調べてみよう
2018/11/09(金) 14:03:26.71ID:lA/zS5Cl0
>>953
while ($line=fgets($file,1024)) { }
がループ処理だって事も分からないのはやばいぞ
もう少し頑張れw

このコードはだめだな
while($line=fgets($file,1024))
これだと 0 だけとか改行だけの行があったらそこで処理が止まる

同じように書くなら
while (($line = fgets($file, 1024)) !== false) { }
こう書かないと駄目

PHPerはよく if ($hoge = fuge()) みたいな書き方をするけど
分かってる上で手抜きでそう書くなら別にいいが
分かってないならそんな書き方はやめるべき
2018/11/09(金) 14:08:17.39ID:9S1HIFQT0
ジェネレータ使ってるから一見何してるか分かりにくいように見えるかもね
とはいえ便利だし1行ずつ読めば難しくない

ifの条件文中で代入するのはむしろCでよく見た
2018/11/09(金) 15:26:07.95ID:aQf6YGTQ0
ありがとうございました。
2018/11/09(金) 15:37:24.13ID:lA/zS5Cl0
>>957
swiftとかpythonだとこういう書き方はできないからね(代入式が値を返さない)
そのおかげでヨーダ記法みたいなヘンテコリンな書き方をしなくてもミスが防げるんだけど
一長一短だしこの書き方を全否定してるわけじゃないってことで

perlのワンライナーが気持ちいいってのもよく分かるが
人が書いたものは見たくないというのもよく分かるw
2018/11/09(金) 15:42:44.74ID:lA/zS5Cl0
すまん下の2行
全然関係ない文章が入ってしまった

書こうと思って削除した文章がクリップボード履歴からコピペされてしまった
2018/11/09(金) 16:57:09.09ID:gcFuq4sF0
分かる

心の叫びだろうw
962デフォルトの名無しさん (ワッチョイ 5b4b-YrFS)
垢版 |
2018/11/09(金) 16:59:43.84ID:aAkZVDrn0
PHPは大っ嫌いだけどLaravelは好き
963デフォルトの名無しさん (ワッチョイ 5b4b-YrFS)
垢版 |
2018/11/09(金) 17:13:56.97ID:aAkZVDrn0
セミコロン消えろ
2018/11/09(金) 18:45:22.74ID:lA/zS5Cl0
なぜ文字列結合を . にしちゃったんだろう
フレームワークを通さずにドットチェーンでサクッと書きたい時に悲しくなっちゃう
2018/11/09(金) 18:52:30.49ID:gcFuq4sF0
そういうしきたりがあったから
2018/11/09(金) 19:48:04.81ID:3iCSUlan0
>>953
$gen=readLine('sample,text'); は、$genに関数を入れてるだけで、
書き換えるのなら

foreach(readLine('sample.text') as $line){
 print $line'.<br>';
}
ということでは?
2018/11/10(土) 13:09:23.21ID:w8ozGR5u0
>>966
ありがとうございます。変数に関数を入れられるのですね。
書き換えられた方はテキストの別のページに載ってるのと似ているので理解できました。
すっきりしました。ありがとうございました。
2018/11/10(土) 17:34:15.93ID:KJE8CLNB0
>>967
別の人も書いてるけどジェネレーター(yield)を使ってて分かりにくいなら
yield使わずに同じことやってみたらいいかも
2018/11/10(土) 17:57:23.60ID:w8ozGR5u0
>>968
ありがとうございます。
各yieldの前後や、関数の呼び出し元に
print文でどこを実行しているのかを表示させるようにして確認しました。
yield fromを混ぜ込んだ文も、同様に処理するようにしたら
ずいぶん理解できるようになりました。

皆様、ありがとうございます。
970デフォルトの名無しさん (ワッチョイ f380-9/Uq)
垢版 |
2018/11/10(土) 22:20:51.20ID:16GnFLu/0
$gen=readLine('sample,text'); 
これで代入されてるのは関数じゃなくてジェネレータ関数が返す反復可能なオブジェクト(への参照)かな
ジェネレーター関数を呼び出したのをvar_dumpするとこんな感じだわ
object(Generator)#1 (0) {}
971デフォルトの名無しさん (ワッチョイ 5b4b-YrFS)
垢版 |
2018/11/11(日) 16:39:55.95ID:kuiXddTN0
Laravelのログイン処理をゼロから解説してる学習リソースありますか?
2018/11/12(月) 01:02:22.66ID:FJ/7DuU50
青い本とオレンジ色の本
Amazonで探せばすぐにわかる
2018/11/12(月) 01:05:34.03ID:FJ/7DuU50
あとはLaravel公式リファレンス
https://readouble.com/laravel/5.7/ja/authentication.html
2018/11/17(土) 20:03:24.34ID:yvB12Mei0
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10199147355
Laravelで糞以下の質問をしている奴を見つけた。
2018/11/17(土) 23:01:03.89ID:2QpS/L3VM
>>974
こんな性格じゃそりゃいつまで経ってもゴミのままだわな
2018/11/18(日) 00:24:19.00ID:lxV5KuwV0
>>975
ソースも性格もゴミ
そしてその質問者のTwitter
https://twitter.com/tekitouk
https://twitter.com/5chan_nel (5ch newer account)
2018/11/24(土) 16:02:54.40ID:iAypOYs00
よろしくお願いします。

for($i=1;print"{$i}<br>",$i<6;$i++);
for($i=1;$i<6,print"{$i}<br>";$i++);

前者は、1〜6までをプリントしますが、後者は無限にプリントされてしまいます。i++が6を超えてしまうのはなぜなのでしょうか?
2018/11/24(土) 16:33:47.44ID:ue64utAZ0
>>977
http://php.net/manual/ja/control-structures.for.php
2018/11/24(土) 17:52:32.26ID:cnsZLZxi0
こんなコード書かれたら頭痛いンゴ
2018/11/24(土) 18:03:15.60ID:+h/hylzW0
https://github.com/php/php-src/blob/master/Zend/zend_compile.c#L4597
https://github.com/php/php-src/blob/master/Zend/zend_compile.c#L4575

zend_compile_expr_listを見る限りexprの並びは最終評価値が返る
そもそも>>977のコードは書いたやつ殴るレベルだが
2018/11/25(日) 09:04:25.92ID:dabdOdKd0
>>978
ありがとうございます。
判定がtrueになり続けてしまうということなのですね。

もう一つ質問があります。

class A{
private $B;

public function __construcr($C){
$this->B=$C;
}

というコードなのですが、classAのフィールドで変数$Bを宣言して
関数のコンストラクタの$thisで、変数$Bに引数を代入してますが
この時、変数Bの$が取れているのはどういう仕様なのでしょうか?
2018/11/25(日) 09:17:54.45ID:43hAniU60
$が取れていることで可変関数を使える仕様になっている
2018/11/26(月) 15:12:38.13ID:aqdzSIAP0
>>982
ありがとうございます。
可変関数は、$変数に関数名を格納して使うものだと理解していました。
もう少し、可変関数に関して調べてみます。
2018/11/26(月) 18:28:25.99ID:vghby52J0
$db=getDb();
$opDB=$db->prepare('SELECT * FROM sample WHERE id=?');
$opDB->bindValue(1,$_GET['id'] ?:1);

このコードから質問お願いします。
2行目の id=? は、ワイルドカードのようなものですか?
3行目のbindValueの一つ目のパラメータの1は、何を指しているのでしょうか?
2018/11/26(月) 18:34:58.26ID:9UWiUoMZ0
一つ目:イイエ
二つ目:一つ目の?
2018/11/27(火) 09:20:32.54ID:bFvRPa1H0
返答ありがとうございます。

id=? っていうのは、どういう働きをするコードなのでしょう
一つ目とか、bindValue(1,$_GET['id']);の、'1'です
2018/11/27(火) 14:57:55.52ID:aBLKPQ100
>>984
>>986
SELECT * FROM sample WHERE id=?
というSQLの中で使われている「?」はプリペアドステートメントというもの
http://php.net/manual/ja/pdo.prepared-statements.php

?だと理解し難いなら名前付き(例えば今回なら :id とか)にした方が理解しやすいと思う


$hoge = $_GET['id'] ?: 1;

はエルビス演算子という三項演算子を省略した書き方
可読性が悪いのであんまり使わない方が良いと思う

・同じ事を三項演算子で書くなら
$hoge = ($_GET['id']) ? $_GET['id'] : 1;

・同じ事をif文で書くなら
if ($_GET['id']) {
  $hoge = $_GET['id'];
} else {
  $hoge = 1;
}

だが、このケースでは、こんな書き方をしてはいけない。
(続く)
2018/11/27(火) 14:59:13.82ID:aBLKPQ100
(続き)
$_GET['id']が定義されていない事を考慮した正しい書き方は

・PHP7以降ならNULL合体演算子を使って
$hoge = $_GET['id'] ?? 1;

・↑が分かり難いなら
$hoge = (isset($_GET['id'])) ? $_GET['id'] : 1;

・↑でも分かり難いなら
if (isset($_GET['id'])) {
$hoge = $_GET['id'];
} else {
$hoge = 1;
}

このケースでエルビス演算子をこんな使い方するような糞コードは、あんまり参考にしない方がいい
2018/11/27(火) 15:06:26.62ID:aBLKPQ100
>>977も読んだが、エルビス演算子の使い方といい
いったい何を参考にしてこんなコードを書いてるんだろうか

もし本を参考にしてるなら焼き捨てた方がいいレベルで酷い

クイズ的に質問してるなら面白いけどw
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況