- 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
- 477 名前:デフォルトの名無しさん mailto:sage [2023/02/13(月) 16:14:41.21 ID:SJQ1XhAi0.net]
- ない
- 478 名前:デフォルトの名無しさん mailto:sage [2023/02/13(月) 16:36:48.27 ID:3Y+V2LMTd.net]
- throwでも使っとけ
というかいまどきor dieなんて使ってるソースはクソゴミだから脱出を検討しろ
- 479 名前:デフォルトの名無しさん mailto:sage [2023/02/13(月) 23:44:40.57 ID:UX0KmCtq0.net]
- Eclipse⇒VS Codeに乗り換え中
使い辛いなー
- 480 名前:デフォルトの名無しさん mailto:sage [2023/02/13(月) 23:48:06.11 ID:v/vixYv70.net]
- それならnetbeansにしてみたら?
俺はPHPはnetbeansでやってる
- 481 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 00:22:03.18 ID:F+rfJu9X0.net]
- >>480
eclipseが一番使い易く無い? 慣れのせいかもしれないけど・・・
- 482 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 01:56:02.60 ID:DAv1op2d0.net]
- PhpStormが一番良いと思います
- 483 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 03:06:09.76 ID:F+rfJu9X0.net]
- VS codeでサーバに接続しようとしています。
すると「リモートを開いています」のまま フリーズします。 VS Codeに設定したユーザ名、パスワードは正しいです。 WinSCPからだと同じ情報で接続できます。 何の設定が間違っているのでしょうか?
- 484 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 04:09:47.12 ID:+hscb0Qf0.net]
- そうでしょうね
- 485 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 12:02:50.23 ID:F+rfJu9X0.net]
- VS CodeでRmote Developmentをインストールし
接続情報を設定しました。 そして、パスワードを入力しEnterを押したところ 「リモートを開いています...」と画面左下に表示されています。 しかし、 エクスプローラー 開いているフォルダーがありません リモートに接続しました。 フォルダーを開く という表示です。リモート接続は出来ている様なのですがサーバ上の ファイル一覧が表示されません。。。 共有サーバだと出来ないのでしょうか?
- 486 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 13:43:42.54 ID:F+rfJu9X0.net]
- Eclipseの方がよっぽど使い易いじゃねーかよ。
VS Code進めてたヤツはアホか?
- 487 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 18:19:18.79 ID:9fQYo556d.net]
- なれの問題を人のせいにするのは愚かだよ
- 488 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 18:59:35.83 ID:F+rfJu9X0.net]
- VS Codeで出来る事ほぼすべてEclipseで使えるじゃねーか。
いちいち拡張機能を入れてF1⇒実行 糞面倒臭い。
- 489 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 19:23:03.28 ID:JNIzMgrA0.net]
- EclipseってVScodeより軽いの?
- 490 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 10:31:40.86 ID:WfU34a1O0.net]
- 軽い
- 491 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 15:54:51.90 ID:ficf9YEj0.net]
- pycharm
vscodeより、かるい
- 492 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 19:54:45.75 ID:4xfiC8CV0.net]
- vscodeよりさらに
本家?visualstudioなんてマゾいし、 vscodeとvsで全然ショートカットも違うから笑えてくる
- 493 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 22:24:26.83 ID:ficf9YEj0.net]
- php
javascript,css,html,データベース いろいろ、絡んでくるから、初心者には、ほんと難しいとおもう webプログラミング、がね
- 494 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 13:41:24.91 ID:U29SVQBb0.net]
- phpMyAdminで使える、定数のCURRENT_DATE
をbindValue()を通して送りたい野だけど失敗します。 データベースの定数をクエリ文に埋め込みPHPで送信することは難しいでしょうか? ----------- $name ="cola"; $update_date = CURRENT_DATE; $insert = "INSERT INTO item(name,update_date) VALUES (:name,:update_date);"; } $statement = $db->prepare($insert); $statement->bindValue(':name', $name); $statement->bindValue(':update_date', $update_date, PDO::PARAM_STR_NATL); うまくいかない!! --------- ↓理想の変形 INSERT INTO item(name,update_date) VALUES ("cola",CURRENT_DATE);
- 495 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 14:34:50.94 ID:wXxzWMIn0.net]
- >>494
CURRENT_DATEはphp側ではなくsql側の日付関数なのでbindできない INSERT INTO item(name,update_date) VALUES(:name,CURRENT_DATE);
- 496 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 16:20:52.89 ID:ZhDpu7bI0.net]
- IDEはEclipseで十分
- 497 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 17:17:33.60 ID:U29SVQBb0.net]
- >>495
ありがとうございます。
- 498 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 00:53:37.37 ID:VY6wNZlY0.net]
- PHPのシンタックスハイライトぐらいしか出来ないエディタで
5MBほどの社内用プログラムをかきあげたことがあるぞ(゚A゚;)
- 499 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 01:00:09.42 ID:O/H37gNs0.net]
- メモ帳野郎が湧くぞ
- 500 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:21:45.50 ID:wTUF9m4P0.net]
- cd ~/.ssh
の ~ ってどういう意味なのでしょうか? cd .ssh だと確かにこのディレクトリに入れません。決まり文句と覚えておけばよいでしょうか?
- 501 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:00:32.72 ID:zhx+QJQI0.net]
- >>500
スレチ
- 502 名前:デフォルトの名無しさん mailto:sage [2023/02/25(土) 19:20:55.02 ID:L/ecqLAZ0.net]
- >>496
ホームディレクトリの略だよ
- 503 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 23:08:14.21 ID:yz/O0wFra.net]
- requireとextendsはどう違うの?
requireはclassだけ呼ぶのかと思ったらプロパティも呼ぶし混乱する この2つ重なってない?
- 504 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 00:20:33.97 ID:sow/rINj0.net]
- includeとrequireを混同するのは微笑ましいあるあるだけど
extendsは初めて見るパターンで困惑する
- 505 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 01:15:02.38 ID:BPjGYXVma.net]
- 無能なんだな俺
でも分かった requireは親のクラスを使ってインスタンスが作れる。だから呼び出し元でclass Hoge { しなくていい requireは更に親のphpファイルで作った変数が使える requireは更に親のphpファイルで作ったコンストラクタを使える つまりclass内が使える 一方のextendsはclass Hoge { の外にあるメソッドとかを継承する ↑この理解はどうかな?
- 506 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 01:24:44.70 ID:BPjGYXVma.net]
- メソッドもclass Hoge {の中にあるのか。やっぱ被ってるように思うけど
- 507 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 04:20:55.93 ID:ocW3Jac80.net]
- requireはあくまでも外部のPHPファイルを読み込んでるだけ
そこに記載されたクラスを継承して新たにクラスを作ることとは何の関連もない ポリモーフィズムの概念やらオブジェクト指向がなんたるかを勉強してきたほうがいい
- 508 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 04:22:36.00 ID:ocW3Jac80.net]
- ちなみにネコがワンと鳴くみたいな説明してるとこは見ない方がいい
- 509 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 04:37:15.50 ID:iRiTYulC0.net]
- 俺はPHPだけじゃなくて、Windowsアプリ開発もできる
- 510 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 08:40:23.44 ID:TElJ4lxXa.net]
- >>507
You Tubeいくつか見てみるよ
- 511 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 13:52:10.05 ID:OQAydld20.net]
- 初心者なんだけど他人のコード見てたら
if(true){ ・・・ } if(false){ ・・・ } とかあるんだが、これはどういう条件式なの? ifの中に変数名が入っていたりしたら入ってるかどうかぐらいなのはわかるんだけど、 不思議な書き方なのでよくわからんです
- 512 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 13:59:57.21 ID:sow/rINj0.net]
- >>511
・もともとはif文の中に条件判定が入ってたが、削除したときに横着した ・実験でコメントアウトしたり戻したりを頻繁にしてたときのなごり雪 ふざけすぎたコーディングの跡で
- 513 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 01:30:55.97 ID:YvnM6/8va.net]
- やっぱrequireよく分からんな
とあるwebページ作ってて、管理しやすくするためにphpファイルをiedex.php、data.php、hoge.php、hogehoge.phpみたいに分ける data.phpにインスタンスまとめる。この場合data.phpは各クラスをrequireする index.phpはHTMLとして表示される。この場合ここはdata.phpをrequireする hoge.phpとhogehoge.phpはclassだけど、他のクラスから継承しないならrequireしたりしない extendsは分かったかも とあるクラスからインスタンスを作る。このインスタンスをタイプは同じだけど性質によって分けたいならextendsする 例 アニマルクラスを作る。プロパティは 種族 年齢 吠える そのクラスから犬クラスと猫クラスに分けてからインスタンス作りたい場合、extendsでアニマルクラスを継承する(プロパティは共通だから) これでどうかな。requireせずにextendsだけする事あるのだろうか?必ずrequireやincludeとかのファイル読み込みをセットで使う? それと皆は本当にハッキリとrequireするかしないか分かるの?
- 514 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 01:34:20.21 ID:YvnM6/8va.net]
- それと、クラスメソッドやクラスプロパティ使う時も皆は明白に判断つくの?
インスタンス作成回数とかid作成はクラスメソッドとかみたいのは分かるけど俺はハッキリと判断つかないな
- 515 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 01:50:28.85 ID:YvnM6/8va.net]
- HTMLに変換されるindex.php上で他のphpファイル上で定義されたメソッドを実行する場合、requireしなくてもいいのはなぜ?
requireはインスタンス作成時にのみ行うのかと思わせて他のケースもあるみたいで分からなくなる
- 516 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 02:32:15.26 ID:RiJyC4pT0.net]
- requireで読み込むファイルはクラスや関数が書かれたライブラリだったり
定数や共通の設定事項を記載したファイルだったり 単にhtmlを出力してるだけのファイルならその内容が読み込んだ側で出力されるし用途は様々 C言語で書かれたPHPコアライブラリに含まれてる関数群やPDOなんかのクラスは 使用するにあたってrequireなんて書いたりしないけど PHPで作られてるものはrequireしないと使えない インスタンスだの継承だのそんな次元の話じゃない
- 517 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 07:09:43.47 ID:3WmX3+jc0.net]
- 基礎的なところからすれ違ってんだから体系的に学習できる本でも読めよ
phpは基礎が学べればあとはマニュアルでなんとかなるくらいマニュアルが優秀だけど、そもそもの基礎がズレてたらマニュアルも読めん
- 518 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 08:28:11.46 ID:xmhsjsFza.net]
- 基礎がおかしいか。Progateで勉強したけどrequireするしないの差が曖昧だった
何で勉強しようと思ったかというと、今使ってるブログサービスで不具合あって、そこがWordPressだから直せないかなと思った である程度勉強してブログ設定見たらユーザーが触れる部分はHTMLで勉強の意味無かった 意味無かったけど途中までやったから全部終わらせた PHPかなり難しかったよ。でもCやってたら楽々なんだろうな
- 519 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 09:06:04.41 ID:3WmX3+jc0.net]
- WordPressはphpとはまた別物
多分、両方エキスパートって人はいないと思う そもそも一般的なphp開発だと、requireとかほぼ使わなくなってる composerのautoloadがメジャーだよ WordPressがやりたいんだったら、一般的なphpじゃなくてそれ用の本読んだほうがいいかなぁ
- 520 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 09:19:48.98 ID:95tx/KzW0.net]
- >>513
まず言語仕様として1ファイル1クラスじゃなくてもいい。1ファイルに複数クラス定義を書いてもいい。 (ただし作法としては1ファイル1クラスにするのが望ましい) そしてrequireは別のファイルからコードを挿入してくるだけの機能 例えばecho文が書かれたPHPファイルをrequireしたらその時に実行される。
- 521 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 12:09:34.54 ID:K5lzl+NyF.net]
- ファイルには関数やクラスの定義だけしておくパターンが多いかな
- 522 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 16:54:00.06 ID:E6p/DZkf0.net]
- そんなに違いが気になるなら、Ruby の逆引き本を読んだ方が早い
Ruby on Rails が良い
- 523 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 18:14:11.17 ID:qVVLPrT9r.net]
- Rubyって読みづらくね?
波括弧ないしif~endとかダサい
- 524 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 01:33:59.12 ID:UTDLtYqT0.net]
- >>523
そういうのをかっこいいと思ってる人たちが使っているんです
- 525 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 03:49:41.82 ID:QN9phVrM0.net]
- file_put_contentsでjsonにデータを書き込みたいんだけど、jsonに
[ ] を予め用意しておいて その中にデータ書き込むって出来ないかなあ?
- 526 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 08:43:06.85 ID:UTDLtYqT0.net]
- >>525
オブジェクトに[ ]を用意してその中にデータを書き込んで 最後にjsonにしてfile_put_contentsで書き込むと良いよ
- 527 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 10:36:45.89 ID:QN9phVrM0.net]
- >>526
データ入れる場所指定できるんですね 試してみます!
- 528 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 10:37:24.79 ID:QN9phVrM0.net]
- ちがうか、先に違うオブジェクトにしておくのか
- 529 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 11:19:20.74 ID:90jK5EfG0.net]
- 何で出来ない奴はこうも説明が下手なんだ・・・
何を言っているか分からんよw
- 530 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 17:28:10.18 ID:XGVF9QRc0.net]
- >>525
動的に書き込みたい部分以外はJSONのテンプレートとして事前に用意しておきたいってことだろうか そう仮定すると考えるのはこの3通りくらい 1) テンプレートを一度jsonオブジェクトとして読み込んで、目的の階層にデータを代入して、まとめて書き出す 2) テンプレート側にデータとして存在しえない文字列を用意しておいて、文字列として読み込んだjsonから文字列置換する 3) JSONを読み取る側を改修して、固定部分と動的部分を別ファイルから読み取るようにする
- 531 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 20:41:59.79 ID:QN9phVrM0.net]
- >>530
ああ、一旦オブジェクトなり配列にして、未登録のデータだった時にオブジェクト一個追加してJSON全部上書きしちゃうのは自分でもできそう データの数も3桁行かない程度だし、データ読み出して書くのもそんな重くならないか 後は動的にデータおる部分の見直しですね
- 532 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 11:24:39.77 ID:QdgOL0Oo0.net]
- どちらが適正ですか?
try { //ファイルを保存先ディレクトリに移動させる if (move_uploaded_file($_FILES['upload_image']['tmp_name'], $save)) { echo 'アップロード成功しました。'; } else { echo 'アップロード失敗しました。'; } } catch (Exception $e) { echo 'アップロードエラー: ' . $e->getMessage(); } try { //ファイルを保存先ディレクトリに移動させる move_uploaded_file($_FILES['upload_image']['tmp_name'], $save); } catch (Exception $e) { echo 'アップロードエラー: ' . $e->getMessage(); }
- 533 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 12:02:39.82 ID:A2ppgH2U0.net]
- >>532
上
- 534 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 13:31:58.17 ID:QdgOL0Oo0.net]
- >>533ありがとうございます。
- 535 名前:デフォルトの名無しさん [2023/03/05(日) 15:15:03.70 ID:QdgOL0Oo0.net]
- phpの実行を3つに区分したとして、
「データベースのmysqli接続」 「POST送信データバリデーションチェック」 「クエリ実行」 try-catch文、トランザクション処理を記述する場所 って以下であっていますか? try{ //データベース接続処理 ... //入力バリデーションチェック ... //トランザクション開始 $mysqli->begin_transaction(); //クエリ実行 ... // トランザクション処理 if (!$mysqli->commit()) { throw new Exception("トランザクションが失敗しました。"); } }catch (Exception $e) { echo $e->getMessage(); $mysqli->rollback(); }
- 536 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 17:02:00.95 ID:pluyAGbia.net]
- commit部分のthrowは要らないのでは?
- 537 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 17:44:49.95 ID:M62PQQGq0.net]
- commitしようとしたら、ファイルが壊れました、とか
- 538 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 18:28:19.70 ID:pluyAGbia.net]
- DB壊れたらシステム止まって別のトランザクションも動かないだろうから
全てのトランザクションに書かなくて良いと思う
- 539 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 21:45:08.47 ID:GipSGO790.net]
- PDOで例外投げるよう設定して
catchすべきなのはPDOExceptionじゃね
- 540 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 10:18:27.62 ID:8oxT6MrcM.net]
- こういうのもchatgptさんに
PHPでDB接続する例文書いて。例外おきたときの対処もよろ。 と言うだけでだいたい書いてくれる。 でもさ、 もしも全員がchatgptさんだけ使って ブログ記事などが一切なくなった場合は どこからサンプルソース解析してくるんだろう? 公式リファレンスしか存在しなくても たくさんサンプルあみだせるんかな?
- 541 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 13:06:49.25 ID:UVP5G7/Er.net]
- chatgptかなりいい加減だぞ
こっちが詳しく聞いてもありえないコードと解説もよくするし
- 542 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 10:28:41.64 ID:/WQQIT0F0.net]
- PDOStatement::columnCountって
PDOStatement::fetchができる回数を示しているものであってますか? int(0)を想定したクエリ出しても どんなクエリでも常にint(n)になってしまってお手上げです PDOStatement::rowCountはSQLiteのため常に0を返すとのことで使えません ものすごい古いNAS上に構築された環境なのでそれの影響もあるかもしれませんが ループ上でfetchがbool返すまでやるしかないでしょうか?
- 543 名前:547 mailto:sage [2023/03/12(日) 10:29:40.64 ID:/WQQIT0F0.net]
- どんなクエリでも常にint(n)になってしまってお手上げです
↓ どんなクエリでも常にint(n)になってしまってお手上げです (n>0) です
- 544 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 10:33:06.48 ID:yWzg52lT0.net]
- > PDOStatement::fetchができる回数を示しているものであってますか?
間違ってます。
- 545 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 11:14:32.05 ID:/WQQIT0F0.net]
- そうですねすみません
よく読んだら全然違った 久々にPHPいじってるのでこんなこともわからなくなってるとは・・・ *が最大数で1以上になるのは当たり前ですね
- 546 名前:デフォルトの名無しさん (ワッチョイ 6610-3g29) mailto:sage [2023/04/24(月) 10:58:21.24 ID:JH1evJvp0.net]
- みなさんはIF地獄になったときどうしてますか?
最適化するまで試行錯誤しますか? それとも「できる・動く」を優先して進めますか?
- 547 名前:デフォルトの名無しさん (ワッチョイ 6663-RykB) mailto:sage [2023/04/24(月) 11:03:45.16 ID:CIhFKz1G0.net]
- 動けば良いってものじゃない
- 548 名前:デフォルトの名無しさん (ワッチョイ 9ee7-RykB) [2023/04/24(月) 11:05:33.74 ID:xRkzUvA90.net]
- >>546
メソッドか関数にして追い出しておく あとでリファクタする際にその関数だけでテストできるように下準備だけしておく 未来の自分・他人がやりやすいようにして今は目をつぶる、がコーディングの鉄則 最適化は最初の仕事かつ最後の仕事だが、途中でやるのだけはNG
- 549 名前:デフォルトの名無しさん (ワッチョイ 6610-3g29) mailto:sage [2023/04/24(月) 16:04:38.35 ID:JH1evJvp0.net]
- >>548
メソッドに追い出してもIFが続きますね。 どちらにしろ「Aがある場合~Aがない場合~」みたいな処理が必要ですし。 綺麗なコードとわかりやすいコードって違うと思うんですよね。 1ファイルにダラーっとコードが記述されると汚いですが、 上から下まで読めば何がしたいかは大体わかります。 しかし、クラスなりメソッドなりに分けると、複数ファイルにまたがって複雑です。 適切な名前を付けてファイルを参照しやすくすれば手間は軽減されますが、 今度は適切な名前を考えるのに時間を消費し、開発に遅れが生じてしまいます。
- 550 名前:デフォルトの名無しさん (ワッチョイ c5e6-ASru) mailto:sage [2023/04/24(月) 19:55:07.81 ID:CirHdNf40.net]
- 綺麗でもわかりにくいコードはあるが、汚いのにわかりやすいコードというのは無いな
- 551 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 07:41:04.47 ID:ubLXos3L0.net]
- >>549
一度適当なフレームワークでシステム作ってみるといいよ 感想がぜんぜん変わるから > 今度は適切な名前を考えるのに時間を消費し、開発に遅れが生じてしまいます。 copilotさんとか使うといい
- 552 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 08:12:37.51 ID:CC33Xm/N0.net]
- >>551
一応、CakePHP→Laravelと通ってます。 単純なシステムなら綺麗でわかりやすいコードになりますが、 複雑な要件になると、力技の部分がどうしてもでてきます。
- 553 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 13:06:17.18 ID:ubLXos3L0.net]
- >>552
フレームワーク使用したことがあるのに「クラスなりメソッドなりに分けると、複数ファイルにまたがって複雑です。」とか言っちゃうのはかなりまずい気がするけど、複雑な要件の実装時に十分に責任分解できてないんじゃないかなぁ… https://github.com/alexeymezenin/laravel-best-practices/blob/master/japanese.md#%E5%8D%98%E4%B8%80%E8%B2%AC%E4%BB%BB%E3%81%AE%E5%8E%9F%E5%89%87 これのGoodがGoodに感じられないってことだよね?
- 554 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 13:27:47.02 ID:gJ92KJGfa.net]
- コミュニティーの議論や歴史を調べること
Ruby on Rails では、コントローラーの肥大化を防ぐために、 Skinny Controller, Fat Model を推奨した。 その結果、モデルが肥大化した そこで今度は、モデルの処理を減らすために、 Form Object, Service Object へ処理を分けた また表示処理は、Presenter へ分けた。 それで、Form Presenter, Model Presenter が出来た
- 555 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 13:27:53.51 ID:A07qb0io0.net]
- こういうのは2つ実際に書いてみて、両者を見比べて良い方を採用する
理屈よりも、自分の目で見て判断するのが良い
- 556 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 15:25:51.23 ID:CC33Xm/N0.net]
- >>553
いえ、これはGoodです。理想です。 しかし、システムの規模が大きくなると処理が増えるんです。 複数のメソッドを役割ごとに用意し、コントローラから指示を与えなければいけません。 >>555 今の自分はそうしてますね。 PHPに限らず、Javascriptなんかも最初はそのまま書いて、 後からjQueryにしたり、Vueに変更したりします。 結果、倍時間がかかって効率が悪くなります。 同じことをしているとモチベが下がり、開発意欲は失われます。
- 557 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 15:27:54.01 ID:dvdIAVRA0.net]
- 古いPHPのシステムを保守するならDockerにぶち込むのが一番?
- 558 名前:デフォルトの名無しさん (スッップ Sd0a-T9f9) mailto:sage [2023/04/26(水) 13:32:18.14 ID:oPAFNUffd.net]
- 結局ifは減らないんだよね
ファイルを分けても分けなくても、オブジェクト指向でもそうでなくとも Strategy/StateパターンとTemplateパターンの併用にして スイッチっぽく分岐をわかりやすするのが一番かな
- 559 名前:デフォルトの名無しさん (ワッチョイ aa7c-RykB) mailto:sage [2023/04/26(水) 13:45:21.48 ID:DHcVafSS0.net]
- ifを無理に減らす必要は無いのでは?
必要なら書かなきゃいけないし ただ処理が集約出来るとかなら外に追い出したらいいし パターンが多い場合はswitch()の方が良い場合も確かにあるし ケースバイケースかと elseifが並ぶのは個人的に嫌いだがw
- 560 名前:デフォルトの名無しさん (スップ Sdea-rwG/) mailto:sage [2023/04/26(水) 13:47:42.93 ID:poJ+ClSWd.net]
- elseif嫌いわかる
elseの中にif書きたい パターン3つ以上になるならswitchにするな
- 561 名前:デフォルトの名無しさん (ワッチョイ 5e5f-RykB) mailto:sage [2023/04/26(水) 13:57:33.29 ID:w+qfVGMw0.net]
- else if は嫌いというか、あとで取捨選択が面倒なので
if文単独で成り立つようにしておくことが多いな
- 562 名前:デフォルトの名無しさん mailto:sage [2023/04/28(金) 14:22:47.60 ID:woDvEBlt0.net]
- 訊きたいことありましたが自決しました
- 563 名前:デフォルトの名無しさん (ブーイモ MMc9-EW+4) [2023/04/28(金) 14:52:55.46 ID:L2hGySASM.net]
- おお死んでしまうとはなにごとだ
- 564 名前:デフォルトの名無しさん (ワッチョイ 7502-rwG/) mailto:sage [2023/04/28(金) 15:31:57.97 ID:4N/b4mKa0.net]
- 盆には帰ってこいよ
- 565 名前:デフォルトの名無しさん (ワッチョイ b77c-6bRy) [2023/04/30(日) 00:40:31.69 ID:z7x3mWoF0.net]
- PHP7.2.24をインストールしました。Composerもインストールしました。
次のようなExtensionも使えるようにしたいのですが、つまっています。 ext-bcmath,ext-ctype,ext-curl,・・・ ネット上でみたところ、PHPの用語でモジュールとExtension、ライブラリとあるようですが、 それぞれ違うものなのですか?
- 566 名前:デフォルトの名無しさん (ワッチョイ 9f7c-fitb) mailto:sage [2023/04/30(日) 01:15:52.37 ID:vhG6z0vz0.net]
- PHPの拡張ならそれを入れないと使えないのでは・・・
composerはあくまで自分の作るプログラムで使うライブラリを導入するもの
- 567 名前:デフォルトの名無しさん (ワッチョイ efae-KeI6) mailto:sage [2023/05/12(金) 22:24:38.02 ID:sJueD97p0.net]
- サーバーのバックエンドの*.phpはpost送信などで任意で呼び出して実行されますが
このバックエンドの*.phpで自発的に一定時間ごとにプログラムを駆動させることはできますか? 例えば1時間おきとか1日おきとかに規定プログラムを実行なんていうのは
- 568 名前:デフォルトの名無しさん (ワッチョイ 527c-KeI6) mailto:sage [2023/05/12(金) 22:30:23.15 ID:+3Auf0UC0.net]
- cronに登録すればいいだけでは?
PHPをデーモンとして常駐させてその中で定期的に動かす方法もあるだろうけど
- 569 名前:デフォルトの名無しさん mailto:sage [2023/05/12(金) 23:50:55.10 ID:A3+wmcch0.net]
- 無限ループとsleep使ったスクリプトを起動させときゃいいけど
自分でコントロール出来ないサーバだと勝手にkillされるかもな
- 570 名前:デフォルトの名無しさん (ワッチョイ 1349-ELkX) mailto:sage [2023/05/13(土) 09:35:12.10 ID:vNstIXFZ0.net]
- 例えばWindowsならコマンドプロンプトで
「php.exe <そのファイル>」 と打てば実行できる(環境変数に入ってる前提で) そういうことじゃないの? あとはWindowsならタスクスケジューラとかLinuxならcronとかで、同じように実行すればいい
- 571 名前:デフォルトの名無しさん (ワッチョイ 835f-+6/9) mailto:sage [2023/05/18(木) 11:36:31.84 ID:cerdIEN00.net]
- フロントエンドはJS、バックエンドはPHPってできるだけ切り離したい
バックエンドとしてDBからデータ受け取るためだけにPHP使うってありなのかな? あと現状スクラッチ開発しかしたことがないからバックエンド向けのフレームワークも試してみたい
- 572 名前:デフォルトの名無しさん (ワッチョイ cfbb-ScEU) mailto:sage [2023/05/18(木) 11:39:20.88 ID:yxJWp9Lm0.net]
- すればいいじゃん
がんばれ
- 573 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 12:33:14.63 ID:l6GHSnlrr.net]
- 言語はなんでもいいならphpなんて選ばない
普通はrubyかJavaかpythonだぞ phpはやめとけ
- 574 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 12:43:42.00 ID:4rcvRPf10.net]
- Pythonは完全に対応しているサーバーが少ないみたい
Pythonとdjangoでバックエンド書く方法が自分にはまだわからない
- 575 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 15:55:36.70 ID:nTE2uard0.net]
- >>571
バックエンドには通常PHPを使用するのでアリ フレームワークはFuelPHPが良いね フロントエンドのフレームワークはjQueryを使う
- 576 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 16:38:05.22 ID:BkqgSu2K0.net]
- >>573
その3つの方が選ばないわw PHPが一番楽だろw それにPHPのスレでその返答はないわ ゴミは消えろ
- 577 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 16:43:12.95 ID:psogGPWLr.net]
- まあラクなのはphpやろなあ
ケースによって最適は異なるから、便利な言葉「場合による」
|

|