!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
探検
【PHP】下らねぇ質問はここに書き込みやがれ 14
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f97-W3aP)
2022/09/20(火) 16:46:23.39ID:Sb2Kpzh+0491デフォルトの名無しさん (ワッチョイ ea8b-D0vN)
2023/02/14(火) 13:43:42.54ID:F+rfJu9X0 Eclipseの方がよっぽど使い易いじゃねーかよ。
VS Code進めてたヤツはアホか?
VS Code進めてたヤツはアホか?
492デフォルトの名無しさん (スップ Sd4a-zGNv)
2023/02/14(火) 18:19:18.79ID:9fQYo556d なれの問題を人のせいにするのは愚かだよ
493デフォルトの名無しさん (ワッチョイ ea8b-D0vN)
2023/02/14(火) 18:59:35.83ID:F+rfJu9X0 VS Codeで出来る事ほぼすべてEclipseで使えるじゃねーか。
いちいち拡張機能を入れてF1⇒実行
糞面倒臭い。
いちいち拡張機能を入れてF1⇒実行
糞面倒臭い。
494デフォルトの名無しさん (ワッチョイ 9bac-4RKc)
2023/02/14(火) 19:23:03.28ID:JNIzMgrA0 EclipseってVScodeより軽いの?
495デフォルトの名無しさん (ワッチョイ ea8b-D0vN)
2023/02/15(水) 10:31:40.86ID:WfU34a1O0 軽い
496デフォルトの名無しさん (ワッチョイ 477c-7Kef)
2023/02/15(水) 15:54:51.90ID:ficf9YEj0 pycharm
vscodeより、かるい
vscodeより、かるい
497デフォルトの名無しさん (ワッチョイ 1ef8-RZO9)
2023/02/15(水) 19:54:45.75ID:4xfiC8CV0 vscodeよりさらに
本家?visualstudioなんてマゾいし、
vscodeとvsで全然ショートカットも違うから笑えてくる
本家?visualstudioなんてマゾいし、
vscodeとvsで全然ショートカットも違うから笑えてくる
498デフォルトの名無しさん (ワッチョイ 477c-7Kef)
2023/02/15(水) 22:24:26.83ID:ficf9YEj0 php
javascript,css,html,データベース
いろいろ、絡んでくるから、初心者には、ほんと難しいとおもう
webプログラミング、がね
javascript,css,html,データベース
いろいろ、絡んでくるから、初心者には、ほんと難しいとおもう
webプログラミング、がね
499デフォルトの名無しさん (ワッチョイ 8a02-AGaU)
2023/02/16(木) 13:41:24.91ID:U29SVQBb0 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);
を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);
500デフォルトの名無しさん (ワッチョイ 2361-mcE4)
2023/02/16(木) 14:34:50.94ID:wXxzWMIn0 >>499
CURRENT_DATEはphp側ではなくsql側の日付関数なのでbindできない
INSERT INTO item(name,update_date) VALUES(:name,CURRENT_DATE);
CURRENT_DATEはphp側ではなくsql側の日付関数なのでbindできない
INSERT INTO item(name,update_date) VALUES(:name,CURRENT_DATE);
501デフォルトの名無しさん (ワッチョイ ea8b-D0vN)
2023/02/16(木) 16:20:52.89ID:ZhDpu7bI0 IDEはEclipseで十分
502デフォルトの名無しさん (ワッチョイ 8a02-AGaU)
2023/02/16(木) 17:17:33.60ID:U29SVQBb0 >>500
ありがとうございます。
ありがとうございます。
503デフォルトの名無しさん (ワッチョイ 23a7-R6kM)
2023/02/17(金) 00:53:37.37ID:VY6wNZlY0 PHPのシンタックスハイライトぐらいしか出来ないエディタで
5MBほどの社内用プログラムをかきあげたことがあるぞ(゚A゚;)
5MBほどの社内用プログラムをかきあげたことがあるぞ(゚A゚;)
504デフォルトの名無しさん (ワッチョイ 9bac-4RKc)
2023/02/17(金) 01:00:09.42ID:O/H37gNs0 メモ帳野郎が湧くぞ
505デフォルトの名無しさん (ワッチョイ e38b-BTrK)
2023/02/18(土) 16:21:45.50ID:wTUF9m4P0 cd ~/.ssh
の ~ ってどういう意味なのでしょうか?
cd .ssh だと確かにこのディレクトリに入れません。決まり文句と覚えておけばよいでしょうか?
の ~ ってどういう意味なのでしょうか?
cd .ssh だと確かにこのディレクトリに入れません。決まり文句と覚えておけばよいでしょうか?
506デフォルトの名無しさん (ワッチョイ cbbb-u8a6)
2023/02/18(土) 17:00:32.72ID:zhx+QJQI0 >>505
スレチ
スレチ
507デフォルトの名無しさん (ワッチョイ 6ea6-fgbX)
2023/02/25(土) 19:20:55.02ID:L/ecqLAZ0 >>501
ホームディレクトリの略だよ
ホームディレクトリの略だよ
508デフォルトの名無しさん (アウアウウー Sa39-bTTE)
2023/02/26(日) 23:08:14.21ID:yz/O0wFra requireとextendsはどう違うの?
requireはclassだけ呼ぶのかと思ったらプロパティも呼ぶし混乱する
この2つ重なってない?
requireはclassだけ呼ぶのかと思ったらプロパティも呼ぶし混乱する
この2つ重なってない?
509デフォルトの名無しさん (ワッチョイ ae5f-W5vA)
2023/02/27(月) 00:20:33.97ID:sow/rINj0 includeとrequireを混同するのは微笑ましいあるあるだけど
extendsは初めて見るパターンで困惑する
extendsは初めて見るパターンで困惑する
510デフォルトの名無しさん (アウアウウー Sa39-bTTE)
2023/02/27(月) 01:15:02.38ID:BPjGYXVma 無能なんだな俺
でも分かった
requireは親のクラスを使ってインスタンスが作れる。だから呼び出し元でclass Hoge { しなくていい
requireは更に親のphpファイルで作った変数が使える
requireは更に親のphpファイルで作ったコンストラクタを使える
つまりclass内が使える
一方のextendsはclass Hoge { の外にあるメソッドとかを継承する
↑この理解はどうかな?
でも分かった
requireは親のクラスを使ってインスタンスが作れる。だから呼び出し元でclass Hoge { しなくていい
requireは更に親のphpファイルで作った変数が使える
requireは更に親のphpファイルで作ったコンストラクタを使える
つまりclass内が使える
一方のextendsはclass Hoge { の外にあるメソッドとかを継承する
↑この理解はどうかな?
511デフォルトの名無しさん (アウアウウー Sa39-bTTE)
2023/02/27(月) 01:24:44.70ID:BPjGYXVma メソッドもclass Hoge {の中にあるのか。やっぱ被ってるように思うけど
512デフォルトの名無しさん (ワッチョイ 7da7-c/TO)
2023/02/27(月) 04:20:55.93ID:ocW3Jac80 requireはあくまでも外部のPHPファイルを読み込んでるだけ
そこに記載されたクラスを継承して新たにクラスを作ることとは何の関連もない
ポリモーフィズムの概念やらオブジェクト指向がなんたるかを勉強してきたほうがいい
そこに記載されたクラスを継承して新たにクラスを作ることとは何の関連もない
ポリモーフィズムの概念やらオブジェクト指向がなんたるかを勉強してきたほうがいい
513デフォルトの名無しさん (ワッチョイ 7da7-c/TO)
2023/02/27(月) 04:22:36.00ID:ocW3Jac80 ちなみにネコがワンと鳴くみたいな説明してるとこは見ない方がいい
514デフォルトの名無しさん (ワッチョイ fa8b-W5vA)
2023/02/27(月) 04:37:15.50ID:iRiTYulC0 俺はPHPだけじゃなくて、Windowsアプリ開発もできる
515デフォルトの名無しさん (アウアウウー Sa39-TMU/)
2023/02/27(月) 08:40:23.44ID:TElJ4lxXa >>512
You Tubeいくつか見てみるよ
You Tubeいくつか見てみるよ
516デフォルトの名無しさん (ワッチョイ daa9-sAZr)
2023/02/27(月) 13:52:10.05ID:OQAydld20 初心者なんだけど他人のコード見てたら
if(true){
・・・
}
if(false){
・・・
}
とかあるんだが、これはどういう条件式なの?
ifの中に変数名が入っていたりしたら入ってるかどうかぐらいなのはわかるんだけど、
不思議な書き方なのでよくわからんです
if(true){
・・・
}
if(false){
・・・
}
とかあるんだが、これはどういう条件式なの?
ifの中に変数名が入っていたりしたら入ってるかどうかぐらいなのはわかるんだけど、
不思議な書き方なのでよくわからんです
517デフォルトの名無しさん (ワッチョイ ae5f-W5vA)
2023/02/27(月) 13:59:57.21ID:sow/rINj0518デフォルトの名無しさん (アウアウウー Sa39-bTTE)
2023/02/28(火) 01:30:55.97ID:YvnM6/8va やっぱ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するかしないか分かるの?
とある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するかしないか分かるの?
519デフォルトの名無しさん (アウアウウー Sa39-bTTE)
2023/02/28(火) 01:34:20.21ID:YvnM6/8va それと、クラスメソッドやクラスプロパティ使う時も皆は明白に判断つくの?
インスタンス作成回数とかid作成はクラスメソッドとかみたいのは分かるけど俺はハッキリと判断つかないな
インスタンス作成回数とかid作成はクラスメソッドとかみたいのは分かるけど俺はハッキリと判断つかないな
520デフォルトの名無しさん (アウアウウー Sa39-bTTE)
2023/02/28(火) 01:50:28.85ID:YvnM6/8va HTMLに変換されるindex.php上で他のphpファイル上で定義されたメソッドを実行する場合、requireしなくてもいいのはなぜ?
requireはインスタンス作成時にのみ行うのかと思わせて他のケースもあるみたいで分からなくなる
requireはインスタンス作成時にのみ行うのかと思わせて他のケースもあるみたいで分からなくなる
521デフォルトの名無しさん (ワッチョイ 7da7-c/TO)
2023/02/28(火) 02:32:15.26ID:RiJyC4pT0 requireで読み込むファイルはクラスや関数が書かれたライブラリだったり
定数や共通の設定事項を記載したファイルだったり
単にhtmlを出力してるだけのファイルならその内容が読み込んだ側で出力されるし用途は様々
C言語で書かれたPHPコアライブラリに含まれてる関数群やPDOなんかのクラスは
使用するにあたってrequireなんて書いたりしないけど
PHPで作られてるものはrequireしないと使えない
インスタンスだの継承だのそんな次元の話じゃない
定数や共通の設定事項を記載したファイルだったり
単にhtmlを出力してるだけのファイルならその内容が読み込んだ側で出力されるし用途は様々
C言語で書かれたPHPコアライブラリに含まれてる関数群やPDOなんかのクラスは
使用するにあたってrequireなんて書いたりしないけど
PHPで作られてるものはrequireしないと使えない
インスタンスだの継承だのそんな次元の話じゃない
522デフォルトの名無しさん (ワッチョイ f6bb-Arif)
2023/02/28(火) 07:09:43.47ID:3WmX3+jc0 基礎的なところからすれ違ってんだから体系的に学習できる本でも読めよ
phpは基礎が学べればあとはマニュアルでなんとかなるくらいマニュアルが優秀だけど、そもそもの基礎がズレてたらマニュアルも読めん
phpは基礎が学べればあとはマニュアルでなんとかなるくらいマニュアルが優秀だけど、そもそもの基礎がズレてたらマニュアルも読めん
523デフォルトの名無しさん (アウアウウー Sa39-TMU/)
2023/02/28(火) 08:28:11.46ID:xmhsjsFza 基礎がおかしいか。Progateで勉強したけどrequireするしないの差が曖昧だった
何で勉強しようと思ったかというと、今使ってるブログサービスで不具合あって、そこがWordPressだから直せないかなと思った
である程度勉強してブログ設定見たらユーザーが触れる部分はHTMLで勉強の意味無かった
意味無かったけど途中までやったから全部終わらせた
PHPかなり難しかったよ。でもCやってたら楽々なんだろうな
何で勉強しようと思ったかというと、今使ってるブログサービスで不具合あって、そこがWordPressだから直せないかなと思った
である程度勉強してブログ設定見たらユーザーが触れる部分はHTMLで勉強の意味無かった
意味無かったけど途中までやったから全部終わらせた
PHPかなり難しかったよ。でもCやってたら楽々なんだろうな
524デフォルトの名無しさん (ワッチョイ f6bb-Arif)
2023/02/28(火) 09:06:04.41ID:3WmX3+jc0 WordPressはphpとはまた別物
多分、両方エキスパートって人はいないと思う
そもそも一般的なphp開発だと、requireとかほぼ使わなくなってる
composerのautoloadがメジャーだよ
WordPressがやりたいんだったら、一般的なphpじゃなくてそれ用の本読んだほうがいいかなぁ
多分、両方エキスパートって人はいないと思う
そもそも一般的なphp開発だと、requireとかほぼ使わなくなってる
composerのautoloadがメジャーだよ
WordPressがやりたいんだったら、一般的なphpじゃなくてそれ用の本読んだほうがいいかなぁ
525デフォルトの名無しさん (ワッチョイ fab7-okFi)
2023/02/28(火) 09:19:48.98ID:95tx/KzW0 >>518
まず言語仕様として1ファイル1クラスじゃなくてもいい。1ファイルに複数クラス定義を書いてもいい。
(ただし作法としては1ファイル1クラスにするのが望ましい)
そしてrequireは別のファイルからコードを挿入してくるだけの機能
例えばecho文が書かれたPHPファイルをrequireしたらその時に実行される。
まず言語仕様として1ファイル1クラスじゃなくてもいい。1ファイルに複数クラス定義を書いてもいい。
(ただし作法としては1ファイル1クラスにするのが望ましい)
そしてrequireは別のファイルからコードを挿入してくるだけの機能
例えばecho文が書かれたPHPファイルをrequireしたらその時に実行される。
526デフォルトの名無しさん (ワイーワ2 FF42-pseD)
2023/02/28(火) 12:09:34.54ID:K5lzl+NyF ファイルには関数やクラスの定義だけしておくパターンが多いかな
527デフォルトの名無しさん (ワッチョイ ee89-9dkJ)
2023/02/28(火) 16:54:00.06ID:E6p/DZkf0 そんなに違いが気になるなら、Ruby の逆引き本を読んだ方が早い
Ruby on Rails が良い
Ruby on Rails が良い
528デフォルトの名無しさん (オッペケ Sr75-tD1/)
2023/02/28(火) 18:14:11.17ID:qVVLPrT9r Rubyって読みづらくね?
波括弧ないしif~endとかダサい
波括弧ないしif~endとかダサい
529デフォルトの名無しさん (ワッチョイ ae5f-W5vA)
2023/03/01(水) 01:33:59.12ID:UTDLtYqT0 >>528
そういうのをかっこいいと思ってる人たちが使っているんです
そういうのをかっこいいと思ってる人たちが使っているんです
530デフォルトの名無しさん (ワッチョイ 9d5f-pseD)
2023/03/01(水) 03:49:41.82ID:QN9phVrM0 file_put_contentsでjsonにデータを書き込みたいんだけど、jsonに
[ ]
を予め用意しておいて その中にデータ書き込むって出来ないかなあ?
[ ]
を予め用意しておいて その中にデータ書き込むって出来ないかなあ?
531デフォルトの名無しさん (ワッチョイ ae5f-W5vA)
2023/03/01(水) 08:43:06.85ID:UTDLtYqT0532デフォルトの名無しさん (ワッチョイ 9d5f-pseD)
2023/03/01(水) 10:36:45.89ID:QN9phVrM0533デフォルトの名無しさん (ワッチョイ 9d5f-pseD)
2023/03/01(水) 10:37:24.79ID:QN9phVrM0 ちがうか、先に違うオブジェクトにしておくのか
534デフォルトの名無しさん (ワッチョイ 9a7c-W5vA)
2023/03/01(水) 11:19:20.74ID:90jK5EfG0 何で出来ない奴はこうも説明が下手なんだ・・・
何を言っているか分からんよw
何を言っているか分からんよw
535デフォルトの名無しさん (ワッチョイ fab7-okFi)
2023/03/01(水) 17:28:10.18ID:XGVF9QRc0 >>530
動的に書き込みたい部分以外はJSONのテンプレートとして事前に用意しておきたいってことだろうか
そう仮定すると考えるのはこの3通りくらい
1) テンプレートを一度jsonオブジェクトとして読み込んで、目的の階層にデータを代入して、まとめて書き出す
2) テンプレート側にデータとして存在しえない文字列を用意しておいて、文字列として読み込んだjsonから文字列置換する
3) JSONを読み取る側を改修して、固定部分と動的部分を別ファイルから読み取るようにする
動的に書き込みたい部分以外はJSONのテンプレートとして事前に用意しておきたいってことだろうか
そう仮定すると考えるのはこの3通りくらい
1) テンプレートを一度jsonオブジェクトとして読み込んで、目的の階層にデータを代入して、まとめて書き出す
2) テンプレート側にデータとして存在しえない文字列を用意しておいて、文字列として読み込んだjsonから文字列置換する
3) JSONを読み取る側を改修して、固定部分と動的部分を別ファイルから読み取るようにする
536デフォルトの名無しさん (ワッチョイ 9d5f-pseD)
2023/03/01(水) 20:41:59.79ID:QN9phVrM0 >>535
ああ、一旦オブジェクトなり配列にして、未登録のデータだった時にオブジェクト一個追加してJSON全部上書きしちゃうのは自分でもできそう
データの数も3桁行かない程度だし、データ読み出して書くのもそんな重くならないか
後は動的にデータおる部分の見直しですね
ああ、一旦オブジェクトなり配列にして、未登録のデータだった時にオブジェクト一個追加してJSON全部上書きしちゃうのは自分でもできそう
データの数も3桁行かない程度だし、データ読み出して書くのもそんな重くならないか
後は動的にデータおる部分の見直しですね
537デフォルトの名無しさん (ワッチョイ 1302-QeO8)
2023/03/05(日) 11:24:39.77ID:QdgOL0Oo0 どちらが適正ですか?
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();
}
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();
}
538デフォルトの名無しさん (ワッチョイ 1361-y7Dr)
2023/03/05(日) 12:02:39.82ID:A2ppgH2U0 >>537
上
上
539デフォルトの名無しさん (ワッチョイ 1302-QeO8)
2023/03/05(日) 13:31:58.17ID:QdgOL0Oo0 >>538ありがとうございます。
540デフォルトの名無しさん (ワッチョイ 1302-QeO8)
2023/03/05(日) 15:15:03.70ID:QdgOL0Oo0 phpの実行を3つに区分したとして、
「データベースのmysqli接続」
「POST送信データバリデーションチェック」
「クエリ実行」
try-catch文、トランザクション処理を記述する場所
って以下であっていますか?
try{
//データベース接続処理
...
//入力バリデーションチェック
...
//トランザクション開始
$mysqli->begin_transaction();
//クエリ実行
...
// トランザクション処理
if (!$mysqli->commit()) {
throw new Exception("トランザクションが失敗しました。");
}
}catch (Exception $e) {
echo $e->getMessage();
$mysqli->rollback();
}
「データベースのmysqli接続」
「POST送信データバリデーションチェック」
「クエリ実行」
try-catch文、トランザクション処理を記述する場所
って以下であっていますか?
try{
//データベース接続処理
...
//入力バリデーションチェック
...
//トランザクション開始
$mysqli->begin_transaction();
//クエリ実行
...
// トランザクション処理
if (!$mysqli->commit()) {
throw new Exception("トランザクションが失敗しました。");
}
}catch (Exception $e) {
echo $e->getMessage();
$mysqli->rollback();
}
541デフォルトの名無しさん (アウアウアー Sa8b-Gptz)
2023/03/05(日) 17:02:00.95ID:pluyAGbia commit部分のthrowは要らないのでは?
542デフォルトの名無しさん (ワッチョイ 8b63-Qpn1)
2023/03/05(日) 17:44:49.95ID:M62PQQGq0 commitしようとしたら、ファイルが壊れました、とか
543デフォルトの名無しさん (アウアウアー Sa8b-Gptz)
2023/03/05(日) 18:28:19.70ID:pluyAGbia DB壊れたらシステム止まって別のトランザクションも動かないだろうから
全てのトランザクションに書かなくて良いと思う
全てのトランザクションに書かなくて良いと思う
544デフォルトの名無しさん (ワッチョイ e9a7-8P30)
2023/03/05(日) 21:45:08.47ID:GipSGO790 PDOで例外投げるよう設定して
catchすべきなのはPDOExceptionじゃね
catchすべきなのはPDOExceptionじゃね
545デフォルトの名無しさん (ブーイモ MMcb-5TsK)
2023/03/06(月) 10:18:27.62ID:8oxT6MrcM こういうのもchatgptさんに
PHPでDB接続する例文書いて。例外おきたときの対処もよろ。
と言うだけでだいたい書いてくれる。
でもさ、
もしも全員がchatgptさんだけ使って
ブログ記事などが一切なくなった場合は
どこからサンプルソース解析してくるんだろう?
公式リファレンスしか存在しなくても
たくさんサンプルあみだせるんかな?
PHPでDB接続する例文書いて。例外おきたときの対処もよろ。
と言うだけでだいたい書いてくれる。
でもさ、
もしも全員がchatgptさんだけ使って
ブログ記事などが一切なくなった場合は
どこからサンプルソース解析してくるんだろう?
公式リファレンスしか存在しなくても
たくさんサンプルあみだせるんかな?
546デフォルトの名無しさん (オッペケ Sr45-+tQF)
2023/03/06(月) 13:06:49.25ID:UVP5G7/Er chatgptかなりいい加減だぞ
こっちが詳しく聞いてもありえないコードと解説もよくするし
こっちが詳しく聞いてもありえないコードと解説もよくするし
547デフォルトの名無しさん (ワッチョイ d6a7-Cjjx)
2023/03/12(日) 10:28:41.64ID:/WQQIT0F0 PDOStatement::columnCountって
PDOStatement::fetchができる回数を示しているものであってますか?
int(0)を想定したクエリ出しても
どんなクエリでも常にint(n)になってしまってお手上げです
PDOStatement::rowCountはSQLiteのため常に0を返すとのことで使えません
ものすごい古いNAS上に構築された環境なのでそれの影響もあるかもしれませんが
ループ上でfetchがbool返すまでやるしかないでしょうか?
PDOStatement::fetchができる回数を示しているものであってますか?
int(0)を想定したクエリ出しても
どんなクエリでも常にint(n)になってしまってお手上げです
PDOStatement::rowCountはSQLiteのため常に0を返すとのことで使えません
ものすごい古いNAS上に構築された環境なのでそれの影響もあるかもしれませんが
ループ上でfetchがbool返すまでやるしかないでしょうか?
548547 (ワッチョイ d6a7-Cjjx)
2023/03/12(日) 10:29:40.64ID:/WQQIT0F0 どんなクエリでも常にint(n)になってしまってお手上げです
↓
どんなクエリでも常にint(n)になってしまってお手上げです (n>0)
です
↓
どんなクエリでも常にint(n)になってしまってお手上げです (n>0)
です
549デフォルトの名無しさん (ワッチョイ 56bb-EKUa)
2023/03/12(日) 10:33:06.48ID:yWzg52lT0 > PDOStatement::fetchができる回数を示しているものであってますか?
間違ってます。
間違ってます。
550デフォルトの名無しさん (ワッチョイ d6a7-Cjjx)
2023/03/12(日) 11:14:32.05ID:/WQQIT0F0 そうですねすみません
よく読んだら全然違った
久々にPHPいじってるのでこんなこともわからなくなってるとは・・・
*が最大数で1以上になるのは当たり前ですね
よく読んだら全然違った
久々にPHPいじってるのでこんなこともわからなくなってるとは・・・
*が最大数で1以上になるのは当たり前ですね
551デフォルトの名無しさん (ワッチョイ 6610-3g29)
2023/04/24(月) 10:58:21.24ID:JH1evJvp0 みなさんはIF地獄になったときどうしてますか?
最適化するまで試行錯誤しますか?
それとも「できる・動く」を優先して進めますか?
最適化するまで試行錯誤しますか?
それとも「できる・動く」を優先して進めますか?
552デフォルトの名無しさん (ワッチョイ 6663-RykB)
2023/04/24(月) 11:03:45.16ID:CIhFKz1G0 動けば良いってものじゃない
553デフォルトの名無しさん (ワッチョイ 9ee7-RykB)
2023/04/24(月) 11:05:33.74ID:xRkzUvA90 >>551
メソッドか関数にして追い出しておく
あとでリファクタする際にその関数だけでテストできるように下準備だけしておく
未来の自分・他人がやりやすいようにして今は目をつぶる、がコーディングの鉄則
最適化は最初の仕事かつ最後の仕事だが、途中でやるのだけはNG
メソッドか関数にして追い出しておく
あとでリファクタする際にその関数だけでテストできるように下準備だけしておく
未来の自分・他人がやりやすいようにして今は目をつぶる、がコーディングの鉄則
最適化は最初の仕事かつ最後の仕事だが、途中でやるのだけはNG
554デフォルトの名無しさん (ワッチョイ 6610-3g29)
2023/04/24(月) 16:04:38.35ID:JH1evJvp0 >>553
メソッドに追い出してもIFが続きますね。
どちらにしろ「Aがある場合~Aがない場合~」みたいな処理が必要ですし。
綺麗なコードとわかりやすいコードって違うと思うんですよね。
1ファイルにダラーっとコードが記述されると汚いですが、
上から下まで読めば何がしたいかは大体わかります。
しかし、クラスなりメソッドなりに分けると、複数ファイルにまたがって複雑です。
適切な名前を付けてファイルを参照しやすくすれば手間は軽減されますが、
今度は適切な名前を考えるのに時間を消費し、開発に遅れが生じてしまいます。
メソッドに追い出してもIFが続きますね。
どちらにしろ「Aがある場合~Aがない場合~」みたいな処理が必要ですし。
綺麗なコードとわかりやすいコードって違うと思うんですよね。
1ファイルにダラーっとコードが記述されると汚いですが、
上から下まで読めば何がしたいかは大体わかります。
しかし、クラスなりメソッドなりに分けると、複数ファイルにまたがって複雑です。
適切な名前を付けてファイルを参照しやすくすれば手間は軽減されますが、
今度は適切な名前を考えるのに時間を消費し、開発に遅れが生じてしまいます。
555デフォルトの名無しさん (ワッチョイ c5e6-ASru)
2023/04/24(月) 19:55:07.81ID:CirHdNf40 綺麗でもわかりにくいコードはあるが、汚いのにわかりやすいコードというのは無いな
556デフォルトの名無しさん (ワッチョイ e6bb-lTfL)
2023/04/25(火) 07:41:04.47ID:ubLXos3L0 >>554
一度適当なフレームワークでシステム作ってみるといいよ
感想がぜんぜん変わるから
> 今度は適切な名前を考えるのに時間を消費し、開発に遅れが生じてしまいます。
copilotさんとか使うといい
一度適当なフレームワークでシステム作ってみるといいよ
感想がぜんぜん変わるから
> 今度は適切な名前を考えるのに時間を消費し、開発に遅れが生じてしまいます。
copilotさんとか使うといい
557デフォルトの名無しさん (ワッチョイ 6610-3g29)
2023/04/25(火) 08:12:37.51ID:CC33Xm/N0558デフォルトの名無しさん (ワッチョイ e6bb-lTfL)
2023/04/25(火) 13:06:17.18ID:ubLXos3L0 >>557
フレームワーク使用したことがあるのに「クラスなりメソッドなりに分けると、複数ファイルにまたがって複雑です。」とか言っちゃうのはかなりまずい気がするけど、複雑な要件の実装時に十分に責任分解できてないんじゃないかなぁ…
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に感じられないってことだよね?
フレームワーク使用したことがあるのに「クラスなりメソッドなりに分けると、複数ファイルにまたがって複雑です。」とか言っちゃうのはかなりまずい気がするけど、複雑な要件の実装時に十分に責任分解できてないんじゃないかなぁ…
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に感じられないってことだよね?
559デフォルトの名無しさん (アウアウウー Sa21-PXVT)
2023/04/25(火) 13:27:47.02ID:gJ92KJGfa コミュニティーの議論や歴史を調べること
Ruby on Rails では、コントローラーの肥大化を防ぐために、
Skinny Controller, Fat Model を推奨した。
その結果、モデルが肥大化した
そこで今度は、モデルの処理を減らすために、
Form Object, Service Object へ処理を分けた
また表示処理は、Presenter へ分けた。
それで、Form Presenter, Model Presenter が出来た
Ruby on Rails では、コントローラーの肥大化を防ぐために、
Skinny Controller, Fat Model を推奨した。
その結果、モデルが肥大化した
そこで今度は、モデルの処理を減らすために、
Form Object, Service Object へ処理を分けた
また表示処理は、Presenter へ分けた。
それで、Form Presenter, Model Presenter が出来た
560デフォルトの名無しさん (ワッチョイ e6bb-5x1U)
2023/04/25(火) 13:27:53.51ID:A07qb0io0 こういうのは2つ実際に書いてみて、両者を見比べて良い方を採用する
理屈よりも、自分の目で見て判断するのが良い
理屈よりも、自分の目で見て判断するのが良い
561デフォルトの名無しさん (ワッチョイ 6610-3g29)
2023/04/25(火) 15:25:51.23ID:CC33Xm/N0562デフォルトの名無しさん (ワッチョイ 5e5f-RykB)
2023/04/25(火) 15:27:54.01ID:dvdIAVRA0 古いPHPのシステムを保守するならDockerにぶち込むのが一番?
563デフォルトの名無しさん (スッップ Sd0a-T9f9)
2023/04/26(水) 13:32:18.14ID:oPAFNUffd 結局ifは減らないんだよね
ファイルを分けても分けなくても、オブジェクト指向でもそうでなくとも
Strategy/StateパターンとTemplateパターンの併用にして
スイッチっぽく分岐をわかりやすするのが一番かな
ファイルを分けても分けなくても、オブジェクト指向でもそうでなくとも
Strategy/StateパターンとTemplateパターンの併用にして
スイッチっぽく分岐をわかりやすするのが一番かな
564デフォルトの名無しさん (ワッチョイ aa7c-RykB)
2023/04/26(水) 13:45:21.48ID:DHcVafSS0 ifを無理に減らす必要は無いのでは?
必要なら書かなきゃいけないし
ただ処理が集約出来るとかなら外に追い出したらいいし
パターンが多い場合はswitch()の方が良い場合も確かにあるし
ケースバイケースかと
elseifが並ぶのは個人的に嫌いだがw
必要なら書かなきゃいけないし
ただ処理が集約出来るとかなら外に追い出したらいいし
パターンが多い場合はswitch()の方が良い場合も確かにあるし
ケースバイケースかと
elseifが並ぶのは個人的に嫌いだがw
565デフォルトの名無しさん (スップ Sdea-rwG/)
2023/04/26(水) 13:47:42.93ID:poJ+ClSWd elseif嫌いわかる
elseの中にif書きたい
パターン3つ以上になるならswitchにするな
elseの中にif書きたい
パターン3つ以上になるならswitchにするな
566デフォルトの名無しさん (ワッチョイ 5e5f-RykB)
2023/04/26(水) 13:57:33.29ID:w+qfVGMw0 else if は嫌いというか、あとで取捨選択が面倒なので
if文単独で成り立つようにしておくことが多いな
if文単独で成り立つようにしておくことが多いな
567デフォルトの名無しさん (ワッチョイ 1149-RykB)
2023/04/28(金) 14:22:47.60ID:woDvEBlt0 訊きたいことありましたが自決しました
568デフォルトの名無しさん (ブーイモ MMc9-EW+4)
2023/04/28(金) 14:52:55.46ID:L2hGySASM おお死んでしまうとはなにごとだ
569デフォルトの名無しさん (ワッチョイ 7502-rwG/)
2023/04/28(金) 15:31:57.97ID:4N/b4mKa0 盆には帰ってこいよ
570デフォルトの名無しさん (ワッチョイ b77c-6bRy)
2023/04/30(日) 00:40:31.69ID:z7x3mWoF0 PHP7.2.24をインストールしました。Composerもインストールしました。
次のようなExtensionも使えるようにしたいのですが、つまっています。
ext-bcmath,ext-ctype,ext-curl,・・・
ネット上でみたところ、PHPの用語でモジュールとExtension、ライブラリとあるようですが、
それぞれ違うものなのですか?
次のようなExtensionも使えるようにしたいのですが、つまっています。
ext-bcmath,ext-ctype,ext-curl,・・・
ネット上でみたところ、PHPの用語でモジュールとExtension、ライブラリとあるようですが、
それぞれ違うものなのですか?
571デフォルトの名無しさん (ワッチョイ 9f7c-fitb)
2023/04/30(日) 01:15:52.37ID:vhG6z0vz0 PHPの拡張ならそれを入れないと使えないのでは・・・
composerはあくまで自分の作るプログラムで使うライブラリを導入するもの
composerはあくまで自分の作るプログラムで使うライブラリを導入するもの
572デフォルトの名無しさん (ワッチョイ efae-KeI6)
2023/05/12(金) 22:24:38.02ID:sJueD97p0 サーバーのバックエンドの*.phpはpost送信などで任意で呼び出して実行されますが
このバックエンドの*.phpで自発的に一定時間ごとにプログラムを駆動させることはできますか?
例えば1時間おきとか1日おきとかに規定プログラムを実行なんていうのは
このバックエンドの*.phpで自発的に一定時間ごとにプログラムを駆動させることはできますか?
例えば1時間おきとか1日おきとかに規定プログラムを実行なんていうのは
573デフォルトの名無しさん (ワッチョイ 527c-KeI6)
2023/05/12(金) 22:30:23.15ID:+3Auf0UC0 cronに登録すればいいだけでは?
PHPをデーモンとして常駐させてその中で定期的に動かす方法もあるだろうけど
PHPをデーモンとして常駐させてその中で定期的に動かす方法もあるだろうけど
574デフォルトの名無しさん (ワッチョイ efa7-vOwS)
2023/05/12(金) 23:50:55.10ID:A3+wmcch0 無限ループとsleep使ったスクリプトを起動させときゃいいけど
自分でコントロール出来ないサーバだと勝手にkillされるかもな
自分でコントロール出来ないサーバだと勝手にkillされるかもな
575デフォルトの名無しさん (ワッチョイ 1349-ELkX)
2023/05/13(土) 09:35:12.10ID:vNstIXFZ0 例えばWindowsならコマンドプロンプトで
「php.exe <そのファイル>」
と打てば実行できる(環境変数に入ってる前提で)
そういうことじゃないの?
あとはWindowsならタスクスケジューラとかLinuxならcronとかで、同じように実行すればいい
「php.exe <そのファイル>」
と打てば実行できる(環境変数に入ってる前提で)
そういうことじゃないの?
あとはWindowsならタスクスケジューラとかLinuxならcronとかで、同じように実行すればいい
576デフォルトの名無しさん (ワッチョイ 835f-+6/9)
2023/05/18(木) 11:36:31.84ID:cerdIEN00 フロントエンドはJS、バックエンドはPHPってできるだけ切り離したい
バックエンドとしてDBからデータ受け取るためだけにPHP使うってありなのかな?
あと現状スクラッチ開発しかしたことがないからバックエンド向けのフレームワークも試してみたい
バックエンドとしてDBからデータ受け取るためだけにPHP使うってありなのかな?
あと現状スクラッチ開発しかしたことがないからバックエンド向けのフレームワークも試してみたい
577デフォルトの名無しさん (ワッチョイ cfbb-ScEU)
2023/05/18(木) 11:39:20.88ID:yxJWp9Lm0 すればいいじゃん
がんばれ
がんばれ
578デフォルトの名無しさん (オッペケ Sr87-9+eW)
2023/05/18(木) 12:33:14.63ID:l6GHSnlrr 言語はなんでもいいならphpなんて選ばない
普通はrubyかJavaかpythonだぞ
phpはやめとけ
普通はrubyかJavaかpythonだぞ
phpはやめとけ
579デフォルトの名無しさん (ワッチョイ 63f9-ZkZz)
2023/05/18(木) 12:43:42.00ID:4rcvRPf10 Pythonは完全に対応しているサーバーが少ないみたい
Pythonとdjangoでバックエンド書く方法が自分にはまだわからない
Pythonとdjangoでバックエンド書く方法が自分にはまだわからない
580デフォルトの名無しさん (ワッチョイ 6fe7-ZkZz)
2023/05/18(木) 15:55:36.70ID:nTE2uard0581デフォルトの名無しさん (ワッチョイ ff7c-ZkZz)
2023/05/18(木) 16:38:05.22ID:BkqgSu2K0582デフォルトの名無しさん (オッペケ Sr87-ELkX)
2023/05/18(木) 16:43:12.95ID:psogGPWLr まあラクなのはphpやろなあ
ケースによって最適は異なるから、便利な言葉「場合による」
ケースによって最適は異なるから、便利な言葉「場合による」
583デフォルトの名無しさん (ワッチョイ cff8-8XTM)
2023/05/18(木) 17:32:55.73ID:7XjO1SKk0 なんでも使える自社サーバーなのか、
レンタルサーバーのつもりかで選択肢かわるもんな
phpはだいたい使えるから仕方ない
レンタルサーバーのつもりかで選択肢かわるもんな
phpはだいたい使えるから仕方ない
584デフォルトの名無しさん (ワッチョイ ff5c-ZkZz)
2023/05/18(木) 19:26:52.18ID:iyBRbBgp0 VPSなら何だって使える
585デフォルトの名無しさん (ワッチョイ 835f-+6/9)
2023/05/19(金) 01:52:10.66ID:TiXR4GEz0 >>583
会社のサーバーがさくらのレンサバだから何でもかんでもPHPなんだよね
ごく小規模だからスクラッチ開発が基本だし
レベル低くて仕事で精一杯だしで何か独学するって余裕もないから、まずPHPの手軽さからわざと離れてJSでDOM操作は分けてみようかなぁと
会社のサーバーがさくらのレンサバだから何でもかんでもPHPなんだよね
ごく小規模だからスクラッチ開発が基本だし
レベル低くて仕事で精一杯だしで何か独学するって余裕もないから、まずPHPの手軽さからわざと離れてJSでDOM操作は分けてみようかなぁと
586デフォルトの名無しさん (ワッチョイ 1ba7-cUXk)
2023/05/22(月) 01:29:49.15ID:6n6FPMUf0587デフォルトの名無しさん (ワッチョイ d1a7-Cr01)
2023/06/10(土) 20:37:19.56ID:TSaFGI4o0 WSL2(ubuntu)にLaravelインスコしてみたけど
メモリ8G程度だときっついですね
docker desktopとかwindowsターミナル入れろとかこの辺は
aptでdocker入れたりubuntu直接起動したりすればおkな感じですか?
とりあえずやってみてその方法でもいけたはいけたんですが(メモリも1Gぐらい減った)
ビルドしてるときの表示がバグったりちょっと不安要素がありました
メモリ8G程度だときっついですね
docker desktopとかwindowsターミナル入れろとかこの辺は
aptでdocker入れたりubuntu直接起動したりすればおkな感じですか?
とりあえずやってみてその方法でもいけたはいけたんですが(メモリも1Gぐらい減った)
ビルドしてるときの表示がバグったりちょっと不安要素がありました
588デフォルトの名無しさん (ワッチョイ 8bbb-hEWj)
2023/06/11(日) 08:50:59.31ID:nugYPewD0 メモリも問題だけど、たぶん最大の問題はファイルを配置した場所だと思うよ
・ソースコードをWSL2ディストリビューション領域内に配置する
で大幅に改善すると思う
・ソースコードをWSL2ディストリビューション領域内に配置する
で大幅に改善すると思う
589デフォルトの名無しさん (テテンテンテン MMeb-+QT+)
2023/06/12(月) 08:08:55.93ID:VNkMF7gVM httpリクエストで動的なサイトからデータ取得するのってやっぱり無理なんですかね?javascriptでhtmlが生成されるよなページんんだけど
590デフォルトの名無しさん (ワッチョイ 7930-2rqm)
2023/06/12(月) 10:00:10.61ID:AjUdrP5R0 無理ではない
curlやDOM操作のライブラリ自体は揃ってるんだから、後はあなたが頑張ってそのJavaScriptの動作を真似るだけ
curlやDOM操作のライブラリ自体は揃ってるんだから、後はあなたが頑張ってそのJavaScriptの動作を真似るだけ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- スーパーが開くまで約4時間何すりゃいいんだ?
- 🏡
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 【動画】陽キャ、パルクール失敗
- 高市さんに土下座してもらったら一発解決なのに何でやらないんだろ??
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
