[過去ログ]
【PHP】下らねぇ質問はここに書き込みやがれ 12 (1002レス)
【PHP】下らねぇ質問はここに書き込みやがれ 12 http://mevius.5ch.net/test/read.cgi/tech/1619667579/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
711: デフォルトの名無しさん (ワッチョイ 895f-VlOp) [sage] 2021/08/06(金) 18:35:46.02 ID:sAaum+q/0 そもそもphp上で接続するのではなくブラウザに終了を認識させればいいので ob_startとob_get_lengthなどを使い headerでContent-LengthとConnection: closeを出力する方法がマッチしているのではないかな 適当にググってみたけど下のサイトがわかりやすかったかな ttps://pisuke-code.com/php-send-response-immediately/ http://mevius.5ch.net/test/read.cgi/tech/1619667579/711
712: デフォルトの名無しさん (ワッチョイ c17b-NIVl) [sage] 2021/08/06(金) 20:51:49.77 ID:lgptz/Bq0 > Content-Length おお正解出てきたか。実はこちらもそこに気づいて試して(昼間に)確認済みだった。 んで、いちいち文句言われるからとりあえず夜まで待ってたところだった。 つかマジで、お前らだいぶ酷いわ。改めてPHPerは糞だと再認識した。 小学生同士の小手先テクニック大会は楽しいのだろうけど、そんなんだから上達しないんだと思うぞ。 >>710-711 こちらはheaderだけで問題なくなった。 とりあえずサイト読んでみたが、こちらの結果からすると、ob_xxxもconnection:closeも要らんね。 (というか多分 connection: close は問題になるからやらない方がいい) > そもそも後処理とやらを軽くすればいい話ではないのかね > DBの設計とSQLの書き方次第で速度がかなり違うよ > そこを見直すのがいいんじゃないかな 勿論分かってるが、今でも十分軽いし、これ以上どうしようもないので。 > 接続の管理はできないのでは無いんでないのかね これは違う。接続の管理を「しなくてもいい」のであって、「出来てもよい」んだよ。 単純には機能が足りてないだけ。 近いのはGUIのイベント、onXXXだが、 あれも最初は addEventListenerとかは不要(onXXXだけで問題ない)と思われてたんだよ。 でも、有るのと無いのとでは大違いで、今は全面的に採用されてるだろ。 といってもお前らは若すぎてこの話が意味不明なら、イベントバブルでもいい。 あれもHTMLは最初から搭載していたようだが、おまえらPHPerなら特に、バブルなんて無くても設計出来ると思ってるだろ? しかしこれも同様に有るのと無いのでは設計のしやすさの次元が違ってくるので、全面採用になりつつある。 機能が足りてないときでも、足りてないと気づけない人の方が多い。 ネットが無くても不自由しなかったし、その前は携帯が無くても不自由しなかった。 無ければ無いなりにやってしまうものなのだけど、これが有ればどんなに良いか!と思いつける人はほぼ居ないんだよ。 (一応言っておくが、俺も思いついたわけではなく、他言語で知ってたから不便を感じられただけ) 例えば、asyncとか、技術的には最初からあっても不思議ではなかったけど、誰も思いつけなかったろ。あれと同じ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/712
713: デフォルトの名無しさん (ワッチョイ c17b-NIVl) [sage] 2021/08/06(金) 21:13:42.19 ID:lgptz/Bq0 >>711 > 適当にググってみたけど ちなみにどうググッたか教えてもらえないか? こちらも昼間ググリまくったが、このサイトは見てない。多分ヒットしてない。使ったのはBingだ。 んで、今google/duckduckgo/yandexで"Content-Length header"で試したが、ヒットしない。 ヒットしない(しにくい)理由は簡単で、多分仕様じゃないからだ。 ブラウザが勝手にそう動くだけで、動かなくても問題ないし、動くべきだともされてない物を、 Content-Lengthの紹介で書くことが出来ないからだ。 ただこちらは、前から意味不明なヘッダだなと思ってたので、今日改めて目にした時にピンと来た。 が、ググッてもそうは書いてないし、まあ試しにやってみるか、で、ビンゴだった。 (と書けば簡単そうに見えるが、実際はちゃんと動いているか確認するまでに結構手間取ってる) だからここみたいに個人レベルのTips集やQiitaとかじゃないと駄目なのだが、 そもそもこちらの検索結果にはそのサイトが出てこない。 どういうキーワードでどこで検索したか教えてもらえないか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/713
714: デフォルトの名無しさん (ワッチョイ 895f-VlOp) [sage] 2021/08/06(金) 22:05:32.07 ID:sAaum+q/0 php 後処理 でgoogleで検索して最初に出てきたやつ 接続を切ることができないのはwebサーバーへの接続だから node.jsはwebサーバーを内包しているから出来ることでphpはwebサーバーを内包していない Content-Lengthは何バイト応答があったらコンテンツの終わりかブラウザが認知するのでそれを利用したテクニック http://mevius.5ch.net/test/read.cgi/tech/1619667579/714
715: デフォルトの名無しさん (ワッチョイ c17b-NIVl) [sage] 2021/08/06(金) 22:08:02.71 ID:lgptz/Bq0 >>711 すまん、713取り下げ。 Bingで「PHP 後処理」でググったら一番上に出た。 俺は仕様を確認しようとしていたのだが、やり方をググれば出るのか。 なまじ自分で出来るものだから「やり方」なんてググろうとも思わなかったのが問題だな。 PHPについては初心者だということを再認識して、「やり方」もググるべきだった。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/715
716: デフォルトの名無しさん (ワッチョイ c17b-NIVl) [sage] 2021/08/06(金) 22:36:18.90 ID:lgptz/Bq0 >>714 すまん、前後した。手間をかけて本当にすまん。 > node.jsはwebサーバーを内包しているから出来ることでphpはwebサーバーを内包していない これはその通りだが、PHPから出力をクローズしたら当然apacheにも伝わりクローズされる。 そしてこれはnodeでも同じだ。 実際は(Nodeでも)closeしてもhttpコネクションを切っているわけではない。 それだと再送要求が来た時に対応出来ないだろ。 だから、実際の低レベルの接続はNodeでもPHPでも同様に隠蔽されてる。 (勿論ApacheはHTTP/1.1だとgzipしてるし、別にバッファも持ってる) よって、PHPでもNodeと同様に『プログラミングモデルとしては』接続を切ることが出来る。 だからやっぱり機能が足りてないんだよ。 パイプで説明した方が分かりやすいかな? php | apache > /dev/eth0 な状況で、php が stdout(出力パイプ) をクローズすることは出来るだろ。それだけ。 その後も apache は必要なら動き続けるし、終了すれば終わる。 この構造はNodeも内部的に持ってないと話にならないから同様の筈だよ。 ただしそもそも論として「Content-Lengthは常に付けとけボケ!」なノリのようだ。 この手のTipsとしてはStackoverflowが秀逸で、 https://stackoverflow.com/questions/2773396/whats-the-content-length-field-in-http-header の回答の中に以下仕様書へのリンクとかがあるが、 https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4 読む限りContent-LengthはもしかしてHTTP/1.0時代には必須だったのかな? 今現在、 echo json_encode(...); でjsonを語れ流してるから、これアウトかよ、、、、ってちょっと萎えてる。 メモリを無駄に食わない素晴らしいコードだと思ってたんだがなあ、、、。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/716
717: デフォルトの名無しさん (ワッチョイ 895f-VlOp) [sage] 2021/08/06(金) 23:28:26.68 ID:RLLkP2Do0 >>716 最初に"TCP接続を明示的に切りたい"とあったので機能はないと回答した そのあたりは認識してほしい 環境依存にはなるがwebサーバーに通知つする仕組みはある fastcgi_finish_request tps://www.php.net/manual/ja/function.fastcgi-finish-request.php FastCGI用の物なのでapacheのmod_phpでは不可 また、Content-Lengthは後処理不要ならば付けなくても問題なし json出すならContent-Type: application/jsonは付けたほうがいいと思う http://mevius.5ch.net/test/read.cgi/tech/1619667579/717
718: デフォルトの名無しさん (ワッチョイ 895f-VlOp) [sage] 2021/08/06(金) 23:30:33.96 ID:RLLkP2Do0 楽に使うならクラス作って継承して使えばエレガントに書けると思う http://mevius.5ch.net/test/read.cgi/tech/1619667579/718
719: デフォルトの名無しさん (ワッチョイ 13ad-tZU0) [sage] 2021/08/07(土) 00:43:48.11 ID:f2WMK3C10 androidにPHPアプリとかあるけど役に立つ? http://mevius.5ch.net/test/read.cgi/tech/1619667579/719
720: デフォルトの名無しさん (ワッチョイ c17b-NIVl) [sage] 2021/08/07(土) 00:55:00.18 ID:dDF85n970 >>717 > 最初に"TCP接続を明示的に切りたい"とあったので機能はないと回答した 責める気はないが、これはさすがに屁理屈だろ。 572は確かに俺の書き方が悪い。 ただ、「初心者」が間違った「やり方」を選んでトンチンカンな方向に行くことはよくある話で、 これを防ぐ為には「最終的に何を目指してるか」を言わなければならないが、 俺は575の時点で、 ・俺が初心者であり、 ・後処理してる最中でもブラウザにパースさせてUXを改善したいから、 ・TCP接続を切りたい と全部揃えているのだから、本当に分かってる奴が居たら、この時点で 「それはやり方を間違ってる。ヘッダにContent-Lengthを付ければそれで済む」の回答が出てきて然りなんだよ。 それがおかしな小手先テクニック合戦になったり、 或いは上記のように全部正しく揃えているのにそれを理解せず「コミュ障」呼ばわりしてくるから、 PHPerは糞だと言ってるんだよ。 これは君も含めてね。何を相手に伝えるべきか分かってないんだよ。 まあコミュ障だからこそ、(=つまり何を伝えれば通じるかが分かってない) 相手がコミョ障かどうか(=つまり必要事項が全部含まれているか)を見分けることが出来ないという、 至極当然の話で、よくあるから慣れてはいるけども。 なんかNodeを勘違いしているっぽいが、プログラミングモデルのレイヤーはPHPと同じだよ。 PHPは上手く抽象化されてる(584)というのなら、そりゃNodeでもその他でも同じだよ。 実際書けば(文法が違うだけで)ほぼ同じコードになる。 下位のTCP接続を直接切りに行けるのはCで相当野蛮に書かれたものだけだが、そんな物存在してないでしょ。 だからこれはエスパーではなく常識で読み替えられる範囲だよ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/720
721: デフォルトの名無しさん (ワッチョイ c17b-NIVl) [sage] 2021/08/07(土) 00:55:28.53 ID:dDF85n970 >>717 ただまあ、これはさておき、 そもそも環境依存コードを導入する気はないが、無料鯖は大体CGIモードだから行けるのか。 とはいえ少し金かけたらモジュールも選べて、 その際にいちいち「動かなくなりました」とか言われるのが面倒だから止めとくが。 ただ、これだとやっぱり昔は必要だと認識されてたって事だよ。 正直、Content-Lengthよりも直接的で分かりやすい解決策だから、俺も606で言ってるように、 最初に整備されるAPIであり、普通のプログラマにとっては第一選択肢の筈なんだよ。 ただこれだと、モジュール化した際に不要だと見なされて落とされたってことになる。これは何でだろう? 実装自体は至極簡単だし、基本的な物だから、「問題を多発させた」とかない限り落とす判断にはならないはずだけど。 > また、Content-Lengthは後処理不要ならば付けなくても問題なし MDNは「付いている時も、付いてない時もあります」と言い、 W3Cは「出来る限り付けろ。ストリーミング以外は付けられるだろ」と言い、 実際の他サイトは確かに「付いている」ので、ちと迷ってる。 > json出すならContent-Type: application/jsonは付けたほうがいいと思う これは勿論付けてる。てか、そうじゃないとブラウザで正しく読めないので。 > 楽に使うならクラス作って継承して使えばエレガントに書けると思う 問題はそこではなく、メモリを出来るだけ食わない方法でやろうとしてた。 jsonはDBの読み出し結果から直接生成する(長さを予期出来ない)ので、Content-Lengthを付けるにはob_xxxxを使うしかないが、 これだと単純に倍のメモリを食ってしまうので。 まあ君らは「でも物理で殴る方が速いんでしょ?」なノリで、実際これも事実ではあるが、俺としては以下と同様、 正しく使えばポンコツでも速いぜ!を目指したいんだよ。 https://qiita.com/masarufuruya/items/3bd72326448e4f8fa569 JSがそうなんだけど、おそらくPHPも同様で、糞コードばかり食わされて正当な評価を得ておらず、 それなりに洗練されたコードだったら意外と速いんだろうとは思うよ。 Webでは「速いよりも早い方が重要」だからある程度致し方ないのだとしても。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/721
722: デフォルトの名無しさん (ワッチョイ 9910-qxAg) [sage] 2021/08/07(土) 08:23:51.18 ID:xdlB1E9b0 phpでもやるかなって思ったけど、大勢で同じセッションみるとかできる? http://mevius.5ch.net/test/read.cgi/tech/1619667579/722
723: デフォルトの名無しさん (ワッチョイ c17b-NIVl) [sage] 2021/08/07(土) 09:24:23.62 ID:dDF85n970 >>717 一応こちらの現時点の結論を言っておくと、 Content-Lengthはストリーミング以外は全部つけないと駄目だな。RFCでもSHOULDだし、 https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2 動きを見る限り、apacheもこれをスヌープしてる。 よって、「仕様準拠」なら flush() だけで何も問題ないから、 fastcgi_finish_requestはモジュール化した際に廃止された、と見える。 だから711内のページ筆者もだいぶ間違ってて、 まずConnection: closeをTCP接続終了(いわゆるFIN/FINACK/ACK)と勘違いしてるが、 実際はこれは同じコネクションを再利用するかの話だから関係ないし、 HTTP/1.1だとデフォでkeep-aliveなので無駄にcloseにするとバグに当たる可能性があるから悪手だ。 https://en.wikipedia.org/wiki/HTTP_persistent_connection#HTTP_1.1 そしてContent-Lengthを付けたら上手く行くよ!ではなく、付けないと話にならなくて、 仕様準拠=付けてれば最初からこんな事にはならずに済んでる。 だからこいつも俺も『仕様を知っている者から見れば』ただのマッチポンプでしかない。 ここで711内ページ筆者、俺、或いは君らも含めての問題は、レイヤーを間違ってることだ。 PHPは生のヘッダを普通に扱えるレイヤーでのプログラミングになるから、ヘッダについての仕様を(本来は)熟知してないといけない。 だから575に対してはいきなり「Content-Lengthヘッダ付けろ馬鹿タレ」とぶった切れないといけない。 とはいえ昨今の状況であらゆる階層の仕様を熟知しろなんてどだい無理な話ではあるが。 だからやっぱりもう一つレイヤーを上げるべきなんだ。 ヘッダの知識がない状態で具だけ書きたいのなら、ヘッダ周りを自動的によしなにやってくれるフレークワークを使うべきだろう。 そしてLaravelは見たところそんな感じだ。 なるほど、「セッション周りとかはフレームワークに任せてLaravelだけ使ってろ」というのは当たってる。 (俺も含めて)素人ほどフレームワークを使うべきだろう。 とはいえ、俺はデプロイ先が無料サーバなのでいちいち仕様確認して素PHPレイヤでのプログラミングをするしかないのだが。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/723
724: デフォルトの名無しさん (アウアウアー Saab-MJGN) [sage] 2021/08/08(日) 13:58:58.59 ID:e9M5NaPRa ぶつくさ文句ノイズ垂れ流すの鬱陶しいからNGするためにコテつけてくれよ 「PHPerは糞」とかどうだ http://mevius.5ch.net/test/read.cgi/tech/1619667579/724
725: デフォルトの名無しさん (ワッチョイ 13f7-tZU0) [sage] 2021/08/08(日) 14:23:41.94 ID:sHQOKZVt0 chmateだと最初から荒らしってなって表示されないよ! http://mevius.5ch.net/test/read.cgi/tech/1619667579/725
726: デフォルトの名無しさん (ワッチョイ c134-y0A/) [] 2021/08/09(月) 02:00:02.31 ID:gYL5uhjB0 それにしてもThe老害を絵に書いたような奴だな 加齢臭が半端ない そんな奴が無料レンタルサーバーでできるPHP案件にしがみ付いてるのがまた笑うところ http://mevius.5ch.net/test/read.cgi/tech/1619667579/726
727: デフォルトの名無しさん (アウアウアー Saab-IXul) [sage] 2021/08/09(月) 07:34:41.94 ID:nmP8QoA6a 無職の人はたくさんレス書く時間あって良いよね http://mevius.5ch.net/test/read.cgi/tech/1619667579/727
728: デフォルトの名無しさん (ワッチョイ 532c-Lto6) [sage] 2021/08/09(月) 13:13:55.63 ID:78aLRiJY0 YouTube で有名な、雑食系エンジニア・KENTA は、 PHP は、一生やらなくてよいと言ってる 価格低下圧力がひどいでしょ。 客もプログラマーも、PHPを見下しているから、大金を出さない だから勉強しても、まず食えない それでサロンは、Ruby on Rails だけにしている。 マコなりとか普通、学校でも80万円コース 今はYouTube で、200万円の学校をぼったくりと言ったから、訴えられているけどw KENTAは日本一だから、学校も訴えて知名度を上げようとしてくる KENTAは、Railsを使っている会社は、モダンな会社とも言ってるし。 他の会社とは、明らかに異なる http://mevius.5ch.net/test/read.cgi/tech/1619667579/728
729: デフォルトの名無しさん (ワッチョイ a15f-b60h) [sage] 2021/08/09(月) 21:41:07.25 ID:Qit5eEqI0 一YouTuberの言うことを真に受けなくてもいい http://mevius.5ch.net/test/read.cgi/tech/1619667579/729
730: デフォルトの名無しさん (アウアウウー Sa55-YX0H) [] 2021/08/09(月) 22:11:02.95 ID:pjjWaghZa 1つ聞きたいんですが、SCSSを導入する際メンテナンスが面倒なら嫌だなと思ってます dart sassにサポートが切り替わった際にその前のruby−sassやnode-sassのコードをわざわざ書き換えないといけないんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/730
731: デフォルトの名無しさん (アウアウウー Sa55-YX0H) [] 2021/08/10(火) 03:02:08.79 ID:0jLh5m3Ra 結局Javaもphpと同じで自分で考えて構築しないとダメなんですね… 人のコードを映しても環境の違いからエラーが出ると SASSを使うためにとんでもない時間掛かってます… http://mevius.5ch.net/test/read.cgi/tech/1619667579/731
732: 728 (ワッチョイ 532c-Lto6) [sage] 2021/08/10(火) 11:29:36.31 ID:9wi/dlAk0 ruby−sass は、かなり前に終了している Ruby on Rails 6 では最初から、Node.js, Webpack, Babel。 当然、SCSS でBootstrap を使うことも多い autoprefixer, browserslist とか、ミニファイなど、すべて全自動 会社では毎週、各ライブラリを更新してテストする。 この環境構築運用部門がないと、ずっと環境が古いままで直せないので、 ウイルス攻撃などを受ける こまめに更新・テストするのは常識。 貯めてはいけない だから、Rails入門者にも、CircleCI も必須。 最近は、AWS Fargate, Terraform なども必須で、 皆、AWSのくろかわこうへいのサロンにも入る KENTA のサロンの初心者向け勉強のコースは、 基本情報技術者資格、Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース http://mevius.5ch.net/test/read.cgi/tech/1619667579/732
733: デフォルトの名無しさん (ワッチョイ 337d-QHSv) [sage] 2021/08/10(火) 14:40:11.44 ID:zAxh9PBJ0 JavaとJavaScriptの区別がついてない奴がいるらしいぞ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/733
734: デフォルトの名無しさん (ワッチョイ e191-lZJ8) [sage] 2021/08/11(水) 13:59:27.76 ID:fZr8mTrx0 こんな紛らわしい名前を付けた犯人は誰? http://mevius.5ch.net/test/read.cgi/tech/1619667579/734
735: PHPerは糞 (ワッチョイ c17b-NIVl) [sage] 2021/08/11(水) 21:04:34.54 ID:C/NScrzP0 PHPでの参照渡しの「ノリ」が分からないのだが、どの辺が相場なのだ? なお、 https://tanakahisateru.hatenablog.jp/entry/2013/12/12/012728 は読んだ。これはいい記事だ。 そしてとりあえずコーディングルールを探してみたが、無い。 PSR/WordPress/Zend/Cakeのはさらっと見たが、文法だけで、動作については記述がないようだ。 だから、動作周りも含めての推奨コーディングルールがあればそれを教えてくれると助かる。 DBから読み出してフォーマットしてjsonで出力する場合、一番単純には、 $resultArr = fetch_from_DB(); format_for_API($resultArr); // 参照渡しで自己書き換え echo json_encode($resultArr); function &format_for_API(&$arr){ // ここで何かフォーマット return $arr; // 直上のコードでは必要ないが、直積み(以下)用にreturnしている。 } となる。ただしこのコードは以下の様な直積み echo json_encode(format_for_API(fetch_from_DB())); だと、 Notice: Only variables should be passed by reference が出る。(ただし動く) http://mevius.5ch.net/test/read.cgi/tech/1619667579/735
736: PHPerは糞 (ワッチョイ c17b-NIVl) [sage] 2021/08/11(水) 21:04:54.72 ID:C/NScrzP0 ここで、直積みコードを動かす為には format_for_API を「参照渡し」から「値渡し値返し」に変更する必要が有り、 コードは、 $resultArr = fetch_from_DB(); $resultArr = format_for_API($resultArr); // 再代入 echo json_encode($resultArr); となる。これだと結果としては速度/メモリ共に変化無い。ただし最近の『再代入禁止』には反するので、 $resultArr = fetch_from_DB(); $resultArr_formatted = format_for_API($resultArr); // 別名 echo json_encode($resultArr_formatted); と別名にすると、(今回の俺の場合、速度は大して変わらないが)使用メモリは増えてしまう。 これらから言えるのは、 A. format_for_APIは「参照渡し(参照返し)」が正しいはずだが、何故かNoticeが出されてしまう。 仕様としては、参照渡しに未初期化の変数が渡されたらそこでnull初期化される、ということだから、 直積みでも動くのは正しく、Noticeが過剰なように見える。(ただし以下7とは矛盾) (PHPの構造上 is_ref が変数上にしか持てないのが問題なのだろうが、 そこはボックス化みたく変数化すればいいだけで、このような右辺値を流し込んでいる状況なら危険性はないはず。 実際動いているし。だから何でNoticeなの?となる) B. 同名の変数に再代入する場合は(破棄されることが見えているから)最適化がかかり、問題はない。 C. 別名の変数に保存した場合、元の変数($resultArr)がそれ以降使われない場合でも、破棄されず、最適化がかからない。 結果、メモリを余分に消費する。 これについて、冒頭の記事では「そういう特殊な高級言語だ」と表現されているが、これは当たっている。 クダグダ考えずに「値渡し値返し」でひたすら全部組み上げてもそれなりに動くからだ。 そして昨今の『インミュータブル』で『再代入禁止』なのは下位での変更が上位のコードから見えないからであって、 PHPの場合は「値渡し」でガッツリ保護されているから、 『再代入禁止』『参照透過』何それ美味しいの?でも確かにそれなりに問題ないはず。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/736
737: PHPerは糞 (ワッチョイ c17b-NIVl) [sage] 2021/08/11(水) 21:05:17.28 ID:C/NScrzP0 俺の現環境ではBしか選択肢がないが、ここら辺はPHP界隈ではどうなってるのだ?具体的には、 1. 理想的にはAでNoticeが削除されるべきだが、既にそうなってる/これから削除予定か? 2. (知らんが、)実はPHPって一つのコードで出来てて、「おま環」ってのがあまり無く、 俺の環境でBが最適化されてれば、どの環境に持って行っても最適化されてて問題なく動くのか? (これについてJSが悲惨なのはご存じの通り) 3. まさか、notice切ればいいだけだろ、とか言うノリか?(個別に切れるのならこれも有りだが) 4. 最適化を期待して、参照渡しの使用自体を禁止/抑止する方向か? (真に必要な場合以外は使うな等。今回なら上記のように同名の変数に代入すればいいだけだよね、みたいな。) 5. この辺も含めての、文法(見た目)以外のコーディングルールで有名なのが有れば教えてくれ。 6. このPHP流の参照仕様、使い道無いよな?実は冒頭の記事を読んだ当初、 > PHPの参照はいちど変数が参照になってしまうと、二度ともとに戻ることができないので、扱いにくくてやっぱりダメです。 とあるので、参照は変数側に固定で、参照変数を値渡しの関数の引数にしても常に参照渡し、なら、 スゲーカッケー!!!と思って試したが、全くそうじゃなかった。 しかも参照渡しの関数の戻り値を普通に値変数として確保出来るし、「二度ともとに戻ることができない」というのが意味不明。 Cみたいに呼ぶたびに自由に切り替えられることを想定しているのなら、それは過剰で、 (そもそも元々出来たようだがPHP4.1.3で廃止された、というのを見た覚えがあるが、再確認出来ない) 実際はRustみたいに「mutableな変数は最初から決まっているので宣言時に固定する」で問題ない。 だからコピーオンライト(これってPHP.netでは書いてないだろ!今日初めて知ったわ!)で 全部見た目は値渡し値返し、なら、凄く先進的ではあったのだが。 (なお参照の取り扱いは他言語も苦労してて、C++でも失敗してる) http://mevius.5ch.net/test/read.cgi/tech/1619667579/737
738: PHPerは糞 (ワッチョイ c17b-NIVl) [sage] 2021/08/11(水) 21:05:44.32 ID:C/NScrzP0 7. > リファレンス渡しが想定されているところに、値渡しを行うとエラーになります。 > https://www.php.net/manual/ja/functions.arguments.php ってあるのだが、今回ってこれか?なら動いてはいるがやっぱりアウトなのか? ちなみに直積みになってるのは、元はfetch_from_DBの出力側で format_for_APIしてたのを、 json_encodeの入力側でやるように移動して、結果的に <?= => の間にブッ込まれてるからだ。 まあ色々文句有るんだろうが、それでも答えてやってもいいぞ、って人はよろしく。 一応724の要求どおりにこのスレ内ではコテにしておく。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/738
739: デフォルトの名無しさん (アウアウクー MMdd-aRn8) [sage] 2021/08/11(水) 21:40:15.37 ID:PueOOWfrM 参照返しも値返しもメモリ使用量差は今日日のメモリ容量から見たらわずかな違いだから気にしなくて良い。 参照返し、値返しを考慮したメモリ省使用量化はクセのあるコードになる。 書いた本人以外が今後保守する場合は、その人にもわかりやすく、ミスさせないためにそういうコードを書かないほうが良い。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/739
740: PHPerは糞 (ワッチョイ c17b-NIVl) [sage] 2021/08/11(水) 22:21:08.32 ID:C/NScrzP0 >>739 その記事とかからすると、どうも過度にやってる奴が居るようだが、今回の件は全くそうではないだろ。 むしろ、「値渡しで自己に再代入って、こいつ参照渡し知らない馬鹿だろ!」って、お前らなら突っ込んでくるところだろ。 がまあ、PHP鯖はPCでしかないので大富豪プログラミングでおk、なのは確かにその通りかもな。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/740
741: デフォルトの名無しさん (ワッチョイ 51ad-Z6Ah) [] 2021/08/12(木) 00:47:16.96 ID:xG1RPqdX0 スクレイピングは逮捕される危険があるって聞いたんだけどマジ? http://mevius.5ch.net/test/read.cgi/tech/1619667579/741
742: デフォルトの名無しさん (ワッチョイ a15f-b60h) [sage] 2021/08/12(木) 01:38:59.56 ID:wrwwe/e30 威力業務妨害の可能性はあるだろう http://mevius.5ch.net/test/read.cgi/tech/1619667579/742
743: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 02:19:59.04 ID:ZBXe4sG30 被害を受けた事を証明しないとならないぞ http://mevius.5ch.net/test/read.cgi/tech/1619667579/743
744: デフォルトの名無しさん (ワッチョイ 532c-Lto6) [sage] 2021/08/12(木) 11:23:42.11 ID:s+UN3BdM0 スクレイピングでは、そのサイトのrobots.txt を遵守する必要がある 初心者がスクレイピングすると、プログラムのバグで無限ループしたりして、 そのサイトを落としてしまう事があるので、超危険! だから、必ずテスト中は、ローカルPC に対して行うこと! 絶対に、本番サーバーに対して、テストしてはいけない Udemy の山浦清透、2021/6 の動画を参照。 PHP で、マイナビ転職をスクレイピングしてる 【作業工程フル公開】エンジニアが30万円案件の制作過程を公開 www.youtube.com/watch?v=tYbVl6N8oxI http://mevius.5ch.net/test/read.cgi/tech/1619667579/744
745: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 11:52:11.82 ID:ZBXe4sG30 仮に無限ループしたとしても落ちるのはサーバー側に不具合があるからだろ http://mevius.5ch.net/test/read.cgi/tech/1619667579/745
746: デフォルトの名無しさん (ワッチョイ 532c-Lto6) [sage] 2021/08/12(木) 12:16:26.88 ID:s+UN3BdM0 >>735 Ruby on Rails では、 format.html format.json と書いておけば、 /books/1 にアクセスすれば、HTML を、 /books/1.json にアクセスすれば、JSON を返す jbuilder モジュールでも、JSONを簡単に書ける http://mevius.5ch.net/test/read.cgi/tech/1619667579/746
747: デフォルトの名無しさん (ワッチョイ c134-y0A/) [] 2021/08/12(木) 14:40:12.42 ID:B1L5o8hM0 >>741 >>642 こんな事も人に聞かないと分からんない奴が居るんだな http://mevius.5ch.net/test/read.cgi/tech/1619667579/747
748: デフォルトの名無しさん (ワッチョイ c134-y0A/) [] 2021/08/12(木) 14:43:21.86 ID:B1L5o8hM0 >>745がサーバ構築した事がない人間なのは分かった http://mevius.5ch.net/test/read.cgi/tech/1619667579/748
749: デフォルトの名無しさん (ワッチョイ c134-y0A/) [] 2021/08/12(木) 14:52:03.99 ID:B1L5o8hM0 >>746 お前も PHPerは糞 おじさんを見習って 名前欄に RUBYガイジ って入れてくんない? PHPerは糞おじさん、2021年にもなって参照渡しでメモリがーとか言ってるはクソ笑う さすが加齢臭おじさんやね http://mevius.5ch.net/test/read.cgi/tech/1619667579/749
750: デフォルトの名無しさん (ワッチョイ 3101-mBWR) [sage] 2021/08/12(木) 14:59:04.04 ID:sye04Gqu0 <input type="text" name="text1" value="aaa" readonly> ユーザー側がvalue="aaa"を書き換えてpostする事ってできますか? 出来るのだったらhtmlのソースに載るものをsqlに入れる時は全部プレースホルダにしないといけないですよね http://mevius.5ch.net/test/read.cgi/tech/1619667579/750
751: デフォルトの名無しさん (ワッチョイ 532c-Lto6) [sage] 2021/08/12(木) 15:14:15.05 ID:s+UN3BdM0 クライアントから送られてくるものは、絶対に信用してはならない。 place holder を使うのが基本 ドラクエ10 では、0.2% ほど、おかしなデータが送られてくると言ってる 伝送エラーでも、パリティーを再計算して、 正しいデータのように見せかけて伝送する、ルーターがある。 そういうルーターを、世界中から排除できない http://mevius.5ch.net/test/read.cgi/tech/1619667579/751
752: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 15:29:27.65 ID:ZBXe4sG30 >>748 例の図書館サーバーは三菱がメンテナンスしてたんだよな それは知ってる http://mevius.5ch.net/test/read.cgi/tech/1619667579/752
753: デフォルトの名無しさん (ワッチョイ 937c-nI4z) [sage] 2021/08/12(木) 15:30:13.40 ID:39FD7TF90 >>750 いくらでも出来るよ そういう値をめんどくさいからと言って送ったりしない事 サーバー側に保存しておけ http://mevius.5ch.net/test/read.cgi/tech/1619667579/753
754: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 15:50:17.28 ID:ZBXe4sG30 >>748 あの図書館サーバーは普通のアクセスが集中しただけで落ちるんだぞ DBのカーソルを使ったあと開放してなかったんだそうだ こんなの初心者しかやらないコーディングだろう? http://mevius.5ch.net/test/read.cgi/tech/1619667579/754
755: デフォルトの名無しさん (ワッチョイ 3101-mBWR) [sage] 2021/08/12(木) 15:51:38.16 ID:sye04Gqu0 >>751 >>753 有難うございます。 セレクトボックスの値や、javascriptで書き換えるreadonlyのテキストボックスの値を sql文に入れるかどうか迷ってました。 全部プレースホルダにします。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/755
756: デフォルトの名無しさん (ワッチョイ ebbb-F4Jt) [sage] 2021/08/12(木) 15:58:48.50 ID:jvdC9oQ40 >>754 それがナンナンダヨ 岡崎図書館事件は、お前の言うようなシステムだったとしても逮捕されて起訴猶予がくだされたって話だぞ あと三菱じゃなくてMDISな 子会社ってのは別会社なんだよ お前社会経験無いだろ http://mevius.5ch.net/test/read.cgi/tech/1619667579/756
757: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 16:03:27.95 ID:ZBXe4sG30 最近も偽造で有名になった、あの三菱 ホント、三菱の名前って有名になったよな http://mevius.5ch.net/test/read.cgi/tech/1619667579/757
758: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 16:08:04.61 ID:ZBXe4sG30 >>756 不具合がある事は以前からは悪していたが、顧客には伝えていなかった 定期メンテナンスの度に、コッソリ修正を加えていたが、 岡崎図書館だけはチャンスがなかった 通常の利用者がアクセスするだけで落ちるサーバー 毎朝再起動するのが日課だったそうだ そうしないとダウンするサーバー 隠蔽体質は独特だよな http://mevius.5ch.net/test/read.cgi/tech/1619667579/758
759: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 16:12:07.54 ID:ZBXe4sG30 岡崎図書館だけでなく、システム導入した全国の図書館で不具合は起きていた 各図書館は定期メンテナンスがあった際に修正版を導入していたが、 岡崎図書館だけは、必要ないとメンテナンスを断られていた 不具合があると、本当のことを伝えてさえいれば修正できたのにな http://mevius.5ch.net/test/read.cgi/tech/1619667579/759
760: デフォルトの名無しさん (ワッチョイ ebbb-F4Jt) [sage] 2021/08/12(木) 16:14:36.36 ID:jvdC9oQ40 >>759 おまえ、気持ち悪いやつだな http://mevius.5ch.net/test/read.cgi/tech/1619667579/760
761: デフォルトの名無しさん (ワッチョイ 532c-Lto6) [sage] 2021/08/12(木) 17:00:02.35 ID:s+UN3BdM0 確か、毎秒アクセスしてたのだろ。一日で何万回も。 それで落ちた。 普通のアクセスでは落ちない それで自白に追い込まれた。 自白しないと、一生家族を追い込むぞと脅されて、自白させられた 日本の裁判は、行政・司法の事前打ち合わせで有罪が決まる。 法廷では裁判しない だから、拷問捜査でも自白すると、絶対にくつがえらない。 自白したのが嘘でしたと言っても、裁判官がそんな事はあり得ないと、絶対に認めない それで、ボクサーが自白して、今も死刑囚のままの事件がある。 DNA 判定でも別人なのに、裁判官が嘘で自白する事はあり得ないと、言い続けている でも、無罪が国民にばれているから、有罪のまま釈放してる ボクサーはパンチドランカーで、知的障害になりやすい。 そういう奴を探してきて、拷問して自白させる。 知的障害は、すぐに自白するから そうやって犯人に仕立て上げる 自白を優先させる国は、世界中でも日本だけ 有罪率も他国では、50% だけど、日本だけ100%。 だから半分は、自白による冤罪 http://mevius.5ch.net/test/read.cgi/tech/1619667579/761
762: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 17:13:39.26 ID:ZBXe4sG30 岡崎図書館システム作った企業は、サーバ構築した事がないんだろう あろうことか、システムの全ソースファイルがネットから丸見えだった 当時大勢がソース閲覧してレビュー大会始めてたな 隠しきれなくなった企業は、最期に全面謝罪していた http://mevius.5ch.net/test/read.cgi/tech/1619667579/762
763: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 17:21:59.60 ID:ZBXe4sG30 >今年5月に発覚した岡崎市立中央図書館ウェブサイト「サイバー攻撃」事件は悪意のない一利用者の >プログラムによる DoS 攻撃とみられており当初「偽計業務妨害の疑いで」の逮捕も妥当かと思われて >いたのですが、不起訴(起訴猶予)処分が発表された後で図書館のプログラムを入手した朝日新聞が >セキュリティ専門家らに調査を依頼したところ、実は図書館プログラムのバグだったことが判明。 > このコードの場合、DB接続はアクセス元のブラウザ専用として確保(ASPセッションに紐付け)され、 >ASPセッションがタイムアウトするまでの間(7月の時点で岡崎市立中央図書館では実測で620秒くらい >だった)、閉じられることなく(使いもしないのに)占有されてしまう。その間に新しい閲覧者(ブラウザが) >接続してくると、次々新しいDB接続が確保され、その最大数に達すると、それ以上のアクセスを受付け >なくなってしまう。 >しかも酷いことに新聞報道に基づいたコメントによると、ソフトウェア開発業者の三菱電機インフォメーショ >ンシステムズ(MDIS)は2006年にこのバグを修正していたが、それ以前に導入した顧客には「ホームペー >ジが閲覧しにくくなるのは、コンピューターの性能が低いからだ」と説明、「新しいサーバーを導入して金を >出させるために、わざと情報を秘密にしていたようですね」。 https://ameblo.jp/ecomstation/entry-10627088813.html http://mevius.5ch.net/test/read.cgi/tech/1619667579/763
764: 761 (ワッチョイ 532c-Lto6) [sage] 2021/08/12(木) 18:07:20.17 ID:s+UN3BdM0 日本では自白をしたら、絶対にくつがえせない 裁判で、無理やり拷問捜査で自白させられたと言っても、 裁判官がそんな事はあり得ないと、絶対に認めない 自白して、100% 有罪に出来るから、立件されなかっただけ 日本の裁判は、行政・司法の事前打ち合わせで有罪が決まる。 法廷では裁判しないから、有罪と同じ 青汁王子みたいに、検察庁の拷問取り調べを発信したら、起訴されて有罪になった。 一方、徳井みたいに脱税を認めたら、不起訴になった だから、青汁王子は検察改革として、選挙に立候補するかも知れない 日本の裁判の半分は、自白のみで証拠がない。 だから、本当は無罪だと国民にばれないように、マスコミを使って印象操作する 毎日ひっきりなしに、事件の捜査進行をマスコミにリークして、犯人だとでっち上げる。 それで実質的に、裁判所では裁判をしない 西村と同じ。 自公は何も立法せず、銀行へ要請して、酒屋に資金提供しないように締め上げる これは要請で強制力がないから、自公は責任を負わない。 単に、銀行が加害者になるだけw http://mevius.5ch.net/test/read.cgi/tech/1619667579/764
765: デフォルトの名無しさん (ワッチョイ 5102-+UG9) [sage] 2021/08/12(木) 18:07:42.18 ID:HkfEGEyR0 プログラミング言語を作るヒントのために メモリがー 参照がー という流れでもないな http://mevius.5ch.net/test/read.cgi/tech/1619667579/765
766: デフォルトの名無しさん (アウアウクー MMdd-IXul) [sage] 2021/08/12(木) 18:50:40.99 ID:fLUL3BRXM >>760 例のコテハンおじさんだぞ http://mevius.5ch.net/test/read.cgi/tech/1619667579/766
767: デフォルトの名無しさん (ワッチョイ 3163-Z6Ah) [sage] 2021/08/12(木) 18:56:05.94 ID:ZBXe4sG30 >三菱電機の不祥事が止まりません。労務問題に品質不正などが相次ぎ、6月29日には >鉄道車両向け空調装置において、35年以上にわたる不正検査の問題が発覚しました。 >7月2日に記者会見した三菱電機の杉山武史社長は組織的な不正行為と認め、引責辞 >任を表明する事態となりました。外部の弁護士を起用した調査委員会を発足し、原因究 >明や再発防止策の策定に乗り出しました。 体質として、どこかおかしい http://mevius.5ch.net/test/read.cgi/tech/1619667579/767
768: PHPerは糞 (ワッチョイ c17b-NIVl) [sage] 2021/08/12(木) 20:24:45.08 ID:M/4woqjc0 >>749 それだけ言ってNGし切れないとか超ダセエ。ゆとり臭すぎ。 >>765 それは俺に言ってるのか? なら俺はいいが、場所は移るべきだ。ここの連中は興味もないだろうし。 PHPを中心に考えるのなら、候補としてはWebプログラミング板かな? 592を額面どおり受け取って移動でいい。 他に希望があれば指定してくれ。 (なおPHPを中心に考える必要は全くないので、他言語スレでも問題なし) 一般的にはプログラミング言語開発者は複数の言語を使いこなしていて、 それらで駄目な点を自身の言語で改善するものだから、 創始者のプログラミング観どおりにやればどフィットするものだが、 ラスマスはああいう感じで他の連中とは違うし、 実際、PHPの参照の仕様は、使い道なさそうに見える。 (ただし俺は仕様を完全に理解しているわけではない) PHP.netには、コピーオンライトと書いておくべきだろう。 ほぼ完璧に見えるPHP.netだが、これを落としているのは痛い。 (ただし他言語はもっとズボズボだから、PHP.netだからこその要求水準ではあるが) http://mevius.5ch.net/test/read.cgi/tech/1619667579/768
769: デフォルトの名無しさん (アウアウアー Sad6-pv9v) [sage] 2021/08/13(金) 01:24:24.59 ID:uAR6k+KCa DBのコネクションプーリングとかWEBアプリならLaravelにおまかせで良いじゃん http://mevius.5ch.net/test/read.cgi/tech/1619667579/769
770: デフォルトの名無しさん (ワッチョイ c2a5-NTPF) [sage] 2021/08/13(金) 01:52:40.74 ID:kzYHP2KN0 じゃあrobots.txtを遵守していればスクレイピングしてもOKなんですね? http://mevius.5ch.net/test/read.cgi/tech/1619667579/770
771: デフォルトの名無しさん (ワッチョイ 3163-NTPF) [sage] 2021/08/13(金) 02:00:55.03 ID:mbVVcoUY0 robots.txt遵守は一種の紳士協定のようなもので、法的な強制力は無い OKかどうかの判断は結構難しいと思う。 たとえ手順が正当だとしても、相手サーバーを落とす目的で 実行していると見なされれば業務妨害罪は成立する これは妨害する意図でしつこく電話を掛け、 対応に追われる状態になれば、妨害罪が成立するのと同じ 大量のアクセスになる場合は、事前に相手に了解を取るか、 リクエスト内のエージェント情報の中に、連絡先を書いておくとかする http://mevius.5ch.net/test/read.cgi/tech/1619667579/771
772: デフォルトの名無しさん (アウアウウー Saa5-5/Wf) [] 2021/08/13(金) 02:13:34.16 ID:K6cyKUrLa >>734 当時最先端のJavaのように使えるブラウザなんだぜぇーと宣伝タレ 虎の威を借る狐 旧京都造形芸術大から名称変更した私立「京都芸術大」のようなヤカラたち http://mevius.5ch.net/test/read.cgi/tech/1619667579/772
773: デフォルトの名無しさん (ワッチョイ 027c-HGjx) [sage] 2021/08/13(金) 02:35:57.29 ID:oRQ6/bVP0 >>770 してもいいがアク禁にされたり大量アクセスして訴えられても知らないが http://mevius.5ch.net/test/read.cgi/tech/1619667579/773
774: デフォルトの名無しさん (ワッチョイ e95f-rk8R) [sage] 2021/08/13(金) 03:32:07.80 ID:IEEGs8930 teratail見るとアホほどスクレイピングしたがるのが分かる http://mevius.5ch.net/test/read.cgi/tech/1619667579/774
775: デフォルトの名無しさん (ワッチョイ 7934-zHN7) [] 2021/08/13(金) 09:43:07.07 ID:5/dvlHjt0 >>748に対して ID:ZBXe4sG30 が発狂しててワロタw サーバが落ちる落ちないの問題ではないんだよなぁ そして748はやはりサーバ構築経験が無いんだなと http://mevius.5ch.net/test/read.cgi/tech/1619667579/775
776: デフォルトの名無しさん (ワッチョイ 7934-zHN7) [] 2021/08/13(金) 09:45:20.56 ID:5/dvlHjt0 >>770 >>642読めよ メクラか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/776
777: デフォルトの名無しさん (ワッチョイ 7934-zHN7) [] 2021/08/13(金) 09:50:20.10 ID:5/dvlHjt0 PHPerは糞 おじさん相変わらず元気に加齢臭撒き散らしてて草w 無駄な長文は無能の証拠 まぁこいつはコテハン付けてるだけマシだけどな http://mevius.5ch.net/test/read.cgi/tech/1619667579/777
778: 744 (ワッチョイ e22c-MEry) [sage] 2021/08/13(金) 12:16:30.97 ID:S8120IP70 基本、スクレイピングじゃなくて、 サイトと契約して、サイトのAPI を使う YouTube API, Google Maps API など 5ch も、そう。 契約して、APIを使う。 勝手にスクレイピングすると、どうなるか知りませんよと、脅し文句が書いてある スクレイピングする所は、APIを提供していないサイトで、 robots.txt を遵守する とにかくスクレイピングは、初心者向けじゃない。 初心者のコードには、バグが多く、 無限ループでアクセスしたりするから、超危険! だから、そういう依頼があっても、受けてはいけない。 スクレイピングの本にも、スクレイピングしないように書いてある。 書いていないと、スクレイピングを推奨した人も、共犯者になるから >>744 のUdemy の山浦清透、動画を参照。 PHP で、マイナビ転職をスクレイピングしてる http://mevius.5ch.net/test/read.cgi/tech/1619667579/778
779: デフォルトの名無しさん (ワッチョイ 62a7-7iwQ) [sage] 2021/08/13(金) 17:39:58.89 ID:cfxShLTH0 グローバルスコープに定義した関数は、クラスの中のメソッド内でそのまま使えるのですか? 使えるのが奇妙な気がするのですが。。。 グローバルな変数は、クラス内では、そのままでは使えないですよね。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/779
780: デフォルトの名無しさん (ワッチョイ 4102-fZBI) [sage] 2021/08/13(金) 19:26:14.32 ID:NFq4Eq4J0 そのままでなく、 var で宣言して $this->num 昔はインスタンスの呼び出し無く使えたけど、 開発陣営に割り込んで圧かけて、 「難しくなければなりません」 と言って無茶苦茶にした人がいるんだよ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/780
781: デフォルトの名無しさん (ワッチョイ 7934-zHN7) [] 2021/08/13(金) 20:10:05.70 ID:5/dvlHjt0 >>779 クラス内で global $hoge; とすれば使えるけど? 逆に聞くが、クラス内でグローバルスコープに定義した関数を使う際には、どういう風に使えたら奇妙じゃないとお前は思うんだ? http://mevius.5ch.net/test/read.cgi/tech/1619667579/781
782: デフォルトの名無しさん (ワッチョイ 7934-zHN7) [] 2021/08/13(金) 20:11:24.31 ID:5/dvlHjt0 >>780 お前質問の意味分かってないだろ http://mevius.5ch.net/test/read.cgi/tech/1619667579/782
783: デフォルトの名無しさん (ワッチョイ 7934-zHN7) [] 2021/08/13(金) 20:14:02.70 ID:5/dvlHjt0 >>779は namespace を理解してない可能性もあるか… http://mevius.5ch.net/test/read.cgi/tech/1619667579/783
784: デフォルトの名無しさん (ワッチョイ c281-7iwQ) [sage] 2021/08/13(金) 20:24:47.97 ID:9sqfFN6A0 >>781 >>どういう風に使えたら グローバルな関数を、いわば閉じてるクラスのメソッド内で使えること自体が奇妙に思えたのです。 オブジェクト指向のカプセル化に反するせいかもしれません。 たまたま、今日、グローバル関数をクラスメソッド内で使ってみたら使えてしまい困惑したので、 気になり尋ねてみた次第です。 global $hoge; みたいに宣言してから使うなら、なるほど納得できるのですけど、 宣言なしで、いきなり使えてしまい、戸惑ってしまいました。 便利ではあるけど、使うのはちょっと怖い感じもします。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/784
785: デフォルトの名無しさん (ワッチョイ 4102-fZBI) [sage] 2021/08/13(金) 20:38:23.23 ID:NFq4Eq4J0 PHP言語を開発した私が話についていけないなんて! いやぁぁぁーーー!!! まあいいや。 頑張ってね。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/785
786: デフォルトの名無しさん (ワッチョイ c281-7iwQ) [sage] 2021/08/13(金) 21:14:52.64 ID:9sqfFN6A0 global $hoge;//グローバル変数の宣言 global $hoge();//グローバル関数の宣言(不要) 考えてみたら、両者とも宣言が必要な方が直感的でわかりやすいですよね。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/786
787: デフォルトの名無しさん (ワッチョイ c281-7iwQ) [sage] 2021/08/13(金) 21:22:26.06 ID:9sqfFN6A0 global hoge();//グローバル関数の宣言(不要) $マークはいらなかったですね http://mevius.5ch.net/test/read.cgi/tech/1619667579/787
788: デフォルトの名無しさん (ワッチョイ 9901-fZBI) [sage] 2021/08/13(金) 21:22:29.93 ID:G+odjofr0 >>786 そんな仕様の言語は見たことないな 組み込み関数はどうやって使うの? http://mevius.5ch.net/test/read.cgi/tech/1619667579/788
789: デフォルトの名無しさん (ワッチョイ c281-7iwQ) [sage] 2021/08/13(金) 21:33:50.60 ID:9sqfFN6A0 >>788 なるほど、たしかに組み込み関数は、クラスのメソッド内で自由に使えますね。 ユーザー定義関数もそれと同じと考えれば、そこで使えるのは当然なのか。 目から鱗、モヤモヤ感が解消しました。ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/789
790: デフォルトの名無しさん (ブーイモ MMb6-YIHQ) [sage] 2021/08/13(金) 21:55:41.81 ID:hsOq5UIAM 先週から勉強を始めた学生なんですが、 初心者向けの入門書の例文どおり入力してるはずなのにエラーが出たり正しく動作しなかったりで、 間違ってると思われる箇所を何度見直してもダメだったのに、 本の付録のサンプルコードでその部分を上書きすると動くようになることがあるんですが、何が悪いんですかね? 知識を習得する前に、間違い探しで日が暮れて還暦になっちゃいそうです〜_| ̄|○ 機嫌で動いたり動かなかったりすることあります? http://mevius.5ch.net/test/read.cgi/tech/1619667579/790
791: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd62-/WPc) [sage] 2021/08/13(金) 21:58:11.89 ID:ZbJ7zOZVd 全角と半角の区別、大文字と小文字の区別とかわかる? 全角スペースって知ってる? 日本語プログラミングには落とし穴が多いんだよ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/791
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 211 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s