- 1 名前:デフォルトの名無しさん [2022/09/20(火) 16:46:23.39 ID:Sb2Kpzh+0.net]
- !extend::vvvvv:1000:512
!extend::vvvvv:1000:512 ★スレ立て時 ↑ が3行以上になるようコピペ PHPに関する質問スレです 前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 13 https://mevius.5ch.net/test/read.cgi/tech/1631147923/ 次スレは>>980以降 VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
- 755 名前:デフォルトの名無しさん mailto:sage [2023/10/15(日) 16:53:05.15 ID:BnU34f5b0.net]
- なんだ、接頭辞を付けて、接頭辞内では"_"禁止、或いは接頭辞を台帳で管理すれば、
つまり、きちんと管理すればアナログで解決出来るではないか、というのは事実で、当たり前なのだ。 既にそうやってアナログ管理されて動いているCの糞コードを、そろそろなんとかするのがC++の目的だし、 それで導入されたのが「クラス」なのだから、元々そういう物なんだよ。 だから array_search を array::search と書き直すだけ、階層をアナログで"_"で区切ってたのを"::"にしただけ、 それだけで名前被りの管理の手間が大幅に削減出来ますね、というだけ。 この「次の一手」を同様に繰り返して行けばクラスベースのオブジェクト指向に自然となる。 753の $key = array_search('green', $array); を $key = $array->search('green'); と書かせろというのも、$arrayは絶対に必要だし、逆にこれがないと何も始まらないのだから、 $arrayの一部としてsearchという関数を定義してしまえば、 $arrayとセットでないと呼び出せなくなるし、 $key = array_search($array,'green'); // error みたいに引数順序を間違えてバグる心配もないね、というだけ。 そんなのちゃんと管理すればアナログで回避出来るよね、というのは、上記の通り「クラス」の仕様だ。 だから何であれ「クラス」は無くても出来るが使った方が楽、というだけの話。
- 756 名前:デフォルトの名無しさん mailto:sage [2023/10/15(日) 16:55:02.15 ID:BnU34f5b0.net]
- > Laravelとかフレームワーク使って簡単に何か作ってみるのが良いんだろうなぁ…
これは本末転倒だから止めとけ。学ぶ気なら他言語、例えばC#が断然よくて、 C#で簡単なもの作った方が数段まし。 これはPHPの立ち位置がやや微妙だからだ。 既に動いている問題ないコードを破棄しなければならない場合は、 ・アドレス空間の枯渇 ・速度が絶望的に足りない の2つで、前者は64bit化で解決済みだから今現在問題になるのは後者。 PHPは絶望的に速度が遅いし、larabelで表面的に誤魔化せてるとしても相変わらず糞なのは事実で、 .NET等、MSがガチでオブジェクト指向で整備したフレームワークと比べたら所詮はゴミ。(larabelもMSではあるが) larabelはPHPのコード資産が段々と大きくなってきたときに導入するものであって、 最初からlarabel使って大規模なコードをPHPで組むくらいなら、 普通の連中はJSやTSやGoやRust等、他言語使ってるだろ。 実行速度が速い=可読性の高い簡単なコードで済む、という事であって、 動作速度が速いだけで七難隠すんだよ。 だから大規模システムをわざわざPHPで最初から組む馬鹿は誰もいない。 結果的に大規模化した物にlarabel適用してるだけで。 (大規模化=大半をプログラムで処理する=言語がいい方が断然楽) PHPの場合は実行速度を ・物理で殴って誤魔化す 事が出来るから生き延びてるが、これが出来ないCakeとかは完全に死んでるだろ。 PHPはあくまで小回りが利く規模までで、フレームワークを導入してまで使う規模には適してない。 結果的にそうなったのなら致し方ないが、わざわざ導入してまでやるもんじゃない。 どうしてもWebに拘りたいのなら、この機会にJSかTSを試した方がいい。 少なくともPHPでクラスを学ぶよりは断然ましだし、今後の役にも立つだろうよ。
- 757 名前:デフォルトの名無しさん (ワッチョイ 13a9-olVp) mailto:sage [2023/10/15(日) 20:49:40.47 ID:64Sv/OQW0.net]
- >>717書いた者だけど、mc963-e7li氏の言葉はなんとなくわかったような感じ
リレーショナル使わないDBのCRUDするぐらいなら無理にクラスは使わなくて良い、ということね。 php初学時にlaravelの本を読んだ時に呪文みたいなものがたくさんあって php無理だわと思ったけど、laravel無しでなんとかログイン付のCRUDぐらいなら作れるようになった。 ・ある程度コードが書けるようになったらlaravelを検討するのか ・まったくの初学者がlaravelから始めてブラックボックスになっている所は気にするな、というなら phpしか選択肢が無いなら熟練者はどっちを勧めるんだろう
- 758 名前:デフォルトの名無しさん (ワッチョイ 7321-Y0aP) mailto:sage [2023/10/15(日) 21:00:20.67 ID:BAs39Kb+0.net]
- 個人開発にフレームワークいらないんじゃない?
昔居た会社はLaravelでいうブレードに全部の動作直書きしてたよ
- 759 名前:デフォルトの名無しさん mailto:sage [2023/10/16(月) 11:26:15.00 ID:oWsG313D0.net]
- >>754
階層の例えめちゃくちゃ分かりやすいです、なるほどなるほど… >>717さんと自分は別だけど「クラスの概念が理解出来ない」という点で全く同じだったので書き込んでしまいました。懇切丁寧に教えてくれて本当に感謝です🙏 >>754さんみたいな方が社内に居たら素晴らしいメンターになるのになぁと思いながらも今日もトライ&エラーで頑張ります!
- 760 名前:デフォルトの名無しさん mailto:sage [2023/10/16(月) 11:45:53.44 ID:Cp7DR01g0.net]
- Ruby の米国年収は、Go/Rust/Elixir の3大言語を超えた!
一方、PHP は情報学部へ行ってない高卒とか Ruby, Elixir : 9.3 万ドル Go : 8.9 Rust : 8.7 多くの言語 : 6.5〜7 PHP : 5 Dart : 4.4 Ruby on Rails, AWS Solution Architect は13万ドルとか! YouTube で有名な雑食系エンジニア・KENTA は、 初心者のキャリアパスは、Rails → Go だけと言ってる 一方、Scala, PHPをオワコン認定した。 使っているのは、Twitter, Facebook ぐらい。 日本はZOZO とか、PHPを使う老人が多い。 たぶん、Web系じゃなくてSIer だろうから、Java に近い。 Railsを使う、モダンなスタートアップとは企業文化が異なる ガーシーのサロンで使っていたMastodon も、 PHPから、Rails 6 へ変わった 筑波大学でも使っている、Rails チュートリアル日本語版の古いRails 5 なら、 無料で読めるから、まずこれを読むのが最短
- 761 名前:デフォルトの名無しさん mailto:sage [2023/10/17(火) 01:20:58.48 ID:R59hQw8C0.net]
- >>757
小規模なら無理にクラスを使う必要はないが、 クラスを使った方が楽だし綺麗に整理出来るので、知ってれば普通は使う。 > php初学時にlaravelの本を読んだ時に呪文みたいなものがたくさんあって クラス周りの用語、具体的にはクラス/コンストラクタ/プロパティ/メソッド/継承/仮想関数、 等が理解出来ないのはさすがに不味い。 C++が再定義したオブジェクト指向は超便利だったので、C以外の全てのメジャー言語には実装された。 実際、あらゆるドキュメントが大体この形式で書かれてるだろ。 言語関係なく共通だし、知らないでは済まされない。脳味噌へのインストールは必須。 理解はしたが、使う意味/意義が分からないというのは初心者〜中級者がよく陥る状態で、 大体は規模が小さすぎて恩恵がほぼ無いから分からないだけ。(アナログ管理で全く困ってないだけ) どうしても実感したければ単純には規模を大きくすればいい。 Cみたいに階層がない状況では、一人のプログラマが取り扱えるコード規模は10,000行程度とされていた。 だから10,000行を超えて頭に入りきらない状況になれば、 「この部分はブラックボックスとして切り出し、動くものとして使いたい」という欲求が出てくる。 API/モジュール/クラス等、切り出し方は色々あるが、 お手軽に同一コード内で切り出すのならクラスが便利なのでみんなそうしてるだけ。 ただPHPならRESTにして鯖を細切れにする事も簡単なので、 こちらを選択して各APIを3,000行程度に抑えれば、オブジェクト指向を一生理解せず無視する事も可能だろう。
- 762 名前:デフォルトの名無しさん mailto:sage [2023/10/17(火) 01:21:42.72 ID:R59hQw8C0.net]
- ただまあそれ以前にPHPはオブジェクト指向には向いてない。
継承の旨味を引き出すには抽象クラスのメソッドで記述する必要があるのだが、 Web周りはオブジェクト指向前提で整備されてないのでだいたいこれが不可能だ。 ここら辺が最初から全てオブジェクト指向前提で設計されてる.NETとかとは違う。 次にPHPの場合は状態保存が出来ない。 オブジェクト指向は各インスタンスに「状態を分散して配置する」ことになるため、 これらを最終的にDBに書き戻すには余分なコードが必要となってしまう。 ここら辺がサーバーが永続的なJS/Go/Rustとは違ってくる。 だからPHPの場合はDBから読み出してこねくり回して吐き出すだけ、 何かあったらDBを更新するだけ、という非常に単純な構造にしかならないわけだが、 実際はこの方がいいので、この点はPHPのショボさが功を奏してる。 Javaの開発工数とか、同様のWebサービスと比べて10倍以上はかかってるだろ。 あれはそもそもオブジェクト指向の「状態を分散して配置する」事自体が間違いな事に気づいてないんだよ。 Javaの連中はJavaこそが大正義であって他はまるで知らない浦島太郎だからあんな事になる。
- 763 名前:デフォルトの名無しさん mailto:sage [2023/10/17(火) 01:23:34.74 ID:R59hQw8C0.net]
- > ・ある程度コードが書けるようになったらlaravelを検討するのか
> ・まったくの初学者がlaravelから始めてブラックボックスになっている所は気にするな、というなら どっちもありだと思うが、そもそも前提が間違ってる。 フレームワークはステップアップではなく、単純に「楽をする為」に導入するものだ。 よく言われてる、「フレームワークを使わなくても、 フレームワーク内に存在するコードとほぼ同じ物を書くハメになるだけだから、さっさと使え」というのは当たってる。 だからフレームワークのドキュメントをさらっと見て、 自分が使いたい機能が有れば使えばいいし、無ければ使わなければいいだけ。 初心者だから止めとけとか、そういう類の話ではない。 実際、C#やJavaではフレームワークを使わない選択肢はなく、 ハロワで既にフレームワークを使ってるはずだが、特に問題にもなってない。 そして使う場合は基本的にブラックボックス扱いだ。 内部まで確認してたらキリがないので、問題なければ内部コードなんて確認しない。 それは気持ち悪い、というのなら、フレームワーク使わずに自分で組め、でしかない。 (自分で組むよりはフレームワークを内部コード精査後にホワイトボックスとして使うなり、 フレームワーク内のコードを基本パクって改変してオレオレ仕様にしたりする方がバグはないだろうが、 一般的にはこの方式の所はあまり無いのではないかと。 フレームワークのバグを心配するなら、アナログに「枯れた機能だけを使う」で対処した方がいい)
- 764 名前:デフォルトの名無しさん mailto:sage [2023/10/17(火) 01:24:30.33 ID:R59hQw8C0.net]
- この辺はPHP界隈でたまにいる「DBでなく、ファイルでやりたいんですけど…」が分かりやすいだろう。
この場合本人は既にプログラミングはそこそこ出来て、 欲しい物は今現在の自分で十分実装可能だと分かってる。 そしてDBの知識が十分でなく、勉強するのが面倒か、慣れてない物を使うのは危険だと判断してる。 だから自前でファイルから変数を切り出すルーチンを書くわけだ。その方が自信が持てるから。 ただ当たり前だが、同様のコードはDB内には既に存在してて、そいつが書くよりも100倍品質もいい。 そして何だかんだで仕様は肥大化し、 その都度そいつのオレオレファイルDBモドキにもコードが書き加えられていくわけだが、 最終的に、「で?お前はこれに延べ何時間費やしたわけ?それで出来上がったのがこのウンコなDBモドキ? なら最初からSQL勉強してDB使った方が堅牢で拡張性もあって速度も速いし、工数もかからなかったよね」にしかならない。 (そもそもDB内のコードなんてPHPerは誰も読んでないしブラックボックスだが気にしてないだろ) だから考えるべきは「今」ではなく「最終状態」であって、 仮にお前の思惑通り事が運んだとして、最終的にどこまでやるつもりなのか?なんだよ。 最終的にも数行読めれば十分ならファイルで構わないが、 最終的にはDBが必要になるのなら、最初からDBで組んだ方がいい。 同様に、最終的にフレームワークが必要となるなら、最初からフレームワークを使うべき。 よく言われてるのは「セッション管理を自前でやるとだいたいバグるからフレームワーク使え」で、 逆に言えばセッション管理を厳密にやる必要がなく、特に欲しい機能もなければ、フレームワークを使う必要がない。 繰り返すがこれは「今」ではない。 つまり、「『今は』初心者だから」「『今は』フレームワークに慣れてないから」 「『今は』DBを知らないから」「『今は』クラスの理解が足りてないから」ではなく、 今、知識/技術が有ろうが無かろうが、最終的に必要なら使って慣れるしかないんだよ。
- 765 名前:デフォルトの名無しさん mailto:sage [2023/10/17(火) 01:26:52.67 ID:R59hQw8C0.net]
- 多分721も751も以下分類では中級者になる。
初心者:欲しい機能の実装にも手こずる。(プログラミング経験0〜3000時間) 中級者:欲しい機能は一通り実装出来る。(プログラミング経験3000〜5000時間≒社畜歴2年) 上級者:仕様から複数の実装を検討し、初手から最適解を目指せる。(プログラミング経験5000時間以上) 状況について詳しく言うなら、 ・動けばいいのなら何であれ実装出来るから今現在の技術/知識で何ら困ってない。 ・果たして自分のコードが美しいのか汚いのかはよく分からんが、 少なくとも自分のコードは読めるので取り立てて困ってない。 ・世の中には他の方法もあるらしいが、勉強する価値があるのかもよく分からん。まあ一応読んではみたが…。 てな所だろう。これは順当な上達過程で、誰しも通る道だ。 そこで道は分かれるわけだが、90年代の場合、 Java(1995):C++が導入したクラススゲー。全部クラスで、ポインタ廃止したら完璧じゃね? Ruby(1995):C++が導入したクラススゲー。全部オブジェクトでいけるんじゃね? C#(2000):C++が導入したクラススゲー。でもC++はちょっと… C++(1983):馬鹿はJava、軟派はC#使ってろ。漢は黙ってC++。 C(1972):いやCで特に不満無いし…。 PHP(1995):クラス?そんなもの無くても出来るでしょ。 同時期以降の別言語が全てクラスを採用する中、ラスマス・ラードフは無視しやがったのがPHPの不幸なところだ。 PHPがArray::xxxやString::yyyとなってれば、「クラスがよく分からない」なんて事になりようもなかった。 が、まあ、これを言っても始まらない。上達の為の次の順当な方策は、JSをやる事だ。 https://プログラマが知るべき97のこと.com/エッセイ/プログラミング言語は複数習得すべき/
- 766 名前:デフォルトの名無しさん mailto:sage [2023/10/17(火) 01:28:15.91 ID:R59hQw8C0.net]
- フルスタック(キリッ、の通り、クライアントサイドで何がどこまで出来るかを把握しておく事は全体最適化には必須。
達人である必要はないが、どれくらい手間なのか分からないのは不味い。 クラスは難しいものではなく、使ってないから分からないだけ。 強制的に使うのなら標準がクラスで構成されてる言語がいい。(今のメジャー言語は全部該当するが) PHPの次はJSだろうよ。 なおPHPの場合は節操なく取り込んでるので結果的に「全部入り」に近く、 PHPだけで学ぶのも理論的には可能だが、そもそも知らない奴が正しい方向性を見切るのは無理なので、現実的に無理だ。 PHPでは今まで通りのコードを書きつつ、JSで色々試し、 クラスに慣れたらPHPでもクラスを使って書いていく、というのが多分妥当な道筋。
- 767 名前:デフォルトの名無しさん (スッップ Sd33-Y0aP) mailto:sage [2023/10/17(火) 11:52:24.20 ID:nEN1t9hTd.net]
- Laravelでコーディングする時、コーディングする順序は
1、SQL等のDB周り 2、バックエンド動かすコントローラー(api.phpの方) 3、フロント用のコントローラー(web.phpの方) 4、view って順序でイメージあってる?
- 768 名前:デフォルトの名無しさん (ワッチョイ 0149-HvQf) mailto:sage [2023/10/17(火) 16:33:35.10 ID:wBPhMFC20.net]
- 好きなとこからやれ
決まってるところからやれ 仕事なら会社の言う通りにしろ
- 769 名前:デフォルトの名無しさん [2023/10/21(土) 01:03:11.56 ID:dh9vzKli0.net]
- PHPが遅いってのは分かるが、絶望的に遅いか?って言われたらそうは思わんな
スーパーに買い物に行くのにスポーツカーは必要ないし、むしろ使いにくい 小回りのきく軽自動車で十分って状況も多々ある
- 770 名前:デフォルトの名無しさん mailto:sage [2023/10/21(土) 09:18:37.85 ID:yXW/Zb3m0.net]
- 既に運用中のサイトにおいてPHP7系から8に移行する際、皆さんどんな苦労されました?
自分は前任者が書いたサイトを引き継ぎしたんだけど、内容はPHP5時代に書かれたコードを扱わなきゃいけなくて… レンタルサーバーが強制的にPHP8に移行するにあたって500ファイルほど目視チェック、動かない原因になる箇所を直していったのが大変だった countとimplodeとかその辺りの関数がFatal error出すのでシコシコ直していったよ
- 771 名前:デフォルトの名無しさん (ワッチョイ 1ade-cYzw) mailto:sage [2023/10/22(日) 15:40:10.82 ID:lOEqj3QG0.net]
- ゼロから作り直したほうが早い
- 772 名前:デフォルトの名無しさん (ワッチョイ 8e5f-ANn9) mailto:sage [2023/10/22(日) 18:07:33.50 ID:xV2fKCwr0.net]
- >>770
移行しなかったよ Dockerん中に古いまんま閉じ込めた もう未来永劫そのまんまよ
- 773 名前:デフォルトの名無しさん (ワッチョイ 19f7-NW8N) mailto:sage [2023/10/27(金) 15:17:52.24 ID:O5trZ+em0.net]
- なるほど、その手があったか
エラー無視つけてたわ
- 774 名前:デフォルトの名無しさん mailto:sage [2023/11/19(日) 11:56:48.15 ID:vcL8dlfS0.net]
- >>770
前任者どころか、自分で書いたコードですら修正するの大変だわ よほどのセキュリティホールでも無い限り、古いまま運用してもいいと思うよ Javaで古いバージョンが乗っ取りとかってあったけど、 PHPはそういうのないし、ページ毎のセキュリティ対策してたら大丈夫でしょ (違うなら誰か事例を出して指摘してください
- 775 名前:デフォルトの名無しさん [2023/11/22(水) 14:01:49.19 ID:gEe16+Fw0.net]
- 初心者なので初歩的な質問になりますm(_ _)m
phpのフレームワークlaravelについての質問なんですが Illminate/Foundation/Application.phpのApplicationクラスのbootstrapWithというメソッドの中に$this['events'] -> dispatch( 〜 という記述があるのですがこの$thisはApplicationクラスのインスタンスだと思うのですが なぜ$this['events']のように$thisの後にブラケットが続いてるのでしょうか? dd($this)とやって調べて見ましたがやはり配列ではなくApplicationのインスタンスで dd($this['events'])で調べたらDispatcherというオブジェクトでした なぜブラケット構文でインスタンスにアクセスできるのか分かりません この$thisはなんですか?
- 776 名前:デフォルトの名無しさん (ワッチョイ 465f-jMfl) mailto:sage [2023/11/23(木) 00:07:02.72 ID:RFVqy5fX0.net]
- >>775
PHPは連想配列っぽくインスタンスにアクセスできるんだお 初心者らしい初歩的な質問でしたね
- 777 名前:デフォルトの名無しさん (ワッチョイ 7901-YT2O) mailto:sage [2023/11/23(木) 00:43:06.46 ID:AzseZZHe0.net]
- 最近はそれくらいの難度なら
GPTさんに質問する人が増えたから あまり書き込みにこないんだろうな
- 778 名前:デフォルトの名無しさん (ワッチョイ 72a2-N5Jg) [2023/11/23(木) 00:46:28.93 ID:op2UpQwL0.net]
- >>776
オブジェクトを作って試しましたがオブジェクトは配列として使用できないとエラーが出ます どのようにそれを可能にしているのかを教えていただけませんか? 初歩的な質問で申し訳ありませんがググっても出てこないので
- 779 名前:デフォルトの名無しさん (ワッチョイ e93b-8MWH) mailto:sage [2023/11/23(木) 01:01:05.45 ID:pAGXWPD10.net]
- オブジェクトに対して配列風にアクセスするといえばこれか
https://www.php.net/manual/ja/class.arrayaccess.php
- 780 名前:デフォルトの名無しさん [2023/11/23(木) 07:25:04.23 ID:op2UpQwL0.net]
- >>779
スッキリしました。ありがとうございます。 継承元のcontainerクラスで実装されてるのを確認できました。
- 781 名前:デフォルトの名無しさん [2023/12/09(土) 23:46:53.06 ID:fGdJSgyw0.net]
- 学習コストが低めのフレームワークでおすすめある?
Laravel,CakePHP以外で
- 782 名前:デフォルトの名無しさん (ワッチョイ 7716-pmcO) mailto:sage [2023/12/10(日) 10:42:24.34 ID:PVGCDu/Y0.net]
- オレオレフレームワーク
- 783 名前:デフォルトの名無しさん (ワッチョイ 7f3f-opNu) mailto:sage [2023/12/14(木) 16:59:59.82 ID:t1zoVVGt0.net]
- WordPressってPHP7.4以上が推奨環境なんだけど、
PHP8.0までセキュリティサポートが切れてる なんで7.4以上なんだろ?
- 784 名前:デフォルトの名無しさん mailto:sage [2023/12/14(木) 21:46:47.06 ID:SDKVvk710.net]
- プラグインの対応を考えると7.4まで戻さないといけないんじゃないかな?
8.1まではあまり影響なかったけど8.2からひどかった記憶、最後に仕事して一年以上経ってるから状況変わってるだろうけど
- 785 名前:デフォルトの名無しさん (スップ Sdbf-6RB4) mailto:sage [2023/12/15(金) 15:26:36.63 ID:UGjdTC/zd.net]
- このフレームワークはプログラム技術板的にPHPなの?Goなの?
米Laravelは、Go言語で書かれたPHPアプリケーションサーバであるFrankenPHPの最新バージョンとなる「FrankenPHP 1.0」を、12月11日(現地時間)にリリースした。 FrankenPHP 1.0には、Symphony、Laravel、WordPressなどのネイティブサポートが含まれるほか、Caddyを搭載したプロダクショングレードのPHPサーバであり、PHPアプリのスタンドアロンで実行可能なバイナリとしてのパッケージ化が可能となっている。 さらに、PHP-FPMとNgnixを個別に実行する必要がなく、1つのサービスのみでPHPサーバを提供できるようになるとともに、PHP 8.2以降のほとんどのPHP機能拡張、およびすべてのCaddyモジュールと互換性がある。 ほかにも、アプリケーション起動してメモリに保持するワーカーモード、JavaScriptイベントとしてWebブラウザへ送信されるリアルタイムイベント、ZstandardおよびGzip圧縮、構造化されたログ、Prometheusメトリクスを使用したCaddyの監視、HTTPS・HTTP/2・HTTP/3のネイティブサポート、HTTPS証明書の自動生成や更新、ダウンタイムなしでのアプリのデプロイといった、充実した機能を搭載している。
- 786 名前:デフォルトの名無しさん (ワッチョイ 7ff7-OWs5) mailto:sage [2023/12/15(金) 17:16:53.14 ID:Or7pgbin0.net]
- フレームワークじゃなくてアプリケーションサーバ
Goで書いてる内部実装の話じゃなければPHP
- 787 名前:デフォルトの名無しさん (ワッチョイ a795-+vxZ) mailto:sage [2023/12/17(日) 12:50:33.31 ID:Ejq9svn00.net]
- やっぱRubyとは違うな
- 788 名前:デフォルトの名無しさん mailto:sage [2023/12/18(月) 10:08:31.91 ID:/4mKYZLK0.net]
- 導入部がどんどんコテコテになっていくな
もう新規は洋梨か
- 789 名前:デフォルトの名無しさん (ワッチョイ 338a-pDLy) [2023/12/28(木) 04:23:04.89 ID:NBXduxv20.net]
- フラグ管理の効率的な方法を教えて下さい。
作成中の社内向け事務アプリなんですが、判定要素が多くなりすぎて毎回読む度に悩みます。 ユーザーに割り当てられた権限や日時による分岐がめっちゃ多いです。 例えば、シンプルなやつだと下記みたいな感じです。 ※権限には、種類とランクがあります。 ・権限Aを持っているユーザーB〜Eが、日時F〜Gの間に許可した時だけ、 ユーザーH・Iが日時J〜Kの間だけ権限L・Mを付与されて、 その権限を行使して処理NまたはOを合計2回行った時に、その権限を付与したユーザー(B〜E)の権限PをQ〜Rの期間降格する。
- 790 名前:デフォルトの名無しさん (ワッチョイ 338a-pDLy) mailto:sage [2023/12/28(木) 04:23:58.49 ID:NBXduxv20.net]
- すみません。
スレ立てるまでもない〜スレに行きます。
- 791 名前:デフォルトの名無しさん mailto:sage [2024/01/10(水) 16:15:07.69 ID:PTL/6ftd0.net]
- PHPのクラスを理解できていない 及び 運用・実装したことない
ユーザー定義関数なら扱えるレベル CakephpやLaravel等のフレームワーク扱った事がない 実務は約5年 これで中途採用の場合、月収幾らくらいが妥当ですか🥹
- 792 名前:デフォルトの名無しさん mailto:sage [2024/01/10(水) 16:53:39.33 ID:dVV8o+q90.net]
- >>791
おぉ、同じぐらいだわ。 PHPはフレームワークとか知らないし、ユーザ関数ちょっと作れたりするぐらい フォームメールとかマスタデータの登録編集ぐらいできて48万ぐらい貰ってるよ
- 793 名前:デフォルトの名無しさん (ワッチョイ 7f9a-lSjW) mailto:sage [2024/01/10(水) 20:04:25.62 ID:zlHvcH430.net]
- コピペプログラムでも30はいけるからな
- 794 名前:デフォルトの名無しさん (ワッチョイ df0e-tnpw) mailto:sage [2024/01/10(水) 20:16:50.25 ID:PTL/6ftd0.net]
- >792 >793
ええええー!マジですか😭…羨ましい!! メールフォームはもちろん、サーバー関連もLinux一通りは触れて、データベースも GUIではなくてLinux上から操作出来るくらいのレベル感ではあるんだよね… 求職する時、文字だけだと自分のレベル感と会社が求めてるレベル感が分からなくていつも「クラス実装出来ないし概念理解してないけど大丈夫かな」とか「フレームワーク扱った事ないし…docker?何それ美味しいの?」って感じで二の足踏んでしまうんだよね
- 795 名前:デフォルトの名無しさん (ワッチョイ ff5f-03E5) mailto:sage [2024/01/12(金) 00:03:02.51 ID:twL7njza0.net]
- フレームワークを扱えばいいし、dockerも勉強すればいいよ
そもそもフレームワークなしでやれてたんなら 何でも独学できるだろ 体系的な学習はとにもかくにもいじり倒した後からだ
- 796 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 14:07:59.64 ID:3NziHgVl0.net]
- >>792
ちなみにSES?
- 797 名前:デフォルトの名無しさん (オッペケ Srbd-Ti6e) mailto:sage [2024/01/30(火) 04:09:24.38 ID:geI1NBE8r.net]
- PHP初級取ろうと思ってますが、取りやすいのはどっちですか?
簡単な方を教えてください。
- 798 名前:デフォルトの名無しさん (オッペケ Srbd-Ti6e) mailto:sage [2024/01/30(火) 04:10:11.35 ID:geI1NBE8r.net]
- PHP7 vs PHP8 の比較です
- 799 名前:デフォルトの名無しさん mailto:sage [2024/01/30(火) 07:13:24.16 ID:xc6jeStg0.net]
- 上司から取ってこいと言われたのでなければ止めとけとしか
俺はPHPerではないけども
- 800 名前:デフォルトの名無しさん (オッペケ Srbd-Ti6e) mailto:sage [2024/01/31(水) 13:32:55.85 ID:k++D0k1Yr.net]
- >>799
俺はデザイナーなので仕事上ではなくてもいい資格なんだが、取りやすそうで見栄えも良さそう資格って事でこれとろうかなと、webクリエイターの資格もってるがゴミ資格なんでゴミ資格でもないやつ取りたい。
- 801 名前:デフォルトの名無しさん (ワッチョイ b6d0-9w1M) mailto:sage [2024/01/31(水) 14:50:49.67 ID:GiaFK7PQ0.net]
- >800
少しでもプログラムを書く予定があるなら PHP8が良いよ なぜかと言うと、7→8のアップデートで仕様が大幅に変わったから 7の細かいルールを覚えてしまってから8を触ったら「あれ?動かない…」となる可能性あるので
- 802 名前:デフォルトの名無しさん (ワッチョイ 1149-Y1Fy) mailto:sage [2024/01/31(水) 15:02:37.76 ID:KXDkvASJ0.net]
- 資格で語れる業界に行きたいんなら良いんじゃね
ITは基本、実績や書き物で語ることが多いと思うけどね
- 803 名前:デフォルトの名無しさん (ワッチョイ 8a8b-7cac) [2024/01/31(水) 15:18:08.36 ID:Cu19VVGy0.net]
- 逆にIT系の資格一杯持ってるやつのほうが実務で使えねー
- 804 名前:デフォルトの名無しさん (ワッチョイ 9ee7-TUA6) mailto:sage [2024/01/31(水) 17:23:01.53 ID:grzeycve0.net]
- >>803
それよく言われるけど、実際のところは逆だったわ 決まりきったパズルである試験すら通らないやつが まー実務で役に立つわけもないわな
- 805 名前:デフォルトの名無しさん (ワッチョイ 8a8b-7cac) [2024/01/31(水) 17:28:55.09 ID:Cu19VVGy0.net]
- >>804
ちゃうちゃう、パズルしか解けんくなって石頭になるねん 自分でアルゴリズムを構築する手段を知らないから、パーツに頼るしかなくなる
- 806 名前:デフォルトの名無しさん (ワッチョイ 1163-on57) mailto:sage [2024/01/31(水) 17:29:39.20 ID:jcvgDSDi0.net]
- 銃が使えるからって戦場で役に立つとはならないぞ
- 807 名前:デフォルトの名無しさん (ワッチョイ eaa9-+O6P) mailto:sage [2024/01/31(水) 17:30:21.84 ID:OojRe9/Q0.net]
- ワイphp7とphp8の違いがわからずに簡単なコード書いてるし運転免許以外資格も持ってなくても35万給料もらえていることに感謝
- 808 名前:デフォルトの名無しさん (ワッチョイ 9601-JLAu) mailto:sage [2024/01/31(水) 17:31:41.54 ID:3ULZXNFO0.net]
- 属してる組織の技術レベルによるんだよね
上に行けば行くほどIT資格一杯持ってるやつのほうが使えねーってなる 下に行けば行くほどIT資格一杯持ってるやつのほうが使えるーってなる
- 809 名前:デフォルトの名無しさん (ワッチョイ b6d0-9w1M) mailto:sage [2024/01/31(水) 17:40:24.48 ID:GiaFK7PQ0.net]
- >807
SIerとSESどっちかな? ついでに額面か手取りかも教えてくださいw
- 810 名前:デフォルトの名無しさん (ワッチョイ eaa9-+O6P) mailto:sage [2024/01/31(水) 17:57:51.74 ID:OojRe9/Q0.net]
- >>809
ごめん単語が何言ってるかわからない・・・
- 811 名前:デフォルトの名無しさん mailto:sage [2024/01/31(水) 20:57:41.85 ID:GiaFK7PQ0.net]
- >810
ざっくり言うと、 「自社開発していて自社出勤の正社員」=SIer 「委託や請負で客先常駐の社員。派遣では無いが実質派遣ぽい動きしてる」=SES ↑かなり乱暴な言い方だけどw https://levtech.jp/partner/guide/article/detail/163/
- 812 名前:デフォルトの名無しさん (ワッチョイ 7501-8Us2) mailto:sage [2024/01/31(水) 23:14:06.95 ID:j8r5fr530.net]
- >>811
突っ込みどころ満載すぎ SIerは企業の種類でSESはサービスの種類 SIerの正社員がSESで客先常駐というのも普通にある 自社開発という言葉は自社向けのシステムを開発することを指していて SIerが受託開発等で客先に常駐せず自社に出勤して開発することではない 請負の客先常駐はSESとは呼ばない SESは基本的に準委任契約
- 813 名前:デフォルトの名無しさん (ワッチョイ 62f4-UXSU) mailto:sage [2024/02/17(土) 15:04:47.81 ID:RQ5FiJGb0.net]
- 1、クライアント(C++で作ったアプリ)がLaravelで作ったAPIにアクセス
2、APIにアクセスされたらクライアントにファイルダウンロード 3、ダウンロード完了したらサーバー上のデータをbackupディレクトリに移動 ダウンロードの完了をLaravel側(PHP)が知る方法ってないよね?
- 814 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 15:53:22.94 ID:+ZrZNmrG0.net]
- クライアントから完了通知を送る
完了通知がないとクライアントがすべて正常に受け取ったかどうかはわからない サーバー側だけでわかるのはデータをネットワークI/Oのレスポンスとして全部書き出したかどうか
- 815 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 16:09:44.18 ID:RQ5FiJGb0.net]
- ダウンロード用のスレッド(タスク)終わったらダウンロード完了通知するスレッド始めりゃ良いのか
ありがとう
- 816 名前:デフォルトの名無しさん [2024/02/17(土) 19:05:09.44 ID:4U2VM1d40.net]
- ファイル送る前に、MD5とかのファイルハッシュを送っておいて、受信完了レスポンスはクライアント側のMD5を送ってもらって、合致したら処理完了
とするとより安全だわな
- 817 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 20:18:28.04 ID:HHGIbwMU0.net]
- 今の通信品質ってそんなに悪いのか?
- 818 名前:デフォルトの名無しさん [2024/02/17(土) 23:35:32.81 ID:4U2VM1d40.net]
- あ、いやさ、バックアップディレクトリに移動ってあったから、何らかのトラブルがあった時に、多分手作業で戻さなくちゃならんくなるじゃん
保険と思って実装しておくのが安心かなとね、俺は低品質回線の国とかとのやりとりがあるから、敏感になってるのもあるけどね だからかUDPよりTCPかつチェックサムなど入れてる
- 819 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:13:37.18 ID:sL/5dHSK0.net]
- MD5が技術と時間的に厳しかったからダウンロードしたファイル名(秒単位までの時間)を送信して対応することにしました
ありがとうございました
- 820 名前:デフォルトの名無しさん [2024/03/10(日) 12:02:36.25 ID:L6LWs13j0.net]
- 環境ってフレームワークや言語ごとにvmwareでわけたらいいのか、それともdockerがよいのか、
先輩方教えてください
- 821 名前:デフォルトの名無しさん mailto:sage [2024/03/12(火) 01:50:45.53 ID:TnUWR0Du0.net]
- 動作しているコードでVSCodeで赤く表示されるところを直そうと思い
$row[\"id\"]} とエスケープしようとするとエラーと出ます。 赤く表示されるのはvscodeが何か勘違いしているということでしょうか? https://i.imgur.com/RdSJ8HS.png
- 822 名前:デフォルトの名無しさん mailto:sage [2024/03/12(火) 02:57:29.14 ID:oTlhluwZ0.net]
- {$row['id']}にしてみ
- 823 名前:デフォルトの名無しさん (ワッチョイ 2930-n0E3) mailto:sage [2024/03/12(火) 10:50:36.47 ID:meXeXcdC0.net]
- >821
>822のように波括弧で括るか、ダブルクォーテーションをシングルクオーテーションにしてみ
- 824 名前:デフォルトの名無しさん mailto:sage [2024/03/12(火) 17:55:50.35 ID:TnUWR0Du0.net]
- >>822-823
ぉぉ・・・すごい、うまくいきました。 確かに変数展開する必要が無いならシングルクォートで良いですよね ダブルクォートを使うことしか考えていませんでした
- 825 名前:デフォルトの名無しさん mailto:sage [2024/03/13(水) 01:02:40.75 ID:GqTsKoAX0.net]
- >824
実際の開発現場ではコーディングのルール決まってるからシングルクオーテーションやダブルクオーテーションを混ぜて使ったりしては駄目だから気を付けてねー
- 826 名前:デフォルトの名無しさん mailto:sage [2024/04/01(月) 23:48:30.99 ID:VotzuRBw0.net]
- postするデータってなんでもかんだもCSRF検証するものですか?
- 827 名前:デフォルトの名無しさん mailto:sage [2024/04/01(月) 23:53:33.26 ID:VotzuRBw0.net]
- SPA作ったんですがCSRF検証してません
ポストするデータはゲームのステージデータです 仮にCSRF攻撃されたとしてもステージデータが増えるだけなんですがこういうケースでもCSRF検証はすべきでしょうか?
- 828 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 00:37:08.09 ID:Y1y4I8En0.net]
- 本人の意図しないところでステージデータがポコポコ増えたら困るでしょ?
- 829 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 09:20:13.00 ID:MCcZjXUK0.net]
- このケースでは検証すべき、こっちではしなくて良い、とかやってるとそのうちその振り分けでやらかしそうだから
如何なる場合でもPOSTデータは検証すべき
- 830 名前:デフォルトの名無しさん (ワッチョイ 5dbb-B4RS) mailto:sage [2024/04/02(火) 16:50:28.30 ID:4sW3pgf50.net]
- そうですか
ありがとうございました
- 831 名前:デフォルトの名無しさん mailto:sage [2024/04/03(水) 03:58:04.60 ID:EpnIAvlv0.net]
- CSRFの実装しました
難しいかと思ったら割と簡単でした 案ずるより産むが易しキヨシってやつですね
- 832 名前:デフォルトの名無しさん mailto:sage [2024/04/03(水) 16:08:59.39 ID:sHoarvhc0.net]
- nonceもCSRF対策の一種?
- 833 名前:デフォルトの名無しさん mailto:sage [2024/04/05(金) 11:14:06.54 ID:ZTISEuLN0.net]
- 管理画面や、限定的にしか見れないページ(社内のみとか)はサボる時あるけどねw
理由は、そもそも管理画面自体に入られたらパスワードが漏洩しているという意味で全て終わりだから。 サボるのはpostするデータをバリデーションするか、とかサニタイズするか、とか。 性善説に基づいて作るとめちゃくちゃ楽よ( ;´Д`)
- 834 名前:デフォルトの名無しさん mailto:sage [2024/04/05(金) 17:24:40.42 ID:ed+JNEgF0.net]
- >>833
管理画面にログイン済みのユーザーにPOSTするリンクをクリックさせて管理者にしかできない操作をさせるみたいなのがCSRFだと思うんだが・・・ CookieをSame Siteにすれば防げるケースが大半だろうけど多段防御しといた方が安牌だと思う
- 835 名前:デフォルトの名無しさん mailto:sage [2024/04/06(土) 00:42:24.17 ID:4xUg8EFL0.net]
- >834
vpn接続して使用してる管理画面だから、誰か入ってくる事は無いし、そもそも誰か入って来た時点で即、死を意味してるのでプログラム云々というよりネットワークのセキュリティの話になってくる、というね。 話逸れたけど、個人的にはこれくらい内々で使うサービスなら良いけど、逆に言えばそれ以外はPOSTデータの取り扱いは100%対策しないとダメだよ、って話
- 836 名前:デフォルトの名無しさん (ワッチョイ d576-VD0S) mailto:sage [2024/04/06(土) 02:02:19.01 ID:0VY5CEth0.net]
- 100%
- 837 名前:デフォルトの名無しさん (ワッチョイ 6b01-KWHl) mailto:sage [2024/04/06(土) 02:12:00.29 ID:Jz+yuHp90.net]
- >>835
VPN接続してるかどうかとか全然関係ないよ そもそもCSRFって内部ネットワークに誰か入ってくるとかじゃないから
- 838 名前:デフォルトの名無しさん mailto:sage [2024/04/08(月) 16:50:29.21 ID:wyxCOIbr0.net]
- intval(080)が0になるのはなんで?
- 839 名前:デフォルトの名無しさん mailto:sega [2024/04/08(月) 19:16:57.61 ID:0Leau+zw0.net]
- >>838
不正な8進数だからだろ
- 840 名前:デフォルトの名無しさん mailto:sage [2024/04/10(水) 11:28:55.93 ID:NX4cvx9u0.net]
- Closure::bindやbindToがnullを返すのはどんな場合ですか?
公式ページには"失敗するとnullを返す"としか説明がなく 具体的な失敗パターンが知りたいです
- 841 名前:デフォルトの名無しさん (ワッチョイ bf5f-/8Es) mailto:sage [2024/04/14(日) 23:11:55.65 ID:zqSEJi8N0.net]
- >>840
基本的にバグのときしか無いよ 見れない関数見てるとかそもそも関数じゃないとか
- 842 名前:844 mailto:sage [2024/04/15(月) 20:58:30.82 ID:ykbkL8b10.net]
- >>841
ありがとうございます
- 843 名前:デフォルトの名無しさん mailto:sage [2024/04/16(火) 01:54:25.90 ID:J00dMuyV0.net]
- PHPってなんでこんなに速いんですか?
他のインタプリタ言語よりかなり速いですよね
- 844 名前:デフォルトの名無しさん mailto:sage [2024/04/16(火) 04:36:49.17 ID:j7JGuKK50.net]
- 利用者が多いと高速化モジュールを作ってくれる人がそのうち出て来る
でもphpよりperlの方が速いって言う人もいる
- 845 名前:デフォルトの名無しさん mailto:sage [2024/04/16(火) 10:35:03.69 ID:6qmOkfsb0.net]
- 今やpythonのほうが高速だから残念ながらphpのアドバンテージは下がってしまった
- 846 名前:デフォルトの名無しさん mailto:sage [2024/04/16(火) 11:14:04.07 ID:kYFjszay0.net]
- fastAPIってどのくらい速いんかね?
- 847 名前:デフォルトの名無しさん mailto:sage [2024/04/16(火) 11:23:09.48 ID:MMZJeoHC0.net]
- メンテしやすい方が楽で良い
- 848 名前:デフォルトの名無しさん mailto:sage [2024/04/16(火) 20:06:50.70 ID:uAswjotn0.net]
- Laravelとかも最近のopcache使ったときやたら速くて感心したな
- 849 名前:デフォルトの名無しさん mailto:sage [2024/04/16(火) 23:44:05.47 ID:dnnaoba60.net]
- いくらphpが速くてもpythonはcかc++並になってしまったからもう追いつけない
- 850 名前: mailto:sage [2024/04/17(水) 00:07:31.24 ID:I8L23udN0.net]
- 追いつけないかどうかはやろうとする処理次第
Eコマースで商品一覧をDBから取得し画面に出力するとなれば 処理の大部分はDBの処理時間
- 851 名前:デフォルトの名無しさん mailto:sage [2024/04/17(水) 01:28:51.06 ID:c72vfF8y0.net]
- 誰もDBの話はしとらんが?
- 852 名前:デフォルトの名無しさん mailto:sage [2024/04/17(水) 01:34:48.91 ID:ze0TvR6C0.net]
- >850 そりゃそうだろw今はそんな話はしてないし、自分の土俵に持っていく為に話題のすり替えになってるぞ
- 853 名前:デフォルトの名無しさん (ワッチョイ 7f3a-/8Es) mailto:sage [2024/04/17(水) 07:51:37.15 ID:xZLw0gTi0.net]
- なでしこ3はPythonより6.5倍速い
- 854 名前:デフォルトの名無しさん mailto:sage [2024/04/17(水) 09:34:48.22 ID:CzOcQm8R0.net]
- PythonよりPHPやRubyのほうが速い
ざっくり3〜5倍 さらにPHPやRubyよりJavaScriptのほうが速い それもざっくり3〜5倍 PerlはPythonと似たり寄ったり PythonだけJITがないから置いてきぼり 今年のQ4に出る3.13で導入予定らしいけど最適化に時間がかかるから今のレベルに追いつけるのは5年くらい先 Pythonで性能を出したければシェルスクリプトと同じようにできるだけPython内でループを回さずC/C++で書かれたライブラリに一括で処理を委譲する Webアプリだとなかなかそうもいかないけど
- 855 名前:デフォルトの名無しさん mailto:sage [2024/04/17(水) 11:15:26.47 ID:hNUrcL2F0.net]
- フルスタックとしてPHP8.2は速いよね
バックエンドだと言語による差は無いか
|

|