【PHP】下らねぇ質問はここに書き込みやがれ 13

レス数が1000を超えています。これ以上書き込みはできません。
2021/09/09(木) 09:38:43.41ID:eDlF7Xc4M
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ

PHPに関する質問スレです

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

次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2021/09/10(金) 00:04:20.35ID:FON16KAr0
NG推奨ワード: Ruby

この単語を含むレスは一切相手にしないように
2021/09/11(土) 11:35:05.46ID:2YOaTqrW0
今更ながらPHP8でimplode/joinの引数順が逆順で固定されているのに気づいた。
どんな糞な議論の結果かを知りたくてRFCを探したが、
https://wiki.php.net/rfc/deprecations_php_7_4?s[]=implode#implode_parameter_order_mix
で38vs5で賛成されたくらいしか分からない。
もっと詳しい経緯が分かるところがあればURL頼む。

これに限らずPHPでは引数が逆順の事が多い(と感じるのは目立つからか?)のだが、
いっそのこと全部逆順で統一することにしたのかこれ?
だとするとこの判断は多分間違いだが。
2021/09/11(土) 22:02:19.71ID:6a6nmo8y0
$hogehoge = str_replace('/hoge/', '/hage/', $hogehoge);

というパスを書き換える部分があるのですが、これをvscodeでコーディングしていると、
'/hoge/', '/hage/'の部分がいつもと異なるエラー?のような色になります
文法上問題があるのでしょうか?
一応動いていますが

'/ho/ge/', '/ha/ge/'という書き方では色は変わりません
関数的にも正規表現は使わないから問題ないですよね?
2021/09/12(日) 08:46:52.41ID:fIq1SbDo0
一定のルールで色付けをするシンタックスハイライトは
どこかしら抜けがあって完璧ではないし気にしなくていいよ
あれは参考程度だと思ったほうがいい
2021/09/12(日) 20:37:50.07ID:9O+5doSX0
問題ないようでよかったです
どうもありがとうございました
2021/09/15(水) 16:18:30.59ID:no+CVFvb0
最近phpを始めたので良く分からない事があります。
phpでUNIXTIMEで時刻を表示させたいのですが、上手く行きません。
php.iniで"date_timezoneをAsia/tokyo"にしているのですが、適応されません。
スクリプトに"date_default_timezone_set(Asia/tokyo)"と記述すると、適応されます。
これは、何故ですか?
2021/09/15(水) 16:43:47.49ID:a8rH/IIu0
unixtimeは世界に一つで相対時刻はありません
2021/09/15(水) 19:02:48.45ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
2021/09/16(木) 00:27:00.68ID:JU0S+KXDa
ユニだけに
11デフォルトの名無しさん (ワッチョイ 3d7c-OqYv)
垢版 |
2021/09/16(木) 04:10:06.73ID:0MHkcACy0
https://teratail.com/questions/359725教えてあげて
2021/09/16(木) 09:56:52.09ID:AJ2Edw6q0
高いよ?
2021/09/18(土) 03:39:54.49ID:YPBxfQEw0
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
2021/09/18(土) 05:00:04.98ID:ZvozewrDr
マルチポストすんな
2021/09/18(土) 18:15:41.51ID:J85RgKD50
頭のおかしい人に以下のようなことを言われました

>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない

具体的な書籍名を教えてください


>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない

どこでそんなルールが決まっているのでしょうか?
2021/09/18(土) 18:22:06.98ID:7AJRfG050
>>15
それぐらい自分で調べろ。ばかw
2021/09/18(土) 19:11:03.46ID:IlLFGOLZ0
>>15
いい加減にしろ
2021/09/18(土) 19:14:46.29ID:GeW8Pcb60
スクレイピングはクローリングでない

マルチポストは返信の作業を勘案した返答をもらえる確率の問題
2021/09/19(日) 00:51:49.84ID:fnxaYwyoa
>>15
https://ja.meta.stackoverflow.com/questions/2418/
マルチポストをする場合、回答への返信や質問の追記を、
質問した 全て のサイトで行って欲しいと考える回答者が多いです。
しかしそのようなことはさすがに手間であるためか、
質問を最初に投稿したっきりになり、
そのまま放置されてしまう場合が多いため、
マルチポストは問題視されています。
20デフォルトの名無しさん (ワッチョイ ff2c-KTs0)
垢版 |
2021/09/19(日) 19:44:29.18ID:qW280KJJ0
駆け出しの個人開発者だけど個人ウェブサイトをVipで宣伝したらちょっと流行った、前スレで教えてくれた人ありがとう
2021/09/22(水) 16:39:35.84ID:Ir6Q7DeJ0
fopen関数でモードを'c'にして、fwrite関数で.txtに書き込んでいるのですが何故が上書きされて書き込まれます。
常に、最新の書き込みを上部に表示したいのですがどうすれば良いのでしょうか?
モードを'a'にすると上書きはされませんが、最新のコメントが常に下部に表示されてしまいます。

因みにコードはこんな感じです。
<?php

 date_default_timezone_set('Asia/Tokyo');

 $time = time();

 $date = date('Y/m/d H:i:s',$time);

 if(isset($_POST['send']) === true) {

  $name = $_POST['name'];

  $message = $_POST['message'];

  $fopen = fopen('message.txt','c');

  fwrite($fopen,$name."\t".$message."\t".$date."\n");

fclose($fopen);
}
?>
2021/09/22(水) 18:29:37.76ID:2XT/4Gp+0
cはクリエイト
aはアペンド
仕様通りの動きやろ
で、何がしたいの?w
2021/09/22(水) 18:32:15.96ID:xitJj1300
ファイル書き込みには上書きか追記しか存在しません
逆に言えば挿入は存在しません

あなたの部屋の壁をディスクとして見てください
壁に書き込んだものは移動できませんから、塗りつぶして上書きするか追記しか出来ません

コメント表示処理を工夫しましょう
2021/09/22(水) 21:19:48.97ID:gRHeC2VaM
>>21
>常に、最新の書き込みを上部に表示したいのですがどうすれば良いのでしょうか?

書き込み事の複数ファイルに分け、
新しいファイルから順に表示する
2021/09/22(水) 21:24:29.76ID:0C5Y67ik0
>>24
このレベルの奴だと本気にするからやめい
2021/09/22(水) 23:38:15.23ID:Jbx3IORva
>>21
配列に入れてarray_reverse関数使えば?
2021/09/23(木) 13:47:26.35ID:b7X8Cq1u0
そもそもDB使えば良いだけなのに
今どきファイルとか無いわ
DBでも今度はorder byすら分からないかもだがw
2021/09/23(木) 17:12:56.96ID:UDb2y2SZ0
今時DB使うだけだからFS知識なんて不要
って訳でもないのではと思ったけど、やっぱ不要なんかね
2021/09/23(木) 17:40:06.96ID:b7X8Cq1u0
>>28
勿論ファイル操作も知っていて当然ではあるけどね
ファイルのアップロード機能とかあれば扱う事もあるけれど
昔に比べたらファイルを直接操作するような事は減ってる気はする
2021/09/23(木) 18:55:40.15ID:bHhgLe3O0
ヒント
ケツから文字を書く
31デフォルトの名無しさん (ワッチョイ 1289-7UIf)
垢版 |
2021/09/25(土) 10:45:53.82ID:V3oZw04J0
失礼します
フォームを送信した後に他のページに飛ぶようにしたいです。

<form method=“post”>
のところを変えるのでしょうか?
2021/09/25(土) 10:58:34.64ID:o1qACoWvr
そうだよ
33デフォルトの名無しさん (ワッチョイ 1289-7UIf)
垢版 |
2021/09/25(土) 13:31:47.01ID:V3oZw04J0
>>32
ありがとうございます。
action属性を指定して<form method=“post” action=“移動したいサイトのリンク”>
としたところ、サイトには飛びますが、フォームを送信できなくなります。
開いているサイトに送信してから移動するにはどうすればよいでしょうか?
2021/09/25(土) 13:47:05.34ID:MPSFjCWT0
enctype
2021/09/25(土) 13:51:24.00ID:d5zHYcZK0
フォームデータ受け取ったページでリダイレクトすればいいだけじゃない
2021/09/25(土) 13:52:25.16ID:1DYkqWAt0
>>33
飛ばしたいデータにname属性はつけてる?付けてないなら記述しよう
付けてるなら目視では確認し辛いだろうけど
遷移先のphpで変数等に格納する記述はしてる?

一時的にpostでなくgetにするとurlに表示されるからデータが飛んでるどうかは分かりやすいよ
37デフォルトの名無しさん (ワッチョイ 1289-t/PR)
垢版 |
2021/09/26(日) 22:47:22.91ID:LZJ/cTAw0
name属性がなかったので付けたら解決しました!
ご教示くださりありがとうございました。
2021/09/29(水) 22:10:57.94ID:9zmSugGJ0
PHPは $d[20][10] のようなサイズ指定の配列変数の定義はできないんですか?
そうなら膨大な大きさの配列作る時、ひとつひとつですごい負担がかかりませんか?
2021/09/30(木) 03:47:27.62ID:OQ6sDw220
榎竜ってアニメのキャラか?アスタ
2021/09/30(木) 07:10:36.71ID:gyDgO3O3M
>>38
array_fill
2021/09/30(木) 09:04:40.73ID:FazK+p180
PHPの配列特殊ですね
調べてみたんですけどこんな感じでいいでしょうか?
// $dm[200][100]を作る
$dm=array_chunk(array_fill(0,200*100-1,''),100,false);
2021/09/30(木) 09:49:54.30ID:yRc+UNB40
>>38
動的にサイズは増やせるし
あんまり需要ないのよ
膨大な処理をするのもそもそも間違い
DBから拾うなら条件を絞るなりしないとそもそもwebでのサービスに耐えられない
スタンドアローンで何かの処理させるだけなら
C#とかJavaとかで良くね?
2021/09/30(木) 10:43:19.23ID:j1Yp2taT0
何を使うにしろ、まずそういうデカい配列を用意しないと行けないロジックを疑ってみよう
2021/09/30(木) 10:49:58.27ID:qszt+lHU0
俺がphpで使った一番でかい配列は「エラトステネスの篩」用のやつで60万個ぐらいだった
45デフォルトの名無しさん (ワッチョイ 032f-f7S3)
垢版 |
2021/09/30(木) 16:41:02.71ID:9T8RF1su0
マンコか
2021/10/03(日) 11:35:35.39ID:XLc2W+8+0
そいやPHPで配列とかの中身いじることなくなってきた気がするなあ
jsonなりでそのまま送っちゃうようになったわ
だいたいSQLで済むしなあ
2021/10/13(水) 10:44:25.63ID:a2e9fjTX0
質問です
windows10でXAMPP環境なんですが、PHPで自身(正確にはルーターの)のグローバルIPを取得する方法はありますか?
2021/10/13(水) 10:50:45.82ID:026ax7040
>>47
デバイスが知らない情報をデバイスに聞いても入手は無理なので、外部にアクセスしてそこから情報を抜き出すコードを書くと良いです。
2021/10/13(水) 11:45:54.63ID:5Y743A290
フリーDNS提供サイトを利用している人なら
サイト側でアドレス取得サービス提供していると思う
2021/10/13(水) 11:54:05.40ID:K5gkHkRod
ありがとうございます、やっぱり外側から取得するしかないんですね〜
2021/10/13(水) 12:44:57.78ID:QP8pACZO0
ルーターの状態ページのWAN側アドレスにグローバルIP載ってるなら読み込んでパース
BASIC認証の機種なら楽だけど独自のログイン画面使ってるやつだと面倒かもしれん
2021/10/13(水) 13:03:14.52ID:LfMmWLDm0
確認くん
2021/10/13(水) 13:11:02.68ID:9dxN/jU00
外部にサーバー置けばそこにリクエスト流せばIP分かるからAPIにして利用すればよいのでは?
単に自己情報だけでは分からんよ
分かるのはwindowsならipconfigで知れる情報くらい
そもそも外部にどのように出るかわからんしな
2021/10/13(水) 14:20:25.22ID:S12xvAp60
>>51が一番いいソリューション
2021/10/13(水) 15:08:10.38ID:9dxN/jU00
>>54
そんなの使う人によってルーターなんて違うしどこが良いやり方なのかと
2021/10/13(水) 15:26:36.48ID:1nyshFrF0
グローバルIP取って何するんだろ
2021/10/13(水) 18:00:16.36ID:CVjdgCkN0
どういう環境がしらんけど
ルーターのグローバルIPアドレスならupnpで取れるんじゃね?
2021/10/13(水) 21:50:05.34ID:a2e9fjTX0
グローバルIP質問した者です
みなさまありがとうございます
目的は自分のホスト名からIPに変換した値と、実際の自分のグローバルIPを定期的に比較して、無料のDDNSがちゃんと動いてるかチェックしてます

DDNS更新ツールで、Diceって名前のソフトがあったと思いますが、あれって自身のグローバルIPを検出する時、ソフト内部から外と通信して結論出してるってことになるのか〜
つまり作者のサーバが落ちたら動かないとか。
てっきりwindows内で検出する方法があるのかと思ってました
2021/10/13(水) 22:38:53.91ID:QP8pACZO0
DiCEはipcheck.datに書いてあるところに問い合わせてる
大昔に使ったときはなぜか他の通信阻害したり常駐させたままシャットダウンすると設定ファイルたまに飛んだりであまりいい印象はない
2021/10/13(水) 23:18:34.89ID:1nyshFrF0
diceみたいなものかと思ったらそうだった
execでipconfig叩いて何とかなりそうな
知らんけど
2021/10/15(金) 13:09:09.23ID:mWiZxx1p0
>>55
外部サイトが生きてる保障はない
2021/10/15(金) 13:23:15.42ID:n2RcXvKQ0
フリーDNS利用しているなら大丈夫
2021/10/15(金) 16:08:47.39ID:vteAvXvD0
>>61
それならグローバルIPも意味がないやんw
64デフォルトの名無しさん (ワッチョイ 2b68-ZO17)
垢版 |
2021/10/15(金) 16:14:54.20ID:TCQCfrd30
お前は既に死んでいる
65デフォルトの名無しさん (ワッチョイ 7b2f-nGUK)
垢版 |
2021/10/15(金) 18:05:29.26ID:mxNbefdE0
>>64
お前は既にハゲている
66デフォルトの名無しさん (ブーイモ MMcf-nGUK)
垢版 |
2021/10/16(土) 19:23:50.10ID:XWv/MJW4M
PHPでアプリをたくさん作る本はないですか?
入門書にありがちな細かい文法の説明はいらないですから。
理想はその1冊で10個くらいの簡易なアプリの作り方を説明してる本。
2021/10/16(土) 19:44:31.74ID:j08Y/8ma0
アプリって何?
68デフォルトの名無しさん (ブーイモ MMcf-nGUK)
垢版 |
2021/10/16(土) 20:01:16.33ID:XWv/MJW4M
Webアプリです
69デフォルトの名無しさん (ブーイモ MMcf-nGUK)
垢版 |
2021/10/16(土) 20:37:28.30ID:XWv/MJW4M
なぜなら、基礎が出来たらそのあとは実践や練習としていっぱいアプリを作りまくったほうがスキルが上達すると聞いたからです。
2021/10/16(土) 20:49:17.68ID:ZzoUZQ8H0
>>69
自分で作りたいものを見つけて取り敢えず作り始めれば(着手すれば)いいと思うが、それができないならまだ基礎ができてないんじゃね
2021/10/16(土) 21:24:15.00ID:BnnoSLdm0
>>66
ググって出て来なきゃ無いだろ。今時出版側もSEO程度はしてるだろうし。
無い場合の理由は売れない/必要ないの両方だろうね。

あと、アプリを作るならPHPよりも他言語の方がだいぶマシだからそうした方がいいと思うよ。
どのみちJSは避けて通れないから手っ取り早いのはNodeとか。
2021/10/16(土) 22:41:06.26ID:H/6JXoaO0
お前らがお題だけ10個出して後はggrks方式
2021/10/16(土) 22:58:37.43ID:BnnoSLdm0
>>72
ワッチョイの必死チェッカー
アプリと呼ぶ程の物でもないけど、PHPだけで済むし、あれば使うかも
2021/10/18(月) 10:41:30.70ID:myTBoC4R0
PHP8だと下記がfatal errorなんですが、どうすれば良いでしょうかmm
ググっても分かりませんでした。
if (!isset($value['url']))
$value['url'] = '';
2021/10/18(月) 11:58:35.44ID:9XYxECEq0
>>74
どんなエラーなの?
それだけ見たらエラー要素が無いが
2021/10/20(水) 02:51:01.72ID:7Ch1Hu5l0
スクレイピングに興味があるのですが1時間に1回の頻度のGETだけで訴えられる危険があるって本当ですか?
2021/10/20(水) 03:34:48.75ID:Jva/lPHu0
普通にブラウザでアクセスするだけで訴えられるレベルやん
2021/10/20(水) 04:39:00.19ID:9CDvwYsA0
>>76
はい。普通にありえます
権利系の話では頻度は関係ありません
2021/10/20(水) 10:48:11.38ID:Y4tLRZgw0
インターネットで公開してるから何でも自由にしていいってわけじゃないからねえ
こそこそやるのが不安なら、権利関係のページ見るとかサイト管理者に聞くとかすればええやろ
2021/10/20(水) 21:25:03.19ID:prsmhonp0
PHP覚えようと本買った途端に
「マイクロソフト、スクリプト言語「PHP 8.0」以降の正式サポートを中止」
って記事を見かけたんだけど、もうPHPは衰退するん?
2021/10/20(水) 21:32:17.22ID:asAMjkDOr
そうだよ
もう衰退して誰も使ってない
2021/10/20(水) 21:44:32.69ID:Nvz6/VgZ0
お前ら・・・
2021/10/20(水) 22:10:20.14ID:6domEUvg0
>>80
そもそもMSとは元々あまり関係なかったからどうでもいい
2021/10/20(水) 22:22:08.36ID:prsmhonp0
>>83
そうなん?本代無駄になるかと思った
サンクス
2021/10/20(水) 22:32:26.25ID:Cmbx9mgn0
開発に協力しない、IIS等で使用できないという意味だっけ
公式に8.0のwindows版置いてあるでしょ
86デフォルトの名無しさん (ワッチョイ a95f-GkCz)
垢版 |
2021/10/29(金) 22:31:16.78ID:REy5124n0
myspli_queryを使ってcount数を引っ張ってきたいんですけど恐らく(?)型が違う為か数式に当てはめられません、、、
型が楽なphpに頼ってまともにやってこなかった自分が悪いのですが変換方法教えて頂けませんか
2021/10/29(金) 22:50:49.99ID:JYq59BE+0
count(columnname) as newname
$records["newname"]
で解決する話?
88デフォルトの名無しさん (ワッチョイ 1384-eurQ)
垢版 |
2021/10/30(土) 02:06:08.14ID:7i3s6vPH0
laravelについて教えてください。
以下のようなリレーションの際にAモデルからDの値を取得するにはどうしたらいいですか?ちなみにbelongsToManyではうまくとれませんでした。どなたかよろしくおねがいします

AとBは1対多
BとCは1対1
CとDは多対1
2021/10/30(土) 09:24:25.03ID:iJ+tKDn4r
ツイッターを使おうとしていて
入門動画や解説ページをいくつか見たが説明が抽象的過ぎてなにがなんだかわからん
クラス図とかER図とか使って何をやったら何が起きるかを具体的説明してる資料ってどこかに無い?
2021/10/30(土) 10:29:37.38ID:b5at1Azta
>>89
質問が抽象的すぎて分からん
2021/10/30(土) 10:38:05.05ID:5buQskH2M
>>88
【PHP】Laravel【フレームワーク】 Part.8
https://medaka.5ch.net/test/read.cgi/php/1625721320/
2021/10/30(土) 11:20:05.94ID:iJ+tKDn4r
>>90
クラス図とER図が抽象的なら、どう言えば具体的になるんだ
2021/10/30(土) 11:42:50.30ID:/LJRR5Mb0
>>92
○○を取得したい、とかだろ。


そもそもお前には無理だと思うが。
>>89
> 入門動画や解説ページをいくつか見たが説明が抽象的過ぎてなにがなんだかわからん
それはお前がその動画等で想定されている「入門者」にすら至ってないだけの話。
一般論として入門者向け内容は「○○するだけでほらこんなに簡単に出来る!」だから、
見て分からんとかありえん。その先をやろうとすると実は結構大変、というのは常だが。

> クラス図とかER図とか使って
逆に、API等の説明で「クラス図とかER図とか使って」る例なんて無いだろ。
PHPと言えばLaravelだけど、見てみろよ。無いから。
APIって基本「○○すれば△△が得られます」だから必要ないし。

お前DB屋か?目の付け所や考え方が明らかにずれてる。
2021/10/30(土) 11:55:50.40ID:iJ+tKDn4r
>>93
>○○するだけでほらこんなに簡単に出来る!

だから、その○○したときに、何がどうなってるのか何にも書いてないからさっぱりわからんのよ
2021/10/30(土) 12:21:42.63ID:/LJRR5Mb0
>>94
ググって上から3つほど斜め読みしたが、お前の頭が至ってないだけだね。
そもそも公式見れば済むだろ。
https://developer.twitter.com/en/docs/twitter-api
https://twitter.com/5chan_nel (5ch newer account)
2021/10/30(土) 12:33:10.42ID:TMfWbZAZ0
>>89
おバカだなぁ
https://help.twitter.com/ja
https://twitter.com/5chan_nel (5ch newer account)
2021/10/30(土) 12:45:02.09ID:iJ+tKDn4r
>>95
いや、おまえがそんなにわかってるってのなら
代表的なユースケースの定義と基本シナリオをひとつ書いてみてくれ
2021/10/30(土) 12:55:07.40ID:/LJRR5Mb0
>>97
https://developer.twitter.com/en/docs/twitter-api/v1
を見て好きなの選んで、例えば一番上なら
> Post, retrieve, and engage with Tweets
> https://developer.twitter.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-statuses-lookup
に辿り着いて、URLと内容とサンプルがモロに書いてあるだろ。
APIの説明ってのはこんなもんだ。これでダメならお前には無理ってだけ。
https://twitter.com/5chan_nel (5ch newer account)
2021/10/30(土) 13:36:16.77ID:OQ2dRDm50
クラス図を書くとクラス間の関係が明確になる
ER図を書くとそこからRDBが自動生成できる
大規模な開発ではクラス図ER図などの図と
仕様書が開発者に渡され、それで開発する

こんなところか?
2021/10/30(土) 16:29:24.02ID:41Ya32wv0
>>98
おまえ、設計レベルの違いもわからんのか?
ユースケースレベルの話にAPI持ち出すとかド素人なん?
2021/10/30(土) 16:46:01.94ID:/LJRR5Mb0
>>100
ならお前が俺より良い回答をすればPHPerも糞ではないと証明出来るね。
噛みつくんだから勿論出来るに決まってるよな。よろしく。
2021/10/30(土) 19:44:24.19ID:41Ya32wv0
>>101
自分が頭が至ってないと断言した相手に自分よりよい回答を求めるなよ
自分の発言に責任ももてないのか?
2021/10/30(土) 20:18:10.40ID:/LJRR5Mb0
>>102
ワッチョイもIDも異なる相手が同一(ID:iJ+tKDn4r===ID:41Ya32wv0)
である事を期待した回答を得たいのなら、先にお前がそれを明示しないと無理だろ。
お前はコミュ障でもあるな。
2021/10/30(土) 20:38:30.74ID:41Ya32wv0
>>103
あんたがリンク先見ろというから
わざわざ家のwifiに繋ぎ変えたんだが
そんなに不満かね?
2021/10/30(土) 20:42:42.30ID:/LJRR5Mb0
>>104
それを言わないと同一人物だと相手には理解出来ない、と分からないのは、ガチのアスペだね。
2021/10/30(土) 21:00:29.77ID:41Ya32wv0
>>105
確信はできないかも知れないがそこまで難しい推測でもないだろ
2021/10/30(土) 21:09:11.08ID:/LJRR5Mb0
>>106
IDもワッチョイも違う相手を無条件で同一だと認識するようなら完全に統失だろ。
それを期待する君はコミュ障だよ。
会話を成立させる為に相手に何を伝えるべきか分かってない。

まあそれはいい。
APIのドキュメントは公式ので十分だから、それで出来ないのなら君の問題だよ。
2021/10/30(土) 22:14:05.20ID:41Ya32wv0
>>107
コンテクストってものがあるだろ
俗に言うとこのアスベとか糖質ってのはそういうものが追えない人のことでは
2021/10/30(土) 22:36:25.34ID:/LJRR5Mb0
>>108
アスペってのは医学的にはサリーとアン課題が解けない奴の事で、
https://livedoor.blogimg.jp/shinesokuhou/imgs/a/2/a27f1508.jpg
プログラミング的に言えば、相手と自分の情報状態を別々にインスタンス化して管理出来ない奴、
つまりお前の事だよ。

統失はパターンは色々あるけど、ありもしないものが見える奴とかだね。

つかもういいかね?もう生産性まるでないだろこの会話。
2021/10/30(土) 22:40:14.77ID:41Ya32wv0
>>109
いや、そんな厳密な意味の診断をあんたが下したってこと?
医師免許は持ってるの?なきゃ医師法違反じゃね?
2021/10/30(土) 22:49:41.86ID:/LJRR5Mb0
>>110
君は本当に>>104と思ってるのだから、
それは煽り抜きでガチのアスペの典型的症状だし、病院に行って診断を受けた方がいいってだけだね。
2021/10/30(土) 23:16:10.91ID:w/6Ssgd00
診断までするなら医師免許をここに貼って
2021/10/31(日) 00:26:35.15ID:aUFmKI3J0
まあAPIのドキュメントなんてどこもこんなもんよね
SDKなんてのも大雑把だったりするし
curlサンプルでも載ってれば、まあ問題なく出来るやろって感じやな

ちょっと思ったがAPIに至ってはクラス図とかなんてのはユーザ(こちら)側の話であって
提供側が作るものではないのでは?

あとTwitterAPIのサンプルなら転がってるんじゃないかな、しらんけど
2021/10/31(日) 23:44:39.37ID:d70wGpqt0
いやどうでも良くはないんだけどね。
クラウド系でPHPのサポート範囲が将来狭くなっていきますよってことだから。
115デフォルトの名無しさん (ワッチョイ 1384-eurQ)
垢版 |
2021/11/02(火) 11:15:42.64ID:quLt8Fez0
PHP CodeSniffer使ってメソッド名をスネークケースからキャメルケースへ自動補完したいんですが以下のコマンドをうってもうまくいかないです。
どうすればいいでしょうか?どなたか教えてください
phpcbf --standard=phpcs.xml src
2021/11/02(火) 23:14:35.90ID:6VLiUVJr0
VSCode の拡張機能・change-case

https://marketplace.visualstudio.com/items?itemName=wmaurer.change-case
117デフォルトの名無しさん (ワッチョイ 4934-nd57)
垢版 |
2021/11/02(火) 23:58:28.83ID:ih3oH4Jo0
久しぶりにスレ見たらまたPHPerは糞おじさんが長文垂れ流して暴れてたのか
発端となった>>89についてはそもそも相手にするのが間違いだ
こんな奴が居るからPHPerはバカにされるんだ
118デフォルトの名無しさん (ワッチョイ 4934-nd57)
垢版 |
2021/11/03(水) 00:00:33.72ID:NxRLBi2n0
>>113
APIに対してクラス図がどうとか言ってる時点で相手にしたらダメな人だ
ムキになって相手にする必要すら無い
2021/11/03(水) 00:08:54.22ID:u5RTMnaF0
>>117
お前も>>89と大差ないけどね。
馬鹿にされたくないなら、少なくとも俺よりましな回答をしてから言うべきだよ。
2021/11/03(水) 15:22:22.43ID:NxRLBi2n0
即レスワロタw
>>98で話終わってるからな
これ理解できないガイジ相手にいつまで長文垂れ流してるんだ?
お前そんなだからまともな会社に就職できないし結婚できないし頭が禿げてるんだぞ
あと口臭いから近寄らないでくれる?
2021/11/03(水) 19:53:30.47ID:u5RTMnaF0
>>120
キチガイの自己紹介乙

お前ら人にコテを付けろと指図したのだから、120も「キチガイ120」とコテ付けろ。
出来ないのなら俺はコテ外す。
PHPerでは120程度のキチガイが標準なら、俺がコテの意味は無いから。
122デフォルトの名無しさん (テテンテンテン MM96-Jrws)
垢版 |
2021/11/05(金) 19:32:15.22ID:lz5LmCeTM
cookieのPHPSESSIDがセッション時しか保持されないのを変更することはできますか?
ブラウザを閉じて再度開いた時もPHPSESSIDを保持しておきたいです。
別のcookieにセッションIDをセットするのがいいのでしょうか?
2021/11/06(土) 01:52:58.70ID:uf2fYKs80
>>122
どういうこと?
cookie_lifetimeを長く設定しておけば良くね?
2021/11/06(土) 08:03:29.87ID:/RvizA6M0
セッションってそういうもんだしな
セッションをブラウザ閉じてからも保持し続ける必要があるのであれば
それは設計上間違ってる
125デフォルトの名無しさん (テテンテンテン MM96-Jrws)
垢版 |
2021/11/06(土) 12:15:41.54ID:UgzOf7HxM
>>123
ありがとう。それでできそうです
setcookieばかりヒットしまって辿り着けんかった。。

>>124
そうなのか。ブラウザ閉じて開いてもログインしたままなのってセッションIDをcookieに持ってるからかと思ってたけど違うんか
2021/11/07(日) 07:01:08.51ID:0IMrdMn20
Web Storage には、sessionStorage とlocalStorage の2種類ある
127デフォルトの名無しさん (ワッチョイ 655f-bQ3l)
垢版 |
2021/11/08(月) 14:26:12.09ID:szG2RloF0
質問です
PHPのechoで出力した文字を
JAVAでPHPアドレスから取得したいのですが方法が全然わかりません
ググっても全然見つかりません
教えて下さい
2021/11/08(月) 14:40:51.56ID:deFXf8/n0
http://127.0.0.1/echo.php
129127 (ワッチョイ 655f-bQ3l)
垢版 |
2021/11/08(月) 15:35:24.49ID:szG2RloF0
>>127
すいません自己解決しました
2021/11/08(月) 17:17:10.12ID:szAny+0J0
なんやこのloopback茶番
2021/11/08(月) 17:45:29.62ID:EwcZGjSw0
>>130
ちょっとワロタ
132デフォルトの名無しさん (ワッチョイ 515f-H2rd)
垢版 |
2021/11/09(火) 10:17:20.40ID:CL70+TzG0
PHPを学習してから、気になることが一つあって
WordPressでのお問い合わせフォームってセキュリティ対策されてる?、
tokenを持たせるというCSRF対策をしてないサイトばっかりなんだけど
また違ったやり方で対策されてたりするんですか?
2021/11/09(火) 10:18:18.06ID:jAAjeJaMr
WordPressスレで聞いてみたらいい
2021/11/09(火) 10:18:43.75ID:jAAjeJaMr
https://mevius.5ch.net/test/read.cgi/hp/1603359122/
2021/11/09(火) 17:42:15.11ID:m+qVFCof0
Word Press のスレは、web制作管理板にある
136デフォルトの名無しさん (ワッチョイ 9720-D8AZ)
垢版 |
2021/12/02(木) 22:42:19.26ID:8y/JBuUj0
C言語で関数ポインタというのがあって
returnで関数を返せると思うのですが
PHPで新たに関数を生成して、returnで関数を返すことはできるんですか?
2021/12/02(木) 23:37:42.19ID:XZwxcldF0
無名関数
2021/12/02(木) 23:41:13.37ID:+Bf3UEhm0
動的に関数の内容を実装するの?
139136 (ワッチョイ bf20-Z6Z9)
垢版 |
2021/12/03(金) 00:45:29.61ID:KF1VeFGw0
これではできません 
どうやればできますか?


function funA($n) {
static $F = [];
$c = count($F);
$F[$c] = function($x) use ($n) { $x+$n; };
return $F[$c]; }


$fun = funA(2);
var_dump($fun(7));
140136 (ワッチョイ bf20-Z6Z9)
垢版 |
2021/12/03(金) 00:48:02.89ID:KF1VeFGw0
自己解決しました これでできました



function funA($n) {
static $F = [];
$c = count($F);
$F[$c] = function($x) use ($n) { return $x+$n; };
return $F[$c]; }


$fun = funA(2);
var_dump($fun(7));
2021/12/03(金) 00:51:03.05ID:kI9rqNIV0
$F[$c] = function($x) use ($n) { return $x+$n; };
142136 (ワッチョイ bf20-Z6Z9)
垢版 |
2021/12/03(金) 00:51:28.57ID:KF1VeFGw0
staticで関数が消えないようにしようとしたんですが不要でした


function funA($n) { return function($x) use ($n) { return $x+$n; }; }

$f1 = funA(1);
$f2 = funA(2);
$f3 = funA(3);

var_dump($f1(3)); var_dump($f1(13));
var_dump($f2(3)); var_dump($f2(13));
var_dump($f3(3)); var_dump($f3(13));
2021/12/03(金) 13:32:18.03ID:94NdSc2Q0
何でこんな意味不明な実装にする必要あるのか
2021/12/03(金) 14:10:16.59ID:hgKn6WDl0
意味不明だと断言するだけの情報量があると思ってんのかな
2021/12/03(金) 15:28:32.20ID:h8oDtxFb0
意味不明だと断言するだけの情報量はあるだろ
普通なら適当なオブジェクト作って対応するケースだし
2021/12/03(金) 15:29:33.23ID:h8oDtxFb0
143じゃないけど、なんでこんな実装にする必要があるのかはすげぇ興味ある
2021/12/03(金) 15:33:56.93ID:hgKn6WDl0
> なんでこんな実装にする必要があるのか

だから断言するほどの情報量がないって事だろ
2021/12/03(金) 15:35:43.76ID:6zlDIQfT0
あらそいはどうれべるの・・・
2021/12/03(金) 15:39:13.08ID:fQNHRrnR0
関数アドレスをポインタでってのは、呼び出し元・親を弄らずにシステムを拡張できるプラグイン方式であり得るけどね
用途も何も話のないままプログラム例だけで要不要を論じる意味はないだろ
2021/12/03(金) 16:31:39.85ID:h8oDtxFb0
>>147
この実装の意味がわかるんなら説明してくれ
おれには断言できるレベルでこのコードの意味は不明なんだ
2021/12/03(金) 16:35:22.52ID:4YKQ7cT80
クロージャのお勉強がしたかっただけじゃないの?
152136 (ワッチョイ bf20-Z6Z9)
垢版 |
2021/12/03(金) 16:44:54.58ID:KF1VeFGw0
これなんですか
sqliteのprepareのリターンを変更し、すぐに値の代入ができるようにしたかったわけです

一部
$db = new SQL( "test.db", "user(key, val)" );
$set = $db->prepare("INSERT INTO user VALUES (?, ?)");
$get = $db->prepareSingle("SELECT val FROM user WHERE key=?");
$count = $db->prepareSingle("SELECT COUNT(*) FROM user");

$set(1,"山田太郎");
echo "{ 1, " . $get(1) ." }\n";
echo "count : " .$count() ."\n";


全体
https://paiza.io/projects/AWjyIWzoo2R1KmxSGIjjLw
2021/12/03(金) 19:37:58.44ID:h8oDtxFb0
>>152
一部の方しか見てないけど、多分、classにメソッドを作ってPDOみたいな使い方ができるようにするのが良いと思う
PHP PDOとメソッドチェーンあたりでぐぐってみるとイメージがわくかと
2021/12/04(土) 17:14:59.91ID:cwpzVjKy0
そもそもPDOを使えば良いだけでは?
2021/12/07(火) 11:52:44.66ID:sVKUttQ/0
ガチでヌーブなんですけどrequestsとbeautifulsoupでスクレイピングやってます
waitかけないとバンされるよと言われましたがどうすればいいですか?
requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います
これに対してどうすればいいですか?
2021/12/07(火) 12:34:58.97ID:twyL+tYW0
>>155

サーバー管理者のところに一升瓶持って「ごめんなさい!」って言いに行けばいいんじゃないかな。
2021/12/07(火) 18:35:13.01ID:9Va5RWFb0
社内の人間だけが使うローカルなwebアプリって
どの程度セキュリティに気を付ける必要がありますか?

会社のpcは外部接続ができず、
自分のPC内のapacheに他の人がアクセスする様な感じです。

今のところ、htmlspecialcharsとplaceholderだけです。
2021/12/07(火) 20:31:40.09ID:8qLJ9e/D0
>>155
まずPHPなの?pythonじゃないの?w

>>157
社内向けでもうるさい所は普通にセキュリティチェックするから
Laravel等のフレームワークを使っている方が安全な気がする
要件でその辺こだわらないので安く早くとかあるなら適当でも良いかもしれないがw
159デフォルトの名無しさん (ワッチョイ 4732-KtwX)
垢版 |
2021/12/13(月) 19:27:12.74ID:x47Ixk2T0
本当に初心者過ぎてよくわからないので、質問させてください。
phpで、HTMLのinputタグに入力された値を、ボタンが実行されたときに取得して履歴に残すことって出来ますか?
2021/12/13(月) 19:33:14.82ID:II4+eLpe0
その様に作ればできる
161デフォルトの名無しさん (ワッチョイ 4732-KtwX)
垢版 |
2021/12/13(月) 19:54:07.60ID:x47Ixk2T0
>>160
出来れば少し具体的に、前述を実行するために使うプロパティの名前とか教えてもらえませんか?
そうしてもらえれば自分でググってみます。
2021/12/13(月) 20:34:26.30ID:mYqU2nMS0
getとpostの違いを調べてから、
print_r($_GET)
または
print_r($_POST)
2021/12/13(月) 20:35:56.12ID:Oz8KqSnI0
フォーム、セッション、クッキー
とか?
164デフォルトの名無しさん (ワッチョイ 4732-KtwX)
垢版 |
2021/12/13(月) 20:38:20.47ID:x47Ixk2T0
>>162
>>163
ありがとうございます!
調べてみます!
165デフォルトの名無しさん (オッペケ Srb3-nl0H)
垢版 |
2021/12/23(木) 03:40:40.80ID:WstonAnpr
autoload.phpを扱いたくcomposerを使用するつもりだったのですが、調べてところ
composer 等の管理システムを使用して導入したファイル群は、公開ディレクトリに設置されることを想定していないものも多く、直接のアクセスをされると危険なものもあります。
ライブラリを使用するのにコードの挙動をすべて確認するのは本末転倒なので、普通はドキュメントルート外に置いて手間を省きます。

自身で安全が確認できないのであれば、ドキュメントルート内に設置はしないのが適切です。
セキュリティに問題がありpublic_htmlに配置するのは不安です。
使用する予定のレンタルサーバーではpublic_html(ドキュメントルート外)にファイルを置くことができないため困っております。
さらに詳しく調べたところautoloader.phpをドキュメントルート内に配置している方もおられるようでどちらが正しいのかわかりません。

autoloader.phpやcomposer 等の管理システムを使用して導入したファイルをpublic_html内においても問題ないのでしょうか?
Simplepieなどのフィードパースライブラリを使用せずに外部サイトRSSを取得可能なのでしょうか?
2021/12/23(木) 07:57:35.19ID:o28jsmvA0
>>165
> autoloader.phpやcomposer 等の管理システムを使用して導入したファイルをpublic_html内においても問題ないのでしょうか?

危険。テストやサンプルコードが入ってるケースが多いので、composer での管理を諦める決意して、コード全体を整理/修正することが必要

> Simplepieなどのフィードパースライブラリを使用せずに外部サイトRSSを取得可能なのでしょうか?

全然可能。問題ない。
167デフォルトの名無しさん (アウアウウー Sa9f-wZve)
垢版 |
2021/12/23(木) 12:08:57.00ID:nBJ6n40ia
>>166
ありがとうございます。
ライブラリを利用せず(ダウンロードしてドキュメントルート内にファイルを設置せずに)に外部サイトRSSを取得したいのですが、方法としてはどのようなものがあるのでしょうか?
最新のものですとfetch_rssが使えるようですがライブラリは必要ないのでしょうか?
168デフォルトの名無しさん (ワッチョイ 7363-j5Xv)
垢版 |
2021/12/24(金) 13:23:17.07ID:2G6BXR220
PHPのアノテーションは、開発者に向けてメソッドなどの解説をするだけではないのですか??
本を用い、ECCUBEの勉強をしているのですが
『アノテーションという仕組みを利用し、URLアクセスに対してこのメソッドを実行するというルーティングを行っている』という文が出てきて混乱しています。

それとPHP初心者なのですが、ECCUBEを勉強する前にsymfonyについて学んだほうがよいでしょうか??
ご回答のほどよろしくお願いいたします<(_ _)>
2021/12/24(金) 14:41:27.15ID:82g1wfQOr
いたるところに同じ質問連投するのやめたら?
2021/12/24(金) 17:49:25.39ID:BanyNpCX0
YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、Ruby on Rails のみ

PHP には、Laravel があるけど、Railsの1/3 のシェア。
他のフレームワークは、もっとシェアが低いので、やっても転職できない
2021/12/24(金) 18:45:12.20ID:2VxRzyxM0
毎回思うけど、コイツ絶対アンチruby工作員だよなw
172デフォルトの名無しさん (ワッチョイ 7363-j5Xv)
垢版 |
2021/12/24(金) 21:10:13.85ID:2G6BXR220
すみません…同じ内容を別の板で一度だけ質問したんですけどスレ違いだったっぽくて…
173デフォルトの名無しさん (テテンテンテン MM97-cLQ5)
垢版 |
2021/12/25(土) 01:32:08.76ID:Z8nAxRp4M
index.phpでDB接続とかゴニョゴニョ処理してソース長くなる時って、別のphpファイルに処理書いて、それをindex.phpで呼び出して表示するもの?
それともソース長くて良いの?

今までJava +JSP使ってたから難しい
2021/12/25(土) 10:24:08.54ID:yFln3WYH0
適当に作る場合、ソース一本で暮らす
ちゃんと作る場合、クラス別に分ける
175デフォルトの名無しさん (テテンテンテン MM97-cLQ5)
垢版 |
2021/12/25(土) 10:56:42.35ID:HxuKrZ8DM
ありがとう
2021/12/25(土) 13:01:03.86ID:6OMvh/ue0
Ruby on Rails はMVC で、scaffold で自動的に、7つのCRUD アクションが作られる。
それらは、別々のPartial HTML ファイルで、それを全体のHTMLのbody に読み込む

全体のHTMLも、別々のPartial HTMLファイルで作ってあって、
body, header/footer, menu 部分を読み込んで、ページの全体像を作る

基本的に、フレームワークを使っていない開発は無理。
皆がRailsをやるのは、MVC などの作り方を学ぶため

各人が自由な構造で、開発してはいけない。
他人には、その構造を理解できないので、保守できないから
2021/12/25(土) 18:18:05.29ID:w6bc8jTM0
はいrubyアンチ来ました
2021/12/27(月) 19:26:42.03ID:IH6ibAFN0
アンテナサイトってワードプレスのアドオン使ったほうが良いですか?
自分で直せないときついような
2021/12/29(水) 15:46:37.68ID:mN0bptKt0
vscodeでphpのlinterというのはないんでしょうか?
wordpressのデバッグしたいんですが、wordpress向けのお作法には役立ちませんかね?
2021/12/29(水) 15:48:23.74ID:mN0bptKt0
vscodeに公式のlintあるみたいですね。
拡張子がphpでないと機能しないみたいですけど。
2021/12/31(金) 19:25:57.91ID:I3dOEaxvM
おまえらってPHPの資格なんかもってる?
2022/01/01(土) 13:19:43.09ID:VYgLEdqS0
ファイル書き込み権限があります
183デフォルトの名無しさん (アウアウウー Saa5-xBpI)
垢版 |
2022/01/02(日) 23:32:20.26ID:C4MV20OCa
テーブル接続→テーブル作成(必要か不明)→RSSをまとめる→RSSを取得→RSSをテーブルに入れる→RSSを表示するをPHPで作成しているのですが、RSSをテーブルに入れる段階でつまずいています。
テーブルに入れる方法を調べたところIncsert文が出てきたのですが、それ以外の方法を勉強の為に知りたいです。
その他の構文で取得データをMy SQLに入れる方法はありますでしょうか?
2022/01/02(日) 23:38:29.15ID:tvBCK4Jk0
スマホアプリで位置情報を使った良いアイディア思いついたプログラムできない素人です。
位置情報とメールと仲間募集みたいなスレッドを作ろうと思います。
発注するとしたらいくらぐらい掛かると思いますか?またどこに依頼するのが一番安く作れますかね?
2022/01/02(日) 23:47:14.55ID:ddLIrUr40
>>183
ちょっと意味が違うが copy か join だな
186デフォルトの名無しさん (アウアウウー Saa5-xBpI)
垢版 |
2022/01/03(月) 01:07:37.79ID:qEMrjWTya
>>185
mysql データ追加をしたいんですがやっぱりincsert文を使う必要があるのでしょうか?
別のやり方でもやってみたかったのですが、joinも調べましたがiecsertと併用が必要なようです…
187デフォルトの名無しさん (ワッチョイ 6120-hDuN)
垢版 |
2022/01/03(月) 01:10:06.39ID:YbTivXZM0
ふつうのやり方でとりあえず動かせば?
188デフォルトの名無しさん (アウアウウー Saa5-xBpI)
垢版 |
2022/01/03(月) 01:12:30.42ID:qEMrjWTya
>>187
あえて特別な方法をやるのは辞めた方が良いですかね…
2022/01/03(月) 05:49:15.79ID:BdaWP45p0
Ruby on Rails では、最初から3大データベースのO/R マッパーが付いているから、
SQL 文を直接使うことはない

SQLite, MySQL, PostgreSQL
2022/01/03(月) 18:04:54.24ID:ZnWxxyPp0
>>186
だから copy はどうなの?
csvファイルを一括して読み込めるけど
2022/01/03(月) 18:07:46.45ID:ZnWxxyPp0
すまん

LOAD DATA INFILE

だった
2022/01/04(火) 02:24:52.25ID:y7AliRwP0
incsertとかiecsertって何?
2022/01/06(木) 01:15:50.17ID:MRMdn/4j0
ひさびさに見に来たけど
相変わらずRubyキチにRSSキチがいるのか(笑
2022/01/06(木) 01:21:42.37ID:RZuWQS3v0
Rubyで組んだ山ア渉スクリプトだと思ってる
2022/01/07(金) 19:12:29.30ID:RiDo7mPm0
アンテナサイトなんですが、wordpress上で作る意味ってありますかね?
2022/01/07(金) 23:52:18.25ID:00Xzudcl0
>>195
PHPの質問とは違うだろうが、プラグインがあるから簡単に作れるくらいじゃね?
更なるカスタマイズが必要だったりすると途端に難易度が上がり
PHPだけでなくwebアプリを作るレベルの技術が要求されるだろうが
2022/01/08(土) 16:21:45.64ID:ly/XOtiZ0
>>196
カスタマイズするくらいなら自分で作ったほうがわかりやすかったりしますよね
2022/01/08(土) 22:00:23.01ID:ly/XOtiZ0
トップページのurlからrssかatomを取得する方法ってありますかね?
https://www.pref.kochi.lg.jp/reference/rss_atom.html
rss検出使っても見つからないす、、、
https://berss.com/feed/
199デフォルトの名無しさん (オッペケ Srb3-JtnO)
垢版 |
2022/01/09(日) 00:12:43.20ID:Cp6fwI0+r
テーブル接続→テーブル作成(必要か不明)→RSSをまとめる→RSSを取得→RSSをテーブルに入れる→RSSを表示をPHPで作成しているのですが、
RSSをテーブルに入れる最適なコードがわからず困っております。
OKWABEでPDOを使われているようなので、文字列変数にSQL文を入れて、それをPDOに渡して下さい。といわれたのですが、理解力がなくわかりません。
$sql文で取得したいtitle,link,thumb,contentをまとめて、
$sql = 'title, link,thumb,content';
これを
PDOに渡すということでしょうか?
$sql= $pdo->prepare('INSERT INTO '.$DB_table_name.' (title,link,thumb,content) VALUES (?, ?, ?, ?)');
$sql->execute([$title, $link, $thumb, $content]);
200デフォルトの名無しさん (ワッチョイ df01-dXQO)
垢版 |
2022/01/09(日) 01:27:13.03ID:wKoMs7Y50
そいつは、>1 のテンプレをしょっちゅう改変している、テンプレ改変荒らし。
基本的に、ソースコードを書かない香具師は荒らし

「Ruby, Rails, クソチョン」などを、NGワード登録推奨とか、
自分が有利なように、いつもテンプレを改変する

荒らしがスレ主として、居座っているので、
まともな人がスレ立てして、テンプレも元に戻した方がよい

荒らしは必ず、短文で2回以上書き込む。
必ず、複数人がいるように見せかける
2022/01/09(日) 02:14:21.31ID:hMW0FFlO0
質問です。
PHPでMySQLを使いたくて
MariaDB&MySQL全機能バイブル 単行本(ソフトカバー) ? 2014/12/18
鈴木 啓修 (著), 山田 奈緒子 (著)

を購入したのですが難しすぎました。
もっとわかりやすいお勧めの書籍とかありませんか。
2022/01/09(日) 05:32:06.22ID:lzN+drLE0
>>198
高知県のトップページの下の方に、RSS・Atom のリンクがある

RSS
https://www.pref.kochi.lg.jp/news/index.rss
Atom
https://www.pref.kochi.lg.jp/news/index.atom

コマンドプロンプトで、curl を使って、ダウンロードしてみる。
where curl
C:\Windows\System32\curl.exe

curl -sSL -o rss_data.rss ここへRSSのURL

Ruby で、ダウンロードしたXML から、
RSS::Parser を使って、title を抜き出す

require 'rss'

text = File.read "rss_data.rss" # RSS 2
feed = RSS::Parser.parse( text )

feed.items.each { |item| puts "#{ item.title }" }

出力
高知県循環器病対策推進計画の策定について(意見公募期間:令和4
年1月6日から2月4日)
第3期高知県歯と口の健康づくり基本計画(案)について(意見公募
期間:令和4年1月5日から2月3日)

以下省略
2022/01/09(日) 05:47:26.78ID:lzN+drLE0
>>199
データベース(DB)の設計は、勉強しないと無理。
DBが難しいのなら、CSV ファイルへ書き込んで、Excel で見るという手もある

Ruby on Rails のようなフレームワークのO/R マッパーを使えば、
テーブルも自動的に作られるので簡単

>>201
データベース(DB)の設計は、ひとまず簡単な本で、第3正規形まで学ぶ

国家資格のデータベーススペシャリストは、上級資格で難しすぎるので、
下級資格の基本情報技術者とか取れば良いかも
2022/01/09(日) 05:51:05.98ID:RPzdd9tK0
>>202
リンクにあげたようなrss検出ツールもcurlを使っていると思われるのでしょうか?
2022/01/09(日) 14:35:48.72ID:hMW0FFlO0
結局のところPHP関連のホームページがおおいので、やりたいことはできそうです。
SQL文もなんとかなりそう。

ただ、動作するまで、エラーがどこで起きてるのかがわかりづらかったです。
ubuntu のgeditを使ってたのですが何か良い開発環境ありませんか?
2022/01/09(日) 23:47:30.65ID:Mp6BIwpk0
DBってそんな難しいか?
2022/01/09(日) 23:51:08.08ID:lzN+drLE0
Windows 10, WSL2, VSCode(拡張機能・Remote Development)

ウェブ系のすべての言語・フレームワークで、VSCodeを推奨。
後は、おすすめ拡張機能を探す

詳しくは、VSCodeのスレで聞いて
2022/01/10(月) 00:20:57.90ID:MINWORCd0
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/538

ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた

基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理

Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている

これほど、良い教科書が揃っているフレームワークはない!

Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw

日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA
2022/01/10(月) 00:38:20.82ID:uVCdcKM00
>>206
PHPがエラーはかないから難しいです。
一応エラーはくようにしたけどそれでも。 
>>207

> Windows 10, WSL2, VSCode(拡張機能・Remote Development)

> ウェブ系のすべての言語・フレームワークで、VSCodeを推奨。
> 後は、おすすめ拡張機能を探す
>
> 詳しくは、VSCodeのスレで聞いて

ありがとうございます。見に行きます。
2022/01/10(月) 01:33:12.19ID:2kgrfn9w0
>>204
curl は、ダウンロードするために使っただけ

開発時には、何回も他人のサーバーへアクセスしないようにする。
営業妨害などで逮捕されるかも知れないので、
一旦、自分のPC へダウンロードしてから、ローカルファイルに対してテストする。
または、自分のPC内でサーバーを立てて、それに対してテストする

>>202
は、Ruby だけど、以下のように、
直接、高知県庁のサイトへアクセスするようにも書ける

または、Rubyスクリプト内で、curl コマンドを呼ぶ事もできるけど、
普通は外部コマンドよりも、URI モジュールのようなRuby内のモジュールを呼ぶ

url = "ここへATOMのURL" # ATOM

text = URI( url ).read
# text = `curl #{ url }`

feed = RSS::Parser.parse( text )
2022/01/10(月) 08:56:45.99ID:MJIV3zOpa
PHPのスレでPHPで答えないやつは死ね
2022/01/10(月) 12:09:01.45ID:KhqaaBh00
<?PHP die('死ね'); ?>
2022/01/10(月) 12:14:33.20ID:/uYvX2ck0
こうやって見ると、最後の?はちょっとかわいいな
2022/01/10(月) 14:18:54.75ID:HvcuIQ5X0
YouTube で有名な、雑食系エンジニア・KENTA のサロンのRuby on Rails 初心者用コースでは、
Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

今までは、Docker Compose までが初心者用コースだったが、最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も必要

だから、AWSのくろかわこうへいのサロンにも、入る必要がある。
今では、1年の未経験者が、10年以上のプロよりも技術力が上になってる!

KENTA
2021年のWeb系エンジニア転職を成功させる3つの技術要素、2021/4
https://www.youtube.com/watch?v=70VrB7LTe9g
Web系エンジニアを目指す人のためのプログラミング学習ロードマップ、2021/2
https://www.youtube.com/watch?v=0TABrlhci5M

今までは、女の子が1人で、Herokuで起業するのがパターンだったけど、
今の未経験者の転職用では、AWS Fargate, Docker が絶対

要するに今は、サーバーを管理しない事が絶対。
EC2 みたいなものを構築しない

それ以外に、GCP も知っておけば良い程度。
でも、GCPの知識で転職できるとは思えない。
Azure は選択肢にすら入らない

AWSには、くろかわこうへいのサロンもあるけど、
他を選ぶと、まず勉強できない。学習環境がない。
だから皆、学習環境が揃っているRails, Heroku, Cloud9, AWSになる
2022/01/10(月) 16:26:22.21ID:pX/baEaV0
ruby使いキモい
2022/01/10(月) 22:47:07.27ID:WbwK/aTR0
Rubyの話している奴は無視してw
フレームワーク使わずに素のPHPでデータベースいじるならPDO一択だけど
try catchで囲めば普通にエラー分かるような?

最近はLaravelしか使ってないからEloquentばかり利用してるけど結局これも中身はPDOだしなぁ
エラー時はcatchでMySQLならそのエラーが取れるよ
2022/01/11(火) 05:22:28.70ID:KG7TH+I30
初心者です
サーバサイドはもうPHPよりNode.jsの時代でしょうか?
Laravel使ってるのは年寄だけと聞きます
2022/01/11(火) 06:06:28.24ID:2y/rudNo0
>>217
言ってるやつに根拠を聞け
ばかなの?
2022/01/11(火) 11:26:52.73ID:h7Z62fbT0
http://jin115.com/index.rdf
simplexml_load_fileでxmlオブジェクトを取ってくると以下のように要素が取得されるので、タイトルまで取ってしまいます。
channelを除外する分岐はどうしたらいいんでしょうか?

rss1なので
channel
item
item
item

という要素の構成になっているようです。
2022/01/11(火) 11:56:17.54ID:h7Z62fbT0
インデックス0を除外すればいいかなと思ったんですが、インデックスが取得出来ません。
foreachにおいては要素名がインデックスになっているようです。
<?php
$rss = "http://jin115.com/index.rdf";;
$xml_object_test = simplexml_load_file($rss);
foreach($xml_object_test as $index => $element_of_hierarchy1){
echo $index;
echo ":";
echo $element_of_hierarchy1->title;
echo "<br>";
}
?>
2022/01/11(火) 11:58:54.95ID:h7Z62fbT0
https://stackoverflow.com/questions/3915262/get-the-sub-index-in-foreach-loop-in-simplexmlelement
simplexmlは普通の配列じゃないようですね。
要素名で判断することは出来ますか?
2022/01/11(火) 12:01:20.73ID:h7Z62fbT0
あっ、インデックスで名前取れるんだ 要素の
これで判断するす
2022/01/11(火) 14:35:52.49ID:h7Z62fbT0
dieと例外処理って何がちゃうんですかね?
2022/01/11(火) 15:24:38.80ID:gisUZ/Sj0
本来の違いは
dieがプログラムが即終了する状態
例外処理はなんか処理するとプログラムの続行が
可能な状態
2022/01/11(火) 16:19:04.36ID:h7Z62fbT0
>>224
ありがとうございました。
2022/01/12(水) 03:40:00.18ID:7Whl/EKr0
最近はPHP使わない案件も増えてきたね
数年後にはPHPはWeb開発言語の主役では無くなっていると思う
2022/01/12(水) 09:34:15.92ID:IhhF8DpWr
現時点では以下のランキングらしいがphpが脱落しRubyはその前から使われなくなってきたから
残るのはpythonとnodeか

Laravel
Express.js
Django
Ruby on Rails
Flask
2022/01/12(水) 10:56:03.84ID:GPFkW/uI0
$arr = [
["sato1","sato2","sato3"],
["kato1","kato2","kato3"],
];
配列に名前ってつけられるんでしょうか?
sato_group
kato_group
のようにです

>>227
将来性ないんですか?個人用途でも
2022/01/12(水) 12:48:59.43ID:F2PdGvXs0
分野によって使い分けでしょ
2022/01/12(水) 13:34:04.79ID:IhhF8DpWr
>>228
個人用途なら何使ってもいい

そもそもpythonよりphpのほうが3倍高速
今はLaravelが多いんだけど、phpゴミ!php憎し!が多いから早く滅ぼしたい層がかなり多い

であればExpressやDjangoってことになるんだろうがExpressは薄いフレームワークだしDjangoは到底Laravelに及ばない

となるとどの言語も微妙
Nodeは後継としてDenoがあるけど全然使われていない

現状でどれもこれも微妙だしphpはバカにされてるので減っていくのにphpがまともなバージョンアップを続けていてLaravelが出来すぎなので使われ続けている

バックエンドはGoと言われてるがシェアはかなり低いしGoはクソ!っていうエンジニアも多い
2022/01/12(水) 13:45:04.64ID:GPFkW/uI0
>>230
どうもです。phpにしときます。
wordpressも使うし。
2022/01/12(水) 19:05:17.95ID:cgAm36ON0
>>231
PHPが糞なのは事実だが、滅ぼしきれないのは他もそれなりに糞だから。
とはいえ最終的に収束するならJSしかないので、学習対象を絞りたいのならJSにしとけ。

シェアは以下で確認出来る。各言語をつつけば詳細も見れる。
https://w3techs.com/technologies/overview/programming_language
https://w3techs.com/technologies/history_overview/programming_language/ms/y
PHPは漸減傾向、とはいえ10年以内に0になるようなペースではない。(現在78.1%)
JSは極めて順調に増加傾向、これは納得の結果。(現在1.8%)
Goは言語もシェアもゴミ。(現在<0.0007%)
Rustなんてそれ以下のゴミ。
なおRubyもオワコン扱いされているがシェアは順調に伸びている。(現在6.0%)

ただしこのシェアはサイト数であり、トラフィック数ではない点に注意。
ちなPHP滅ぼしたい奴はwordpressも滅ぼしたがってるけどね。
233デフォルトの名無しさん (テテンテンテン MM4f-zw7+)
垢版 |
2022/01/12(水) 19:45:02.13ID:HUvSYeLkM
PHPで何のフレームワーク使われてるか見分ける方法ありますか?
レンタルサーバーからソースは全部ローカルに移したんだけどどこ見ればいいのかわからない。そもそも使ってないかもしれない
2022/01/12(水) 19:47:58.08ID:CS5942FP0
index.php見れば判別できると思うぞ
2022/01/12(水) 19:56:02.65ID:oNseMJta0
個人的にはjs滅べと思ってる
236デフォルトの名無しさん (テテンテンテン MM4f-zw7+)
垢版 |
2022/01/12(水) 19:57:51.52ID:HUvSYeLkM
>>234
ありがと
見たけど特にそれらしきもの無かった。

30画面以上はあってDB接続とかしてるけどフレームワーク使わないってよくあるもの?
2022/01/12(水) 20:14:21.25ID:CS5942FP0
WordPressとか30ページ以上あってもフレームワークじゃないでしょ?
古いシステムでもフレームワーク使用してないのはそれなりに見かける
2022/01/12(水) 21:04:32.11ID:cgAm36ON0
>>235
JSは現状滅ぶ兆候すらない。
対抗馬もいないし、PHPerですらJSを書くしかない。
シェアは上がる可能性しかなく、実際にそうなってる。

PHPもまあ滅ぶ兆候はないが。
滅ぶかどうかは結局使う人が居るか≒新規参入者があるかであり、
PHPは一番簡単な所=新規参入者が多いところを占拠してるからこの点は盤石。
ただし改善はされてるが遅いし方向は間違ってるしで、今後とも他言語と比べて糞であり続ける。
そして新規参入者≒レベルが低いので、実際このスレもそうだし、
未来永劫PHPは糞でPHPerが馬鹿にされ続けるのもほぼ確定してる。けど滅ばない。

言語を開発する奴は通常はプログラミング大好きで「良い言語」を目ざし、「馬鹿向け」言語は目指さない。
この点、プログラミング嫌いを公言するラスマスが開発したので唯一性を保ってる。
ただし昨今のプログラミング教育義務化で「小学生でも出来る!」も目ざし始めたから多少は変わるかも。
とはいえ、PHPが滅ぶとしたら
・PHPより簡単な環境等の出現
・義務教育化で過半数が最初からJSで問題ない程度にプログラミング出来るようになる
のどちらかが必要で、どっちもないと俺は思うけど。
2022/01/12(水) 22:57:22.75ID:jcrcQ2pk0
JS難しいよな
2022/01/13(木) 00:06:23.13ID:Ia/gMc7B0
>>208
に書いた

日本のウェブ開発の将来は、ほぼKENTAが決めている

Ruby on Rails の有料サロンは、日本6位の3千人。
(1位は、数万人のキングコング西野)

Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体が一気にオワコンになってしまったw
Scala を滅ぼしたのも、KENTA

PHP はウェブサービスの言語だから、Railsに勝てないと、シェアが取れない。
Python, Julia には、AI・機械学習という新たな分野があるけど

Zozo は、Laravelだけど、
プロユースのウェブサービスでは基本、Rails以外のフレームワークのシェアがない
2022/01/13(木) 00:19:09.74ID:tGvK+xu50
>>239
プログラミング言語の中では最軽量級で簡単だよ。
段々と初心者向けページも充実してきてるので、諦めてさっさと学ぶべき。
https://developer.mozilla.org/ja/docs/Web/JavaScript

JSが難しいと言われるのは最初からHTML/CSS/DOM/WebAPI周りをある程度知っている必要があるから。
PHPerならこの辺の基礎知識はあり、純粋にプログラミング面だけで済む点は楽だよ。

仮にクライアントサイドでPHPが動いたとしても、コードも酷い事になるし死ねると思うよ。
JSは数多のAltJSを滅ぼしてきており、実際、一番マシ。
ただまあどうしてもPHPで書きたければBabelにはあるみたいだけど。
https://qiita.com/kotarella1110/items/064904b3269098938be8
2022/01/13(木) 00:45:52.90ID:tGvK+xu50
見てたらPHP.netみたいな目次もあったわ。
https://qiita.com/kotarella1110/items/064904b3269098938be8
文法的にはここを読めば済むから、
これで駄目ならプログラミング自体が出来ておらず、その場合はどの言語でも難易度は同じ。
2022/01/13(木) 00:46:50.55ID:tGvK+xu50
ごめんリンク間違った。PHP.netみたいなMDNの目次は以下。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide
244デフォルトの名無しさん (ワッチョイ 5fb3-6Qs4)
垢版 |
2022/01/13(木) 01:05:10.31ID:M4+X8mJO0
フレームワーク等は使用せずに、外部ファイルのHTMLテンプレを読み込んでテンプレの変数を展開した上で出力するPHPプログラムを作っています

テンプレートに記載されている変数をPHP側で展開する良い方法はありますでしょうか?

テンプレをfile_get_contentsで読み込んでstr_replaceで変数を値に置換する事でひとまず対応できたのですが、何かもっと良い方法が無いかと思い質問させて頂きました
2022/01/13(木) 01:26:49.07ID:CtFruw0j0
extract()
ob_start(), ob_get_clean()
preg_replace_callback()

自作のテンプレエンジンだと、大体これらの関数を使う
246デフォルトの名無しさん (ワッチョイ 5fb3-6Qs4)
垢版 |
2022/01/13(木) 02:29:26.77ID:M4+X8mJO0
レス有難うございます!
それらの関数について調べてみます!
2022/01/13(木) 07:47:34.46ID:YXAuRPN9M
>>238
>ただし改善はされてるが遅いし方向は間違ってるしで、今後とも他言語と比べて糞であり続ける。

「遅い」というのをPHPの実行速度のことを言ってるならPHP8はかなり速いぞ
2022/01/13(木) 08:23:34.52ID:tGvK+xu50
>>247
遅いのは「進化」のことだよ。
他言語よりも進化速度が遅いから、他言語には永遠に追いつけず、差も広がり続ける。
だから絶対値はマシになるけど、比較的糞なままなのも確定してる。

つか、
> そもそもpythonよりphpのほうが3倍高速 (>>230)
これってマジ?聞いた事無いけど。(Pythonと大して変わらんと聞いている)
2022/01/13(木) 09:09:36.65ID:dMrpZs5dr
>>248
聞いたことないお前が正しいのか?

https://hackr.io/blog/python-vs-php
Python vs PHP in 2022
新しいリリースのPHP 7.xは非常に高速で、通常のPythonプログラムのほぼ3倍の速度です。

https://medium.com/quick-code/php-vs-python-which-is-best-for-web-applications-in-2021-b7ad3fe0743a
PHP Vs Python: Which Is Best For Web Applications In 2021?

数年前、Pythonは最速のプログラミング言語と見なされていましたが、PHPバージョン7は状況を完全に変えました。今日、PHPはPythonや他の言語よりも3倍高速です。PHPを使用すると、開発者は大量のデータを一度に高速で処理できます。速度とスケーラビリティは、最終的にPythonよりもPHPのパフォーマンスを向上させます。

https://i.imgur.com/uOcFcxc.jpg
2022/01/13(木) 10:16:57.97ID:3y+qilua0
めっちゃ進化してて笑うw
2022/01/13(木) 13:09:36.04ID:9fpCP2+O0
php8はもっと速度あげてましたよね。
2022/01/13(木) 13:23:15.09ID:M4+X8mJO0
>>245
教えて頂いた関数を調べました
テンプレ側でphpタグ内でechoすればいくらでも取り扱い方はあるんですね

元々インフラエンジニアでsmartyを使ったサイトの保守をやる事になりPHPを勉強し始めたので、何も考えずテンプレ側で中括弧で囲んだものを変数展開する実装をしようとしていましたw

ありがとうございました!
2022/01/13(木) 14:20:01.60ID:tGvK+xu50
>>249
> 数年前、Pythonは最速のプログラミング言語と見なされていましたが
どこのパラレルワールド?

とはいえ3枚目のは一見まあまあだが、出所は下記で、
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/php-python3.html
PHPがPythonに勝ってる順にソートされてるので、印象操作としてはだいぶ酷い。
PHPの場合は数値計算で勝ったところで意味がないし、正規表現も大して使わないので、
どれもあまり適切ではないが、一つ選ぶとするとfastaか?
まあPythonよりは速い程度で、3倍は言いすぎだね。
(このベンチはPHP8.0.0/Python3.9.2を使用してる)

つかこういうのって、昔ながらの数値計算ベンチではなく、サーバーアプリケーションベンチで見るべきだよ。
ググったら下記がまあまあか?
https://medium.com/@mihaigeorge.c/web-rest-api-benchmark-on-a-real-life-application-ebb743a5d7a3
相変わらずフィボナッチはあるが無視として、SimpleListing/ComplexListingはまあいい。
見たところPython(Djago)とPHP(Laravel)は同程度。Lumenなら勝てる感じか。
本人も書いてるとおりNode(Express)の速さは特筆すべきだよ。
2022/01/13(木) 14:24:29.40ID:oIjbYCPRM
速さなんかでは言語は選ばれない
インフラ側をスケールすれば解決する
結局は人材確保が容易い言語が選ばれる
そういった意味ではPHPの地位を脅かす可能性のある言語は現状ではPythonよりjsになると思う
2022/01/13(木) 14:28:10.91ID:i4pedxF50
クライアントサイドのjsが比較対象になる理由が分かりません
2022/01/13(木) 17:51:03.92ID:aFi3jMHu0
node.js知らないのか・・・

まぁ、日本ではnode.js使ってるという話はあんまり聞かないなぁ
PHPで実装した方が使える人を集めるのも楽だしね
expressなどで一度はやってみたいけど
これもvueやらreactやってないと多分キツいのではないかと思う
2022/01/13(木) 18:10:14.50ID:tGvK+xu50
>>254
スケールにも限界があるからNode/Go/Rustに移行するわけだろ。
そしてPythonも十分人数はいるよ。PHPも多いけど。
https://www.youtube.com/watch?v=Og847HVwRSI

ただしPythonをWebで使う理由は「Python以外やりたくない」だけで、
それでもどのみちJSは外せないので普通ならJSを勉強するか最初からNodeで行く事になる。
だから、PythonによってPHPが滅ぼされるって事にはならないだろうね。
2022/01/13(木) 23:12:01.90ID:Ia/gMc7B0
Django を選択する香具師は、適材適所じゃない

企業の目的は、安い速いうまい。
だからウェブサービスでは、Ruby on Rails で良い。

Python に、こだわる必要はない。
AI・機械学習なら、Python, Julia を使えば良いけど

Ruby の女神・池澤あやかは、
Ruby biz Grand prix 2020 の大賞を取っているけど、

他の言語で開発しようとしても、人材が確保できなかったので、
結局、Railsで作る事になったと言っていた
2022/01/13(木) 23:34:11.70ID:6Sqpg55i0
WEBスクレイピングしたら逮捕されるって本当ですか?
260デフォルトの名無しさん (テテンテンテン MM4f-zw7+)
垢版 |
2022/01/14(金) 15:31:15.16ID:9ZtlNqLhM
jQueryのajaxでPHPの処理呼んでmb_send_mailでメール送信してるんだけど、セキュリティ的に問題あったりします?
PHPMailerとか使わないとだめかしら
261デフォルトの名無しさん (オッペケ Srd1-9WIe)
垢版 |
2022/01/15(土) 20:41:18.61ID:6jv0Mmn0r
RSSをデータベースに格納して表示したいのですが格納がどうしてもうまくいきません。
もう48時間以上かかっていて泣きそうです。どなたか原因はわかりませんでしょうか?
$url1 = ['','','',];
// insertの準備
$stmt = $dbh->prepare('insert into hlxclitx_feed_rss (post_thumbnail, site_title, link,description) values (?, ?, ?, ?)');
foreach ($url1 as $url) {// URLのループ開始
if (($rss = @simplexml_load_file($url)) === false) continue;
// URL固有のデータを取得(これ、全部必要なの?そもそも全部存在するの?)
$site_thumbnail= $rss->channel->thumb;
$site_title = $rss->channel->title;
$site_link = $rss->channel->link;
$site_description = $rss->channel->description;
$site_description = strip_tags($site_description);
if ($desW != 0) $site_description = mb_strimwidth($site_description, 0, $desW, "…",'utf-8');
$site_thumb = '/images/dummy_thumbnail.jpg';
printf('<h2>%s</h2>', $site_title);// サイトごとに表示するなら、サイトタイトル表示はこの位置
$count = 0
// 個別記事のループ開始
foreach ($rss->item as $item) {
if (++$count > 8) break;
$thumb = $item->thumb;
$title = $item->title;
$link = $item->link;
$description = $item->description;
$dc = $item->children('http://purl.org/dc/elements/1.1/');
$date = date('Y-m-d H:i:s', strtotime($dc->date));
// データを取得し終えたら、その内容を executeメソッドで書き込む
$stmt->execute([$site_thumbnail, $site_title, $link, $description]);
if ($count === 1) print('<ul>');// 取得した記事データの表示
printf('<li>%s:%s:%s</li>', $title, $link, $date);
} // 個別記事のループ終了
if ($count) print('</ul>');} // URLのループ終了
262デフォルトの名無しさん (オッペケ Srd1-9WIe)
垢版 |
2022/01/15(土) 20:49:59.27ID:6jv0Mmn0r
解体して表示だけ取得だけ全部試しました。
それなのにinsert into?が原因で格納に失敗します。
データベースの名前カラムすべて見直しました。
何が原因でしょうか?
2022/01/15(土) 23:21:51.40ID:iJzr35B10
コンソールに、データベースのエラーメッセージが出ていないの?
そのエラーメッセージで検索すれば?

例えば、Ruby on Rails では、

SQLite のコンソールを使わなくても、
Rails console から、直接データベースを更新して、内容をチェックできる
2022/01/15(土) 23:43:25.35ID:oXGiUqfh0
>>262

$desW ってどこかで設定しているの?
2022/01/16(日) 01:35:25.89ID:YYF6c/OO0
https://www.sejuku.net/blog/24522

ubuntuで使っててここじゃないページでSQLのエラー表示の方法
みかけたけどどこか忘れた
266デフォルトの名無しさん (オッペケ Srd1-9WIe)
垢版 |
2022/01/16(日) 02:01:59.05ID:VgKPIk3gr
RSSを格納するときにエラーが出ていたので格納したところ、Base table or view not found: 1146 Tableと表示されておりました。
どうやら、モデル名.テーブル名に格納するようになっておりこのモデル名が邪魔なようです。どのように解決すればよいでしょうか?
lavelでの解決法しか出てこなくて困っております。
267デフォルトの名無しさん (オッペケ Srd1-9WIe)
垢版 |
2022/01/16(日) 02:05:46.19ID:VgKPIk3gr
>>264
$desWは設定し忘れておりました。すみません。
格納がことごとく失敗してそこばかり修正していたので冷静に全体まで目が通ってないかもしれません…
268デフォルトの名無しさん (オッペケ Srd1-9WIe)
垢版 |
2022/01/16(日) 22:20:14.83ID:PpUhmIHar
データベース名が複数存在しておりconfig.phpに記載されているdbnameと異なるものを新規で作成したためエラーが起こっておりました。デフォルトのデータベースにテーブルを作成したところ成功いたしました。
コードを修正するあまりデータベースの基本操作の理解をおろそかにしておりました。誠に申し訳ありません。
269デフォルトの名無しさん (テテンテンテン MM66-E6lP)
垢版 |
2022/01/17(月) 12:28:27.68ID:Swoj17EWM
PHP初心者です。
index.phpにrequireでDBからデータ取得する共通処理を呼び出して表示をしていますが、キャッシュのせいかデータを更新しても古いデータが表示されてしまいます。

index.phpにheader(“Cache-Control: no-store•••のキャッシュ無効化を書いたら正しいデータが表示されるようにはなりましたが、imageとかcss等もキャッシュされないとサイトが重くなるのでは?と思っています
どうするのがいいでしょうか?
2022/01/17(月) 13:52:32.24ID:rdgDbl6jC
>>269
普通はそんなキャッシュされないんだけどね
ブラウザの履歴全部消して、追加したheader()も削除して、index.phpを開いた時のリクエストヘッダとレスポンスヘッダさらせば、原因がわかるかもね
271デフォルトの名無しさん (テテンテンテン MM66-E6lP)
垢版 |
2022/01/17(月) 18:49:25.24ID:tufIE2pHM
>>270
ありがとうございます
レンタルサーバのキャッシュの設定ぽかったです
header(‘Cache-Control: no cashe’)で回避することにしました
2022/01/17(月) 22:01:17.94ID:0Oj5SST40
for文の入れ子が理解できません
コードを見て、どういう結果が出るのかっていうのはわかるんですが、意図通りの結果を出す為に1からどうコードを書けばいいのかがわからないんです..
以下を表示するためのfor文について、コードの組み立て方を教えてもらえないでしょうか
***1
**121
*12321
1234321
2022/01/17(月) 22:10:02.57ID:Fwtfafsq0
*は出力していないけど、
for ($i = 1; $i < 5; $i++) {
for ($j = 1; $j < $i; $j++) {
echo $j;
}

for (; $j > 0; $j--) {

echo $j;

}
echo PHP_EOL;

}
2022/01/17(月) 22:11:09.00ID:Fwtfafsq0
変な改行入ったなw
https://paiza.io/projects/sYqpYSLp4sGFciORCbbekA
に置いておいたよ
2022/01/17(月) 22:25:20.22ID:lSQgpR630
*をリピートで出力。数字を出力。改行。以上
for ($i = 1; $i < 5; $i++) {echo str_repeat("*", 4-$i) . ((10**$i - 1)/9)**2 . PHP_EOL;}
2022/01/17(月) 23:06:53.64ID:fRpijKvH0
上から何行目かを表す変数を、line_number とすると、
例えば、それが3(行目)なら、その行内の最大値が3となる

*12321

次に左側から、1,2,3 と、1からline_numberまで増やしていき、
そこから、line_numberから1まで減らしていく。
つまり、123 となって、21 となる。
ここで、12321は5文字(*を含まない)となり、number_length に5を保存する

次に、*を含む各行の文字数は、1〜4行目が4〜7文字なので、
*を含む文字数 = line_number + 3 となるので、
*だけの文字数 = line_number + 3 - number_length となる

例えば、3行目なら、3 + 3 - 5 = 1 となる
2022/01/17(月) 23:30:06.87ID:0Oj5SST40
>>272です。
皆様ありがとうございます。
いただいた回答をじっくり見て自分でも再度考えてみます。
278デフォルトの名無しさん (テテンテンテン MM66-E6lP)
垢版 |
2022/01/18(火) 16:39:24.93ID:5gBRec40M
html形式のメール送る時ってマルチパートメールにします?
書き方調べるとサイトによって違うし今どきhtmlメールだけでもいいかなとか思えてきた
2022/01/19(水) 01:25:50.88ID:Lpp/4I5F0
Ruby on Rails のAction Mailer では、

a.text.erb, a.html.erb という2つのテンプレートがあると、
Action Mailer は、それぞれのテンプレートから、HTML メール・テキストメールを生成し、
マルチパート形式のメールとして、ひとつにまとめて自動的に送信します

ERB とは、Embedded(埋め込み)RuBy の事で、
<% Rubyの構文の断片 %>, <%= Rubyの式 %>
を使って下のように、あらゆる文書形式に、Rubyスクリプトを埋め込める

<h1><%= @inquiry.name %> 様 から問い合わせがありました。</h1>
<p>・お問い合わせ内容</p>
<p><%= @inquiry.message %></p>

@変数名は、クラスから作られたインスタンス変数です
280デフォルトの名無しさん (ワッチョイ 25bb-afNC)
垢版 |
2022/01/19(水) 06:50:43.65ID:onZesMbl0
質問失礼します
現在フォームを作成しているのですが、
送信ボタンを押されていない時に送信してください!という文字を表示し、ボタンを押されたら送信完了しました!という文字を表示したいです
どうすればできるでしょうか?
2022/01/19(水) 06:53:07.17ID:nCt3m1whM
すごく難しい質問だけど理屈が分かれば簡単
つまり、
送信ボタンを押されていない時に送信してください!という文字を表示し、ボタンを押されたら送信完了しました!という文字を表示すれば完成するよ
2022/01/19(水) 07:43:57.10ID:Lpp/4I5F0
Ruby on Rails では、何かアクションをして、ページ遷移してから、
メッセージを表示する機能を、flash メッセージと言う

内部的には、表示するメッセージをセッションに保存しておいて、
ページ遷移したらメッセージを表示してから、
メッセージをセッションから削除する
2022/01/19(水) 07:49:31.24ID:ZJAQAUyc0
フロントとバックの役割の違いを学習すると良いよ
284デフォルトの名無しさん (テテンテンテン MM66-E6lP)
垢版 |
2022/01/19(水) 12:53:43.34ID:A7aVAia1M
>>280
JavaScriptじゃない?
PHPでできるんか?
2022/01/19(水) 18:51:53.64ID:wphqLZhf0
flockでLOCK_EXを指定してロックした場合、別プロセスで同じファイルに対してアクセスした場合には
ロック解除されるまで具体的にはfopenで待たされているという認識で合っていますか?
2022/01/19(水) 19:25:55.66ID:cQDRi9yq0
いいえ
fopenではなくflockを呼んだ時に待たされます
2022/01/19(水) 19:43:52.83ID:5WpsoH/V0
fopenはできるけど、flockで待たされる?
2022/01/19(水) 19:46:19.25ID:wphqLZhf0
>>286
ありがとうございます
2022/01/19(水) 19:54:11.09ID:wphqLZhf0
もう一つすみません

flockで待たされている間、何らかの問題でロックされたままになってしまった場合はどうなるのでしょう?
max_execution_timeに引っかかりページエラーとなり、その後ロックも解除されるのでしょうか?
2022/01/19(水) 21:00:37.31ID:cQDRi9yq0
異常終了であってもスクリプトが終了した時に開きっぱなしだったファイルは閉じられるでロックも解除される
2022/01/19(水) 21:20:49.67ID:jnXkF28v0
>>280
最初から「押してください」と表示しといて、post先のphpで「あざっす」と表示すれば良いのでは?
2022/01/19(水) 21:32:57.38ID:CzEeZKw2M
押した時ではなく
応答で変わるでは
意図が違うかも
2022/01/19(水) 21:39:31.21ID:wphqLZhf0
>>290
とてもすっきりしました
ありがとうございました!
2022/01/19(水) 23:25:13.14ID:Lpp/4I5F0
>>280
Ruby on Rails のダブルクリックによる二重投稿の防止では、

送信するボタンを押すと、送信中...と表示が変わって、押せなくなる。
f は、form オブジェクト

<%= f.submit "送信する", class: "btn", data: { disable_with: "送信中..." } %>

こういうフレームワークを使っていないと、5ch みたいに二重投稿される
295デフォルトの名無しさん (ワッチョイ 25bb-afNC)
垢版 |
2022/01/19(水) 23:43:48.83ID:onZesMbl0
>>291
すいません、その最初から押してくださいの表示はどんなコードを入力すればできますか?
今やってるコードでは送信しても送信前の文字が残ってしまいまして
296デフォルトの名無しさん (オッペケ Srd1-9WIe)
垢版 |
2022/01/20(木) 00:29:38.02ID:g6LgEdNbr
rssをデータベースに登録してそれを表示したいのですがやり方がわかりません。
どなたかアドバイスくださいお願いします。simplexml_load_fileを使わないとデータベースから値の取得はできないのでしょうか?
1.//まずデータベースに接続する
try {
$dsn = 'mysql:dbname=hlxclitx_wp1;host=localhost';
$user = 'hlxclitx_wp1';
$password = 'E.HrypHWxNmltXgC5eS26';
$dbh = new PDO($dsn,$user,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//エラーが発生した時に、例外を投げる
echo "データベースへの接続が出来ました";
}catch (PDOException $e) {
echo $e->getMessage();// err時はメッセージを表示
exit;}
2.//RSSをまとめる
$url1 = ['http://blog.livedoor.jp/dqnplus/index.rdf','http://alfalfalfa.com/index.rdf',
'http://himasoku.com/index.rdf',];
3.// insertの準備 テーブルに格納する準備
$stmt = $dbh->prepare('insert into rss_feed (title, link, date) values (?, ?, ?)');
$sql->execute([$title, $link, $date]);//DB用のエスケープ処理をPDOに丸投げしたいから

4.// テーブルのデータを解析してそこから表示するURLはテーブルに保存するとき以外使用禁止
foreach ($stmt as $わからない) {
$count = 0;
if (++$count > 8) break;
5.// 取得した記事データの表示
if ($count === 1) print('<ul>');
printf('<li class="sitelink"><a href="%s">%s</a></li>', $link, $title);
printf('<li class="sitelink"><a href="%s">site</a></li>', $link);
printf('<li class="sitedate">%s</li>', $date);
printf('<li class="sitethumb"><a href="%s"><img src="%s"></a></li>', $link, $thumbnail);
print '</ul>';//表示
}if ($count) print('</ul>');}
297デフォルトの名無しさん (オッペケ Srd1-9WIe)
垢版 |
2022/01/20(木) 00:31:20.96ID:g6LgEdNbr
何回も修正しているんですが仕組みがわからずコードをどう修正すればいいのかわかりません。
2022/01/20(木) 03:25:15.52ID:XNVR9Tv/0
>>295
echo '送信してください';
echo '<form>';
// ここにフォームの内容
echo '</form>';

送信しても送信前の表示が残るってことはpostでページ変遷させてないんですかね
あなたのコードをここに貼ったほうがいいかもです
2022/01/20(木) 11:09:14.59ID:ytX0ouJz0
>>296
PHP には、O/R マッパーは無いの?
わざわざ自作しないといけないの?

例えば、Ruby on Rails みたいなフレームワークでは、
Active Record と言うO/R マッパーを使うので、自動的にデータベース操作できる

それを、HTML テンプレート内に、ERB で書く。
例えば、すべてのユーザーを1人ずつ取り出して、各人の名前・email を表示する

<% @users.each do |user| %>
<tr>
<td><%= user.name %></td>
<td><%= user.email %></td>
</tr>
<% end %>
2022/01/20(木) 11:51:25.64ID:h53hxt8ta
RSSをDBに入れる質問してるやつって>>299の自演じゃね?
2022/01/20(木) 12:12:59.62ID:hwIlnS+y0
普通POSTすればサーバーで処理をして返すから、それを表示するだけで良いはず
302デフォルトの名無しさん (ワッチョイ a105-76Y4)
垢版 |
2022/01/20(木) 12:26:30.63ID:OzrcBeNw0
この案件を紹介されましたが客観的に見てどうでしょうか?
プロの方から見て魅力的ですか?

▼業務内容
・新規事業(オンライン展示会サービス)の開発業務で以下の対応をお願いします
 - Laravel / Vue.jsを使ったオンライン展示会のプラットフォームの開発業務
 - オンライン展示会の主催(自社プラットフォームを使用)

▼必須条件
・LaravelとVue.jsを使用した開発実務経験 (3年以上)

▼歓迎条件
・PHP、JavaScript、SQL、AWSを使用した開発実務経験
・新規事業の立ち上げ経験

▼稼働
・正社員前提採用
・平日日中の週2日〜(週5日歓迎)
・1日8時間程度
・土日祝稼働可

▼報酬
・時給:2,000円〜4,000円
・正社員の場合380万円〜750万円/年
2022/01/20(木) 12:50:24.70ID:iGctfi7/0
>>299
PHPでもフレームワークにはORMはだいたい付いてる
2022/01/20(木) 13:16:24.10ID:ytX0ouJz0
>>296
>printf('<li class="sitelink"><a href="%s">%s</a></li>', $link, $title);

こういうように、HTML タグを、文字列から作っているけど、
HTMLエスケープされるのか?

<, > など、HTMLで特別に解釈される文字が入っても大丈夫なのか?

Ruby のERB では、
<%= user.name %>
みたいに、<%= 〜 %> で、HTMLエスケープされるから安全だけど
2022/01/20(木) 13:20:18.98ID:n362EkH20
RSSを纏めて出力するために何故DBを敢えて使うのかが謎なんだが
2022/01/21(金) 00:57:00.67ID:5sHkqJHa0
PHPのスレなのにRubyの話している奴はガイジだからスルーしましょうw
2022/01/21(金) 01:42:23.24ID:BIgyxUmz0
php5からphp7へ書き換えているのですが、
メールアドレスを抽出する部分をeregiからpreg_matchに変更して/ /iを足したところ
falseが返ってくるようになりましたが、どのように修正すればいいのでしょうか?
preg_matchとは違うものを使うのでしょうか?

https://paiza.io/projects/SopBb8b8jFfJrz4SBr8rHw
2022/01/21(金) 02:30:37.52ID:0GO4QNef0
>>307
/をエスケープしてない所があるよ
2022/01/21(金) 03:24:11.30ID:BIgyxUmz0
eregからpreg_matchに変えるとエスケープしないといけないのですね
記号がこれだけあるとどれに加えて良いか難しいです・・
310デフォルトの名無しさん (アウアウウー Sa05-c7oX)
垢版 |
2022/01/21(金) 04:25:36.95ID:e6LRKhfGa
>>305
何でか考えたんですがコンテンツが重複するからですね
ページごとに固定で配置した場合記事が被ります
311デフォルトの名無しさん (アウアウウー Sa05-c7oX)
垢版 |
2022/01/21(金) 04:29:17.18ID:e6LRKhfGa
index.phpにRSSを固定で置いた場合、1ページ目と2ページ目に同じのが表示されてしまっては意味がないです
312デフォルトの名無しさん (アウアウウー Sa05-c7oX)
垢版 |
2022/01/21(金) 04:34:59.34ID:e6LRKhfGa
もう1点聞きたいんですがRSSをデータベースに入れた場合コンテンツの重複を確認する事は不可能ですよね?
クローラーでタイトルもURLも全部取っ替えられるので、最大100件格納するシステムにしてテーブルにあったら出力しないようにするのが良いのか、表示する時に重複は除外するのか

DBに保存せずにページが変わっても重複を避ける方法がありましたら教えてください48時間以上戦っていて限界がきてます
313デフォルトの名無しさん (ワッチョイ 25bb-afNC)
垢版 |
2022/01/21(金) 05:00:41.72ID:cfJjBebz0
>>298
なんとかできました
ありがとうございました
2022/01/21(金) 23:30:23.73ID:2Ya+eSMz0
コンテンツの重複とは、何の項目で判断するの?
普通は、URL とかだけど

また、データを何日で捨てるの?
何日間、同じデータを使うの?

例えば1日なら毎日、1週間に1回なら1週間毎に、
すべての古いデータを削除して、
すべての新しいデータを挿入していく

挿入していく処理中で、
URLなどの項目を、unique にしておけば、重複インサートできない

他には、同一のURLだけど、ファイルの内容だけが異なるのを判断したいのなら、
ファイルの内容から、MD5 みたいなハッシュ値を計算して、
それを保存しておいて比べるとかも出来るけど、

まあ、すべてのデータを削除して、
毎回、空の状態から始める方が分かりやすい・バグりにくい
315デフォルトの名無しさん (アウアウウー Sa05-c7oX)
垢版 |
2022/01/22(土) 10:28:39.25ID:egmIt+L8a
RSSの切り替えは基本的に相手側に合わせる事になると思います
基本は1日で切り替えていくつもりですが
uniqueで切り替えることを検討してみます
重複で保存しない、表示しない
データの保存は全部で10ページ分の360コンテンツを考えており、自分が調べた限りでは重複を避けるにはセレクトでテーブルとカラムを指定して値が入っているか確かめる方法を見つけました。
数についてはプライマリーキーを元に再現する方法を見つけました。
2022/01/22(土) 11:33:05.19ID:irAlkeCUr
独り言が多いスレだな
317デフォルトの名無しさん (アウアウウー Sa4b-6LEA)
垢版 |
2022/01/22(土) 19:21:08.39ID:7F9VA/j6a
もう1点お聞きしたいのですが、insert intoでデータベースにRSSを格納した場合、RSSの更新で勝手に中身が切り替わるのでしょうか?キャッシュされない限り保存できるのでしょうか?
2022/01/23(日) 20:08:45.79ID:Q+XuC88b0
自分でupdateしない限り中身が変わる事などあり得ないのだがw
そもそもプライマリキーが何か知らないけど、updateしないでinsertし続けるのなら
自分でソートでもしないと最新は取れないし、どっちにしても勝手に中身が変わる事などあり得ないw
2022/01/23(日) 20:10:57.00ID:1eJFWKb80
猫かもしれない
2022/01/24(月) 13:17:19.62ID:jdPj866/C
>>302
> ・時給:2,000円〜4,000円
時給3000円以上になるなら、まぁまぁ
2000円とかありえん
2022/01/24(月) 18:36:15.32ID:JhqaNvzk0
>>302
おめー、紹介側の立場だな
2022/01/25(火) 14:49:21.32ID:+dJU8UfpM
90以上のWordPressのテーマとプラグインにウェブサイトへの
不正アクセスを可能にするバックドアが仕込まれていた
2022/01/28(金) 08:54:16.97ID:uohbmMVoa
きちんと理解できて無いんだがプレースホルダーというのはpdoを使った場合にのみ使えるの?
2022/01/28(金) 08:57:05.85ID:L4Fef8wK0
>>323
ちがう
本質はRDB側の仕組み
2022/01/28(金) 10:04:37.83ID:uohbmMVoa
あらまpdoを使った時のsqlインジェクション対策に使う :hoge のことを指すと思ってたわ
mysqliでプリペアドステートメント使ってみて、その時「?」をsql文に入れてbindしてexecuteしたけど、この「?」はプレースホルダーとは言わないの?
326デフォルトの名無しさん (ワッチョイ b501-62kq)
垢版 |
2022/01/28(金) 19:21:16.33ID:bgRIttae0
>>302
それ実質年収380万でしょ どこの田舎?
東京だと舐めてるとしか思えない条件だけど、島根や秋田とかならありなのかな?
2022/01/28(金) 20:22:25.35ID:dRbZojn90
なせ島根や秋田なのか?地元なの?
2022/01/28(金) 21:37:44.69ID:YC2vdad30
東京でもそんな舐めた底辺案件普通にあるイメージ
329デフォルトの名無しさん (ワッチョイ b501-62kq)
垢版 |
2022/01/28(金) 23:17:35.01ID:h0Az4Q2l0
>>327
(立地や人口的に)平均賃金がかなり低そうなイメージがあるからだが?
2022/01/29(土) 05:52:58.32ID:S/AYuT160
[Rails] whereメソッドの「?」(プレースホルダ)
https://zenn.dev/yusuke_docha/articles/f04fb2cbd22508

Ruby on Rails でも、SQL injection を防ぐために、placeholder を使う

published.where('published_at < ?', 変数)
2022/01/29(土) 11:17:37.83ID:mAwlWFlr0
PHPの案件引き継いだが
前任者は沖縄から遠隔で開発やってたぞ
2022/01/30(日) 01:15:48.02ID:dhxm1daF0
質問です。
ubuntu+PHP7.4使ってるのですが、mbstringってインストール
しなくてもやっていけるでしょうか。

必要ないなら設定とかもよくわからないので入れたくないです。
2022/01/30(日) 09:30:02.33ID:R0BmiyFp0
>>332
マルチバイト文字使わないなら要らない
2022/01/30(日) 13:27:18.18ID:dhxm1daF0
>>333
ありがとうございます。
別に必須ではないのですね。
2022/01/30(日) 13:32:55.33ID:abA0NDao0
フォームなどで日本語文字列の入力が発生しないならば
2022/01/30(日) 13:52:23.79ID:bv7xKHqzr
日本でのお仕事なら必須か
337デフォルトの名無しさん (テテンテンテン MM3e-1PRf)
垢版 |
2022/02/04(金) 17:50:37.38ID:yzSnk57dM
ajaxからPHP呼んで、PHPのcheckdateでありえない日付だった時、ajaxに帰ってくる結果がparsererrorになるんですがどうしたらいいですか?

PHP内でエラーは起きてなくて、試しにtry-catchしたけど意味なし。
正しい日付の時は結果は問題ない。
ありえない日付と正しい日付で返す結果を同じにしても変わりなし。
checkdateでありえない日付指定しただけでparsererrorになってしまいますが、そういうものですか…?
2022/02/04(金) 18:04:05.35ID:mKMsSnzj0
エラーにしないと、ありえない日付、
例えば、2022/2/29 がデータベースに入ったら、えらいことになる

まさか、そういうバグがデータ中にあるとは、誰も想定していない
2022/02/04(金) 18:05:19.16ID:CIWidX6q0
>>337
で、PHPが返す結果(=Ajaxが読み取るデータ)はどういう形式にしてるの?
普通はJSONで返すと思うが、まさかPHPのtrue or falseをそのまま返してるみたいなオチでは
2022/02/04(金) 18:06:18.92ID:CIWidX6q0
>>338
何言ってんだこいつ…w
質問の意味分かってるのか
341デフォルトの名無しさん (テテンテンテン MM3e-1PRf)
垢版 |
2022/02/04(金) 18:08:24.94ID:yzSnk57dM
>>337
すみません、解決しました。
checkdate全然関係なくて、初期化されてない変数を判定に使っててwarning が返却されてました。

デバッグしてもPHP上では問題なく動くから気づかんかった。。
342デフォルトの名無しさん (テテンテンテン MM3e-1PRf)
垢版 |
2022/02/04(金) 18:15:05.49ID:yzSnk57dM
お二人とも素早いレスありがとう
>>338
わかり辛くてすまんかった。。

>>339
>>341というオチでした。。

デバッグの時warning教えてくれよと思った。
スレ汚してすまんかった。
343デフォルトの名無しさん (ワッチョイ ff10-l/zh)
垢版 |
2022/02/09(水) 11:12:25.13ID:Q8VKEGK+0
PHP7っていつまで使えると思います?
昨日、Laravel9がリリースされましたが、PHP8以上とのことです。
今後Laravelで開発するならPHP8に移行しなきゃいけないと思いますが、
PHP7から8ってすぐには移行できないと思います(サーバの問題で)
2022/02/09(水) 11:35:29.49ID:Og7wuzEAr
メンテされなくても5年は問題ないだろ
345デフォルトの名無しさん (ワッチョイ 9701-+Bjk)
垢版 |
2022/02/09(水) 12:10:06.61ID:t6Bj6uq30
>>343
サーバの問題で以降できないとは?
異なるバージョンのPHPを共存させる事もできるのだし、自分にサーバを触るスキルが無いだけじゃ無いの?
例えばRHEL系ならyumでしかPHPインストールできない!なんて言わずにソースコードからインストールしてみればいいだけ
やれば分かるが意外と簡単なのでやらない(やれない)奴が悪いだけ

サーバを絶対に触らせてもらえない環境ならご愁傷様だが…
2022/02/09(水) 12:19:42.70ID:Hi3NIrRc0
パソコンの大先生が現れた
2022/02/09(水) 19:00:51.37ID:ZxfBmTWH0
>>345
サーバの問題(テスト環境の構築と試験の為の予算も人材も無い)
2022/02/09(水) 19:06:15.12ID:vVOD9rgz0
レンタルサーバーが用意してくれる環境のことかな?
349デフォルトの名無しさん (ワッチョイ 9734-+Bjk)
垢版 |
2022/02/10(木) 00:09:41.41ID:9A+v8ss30
>>347
悲しいなぁ

>>346
それ、プログラミングやUNIXの板では煽りにも何にもならんわなw
私はスキルの無いバカでーすって自己紹介してるだけ
350デフォルトの名無しさん (ワッチョイ 9fad-zD41)
垢版 |
2022/02/10(木) 04:31:34.48ID:KYgrPGJm0
( ´,_ゝ`)プッ
2022/02/11(金) 23:40:18.38ID:AA35l59s0
レンタルサーバーなら有名所は8が入ってるのでいいとして、
VPSやクラウドなんかの運用中サーバを簡単にいじれないと思います。
完璧に問題が起きない自信があるなら別ですが、
共存にしてもWEBサーバ側の問題があるわけで、
リスクをおかせず古いOS・プログラムのままってケースが多いのではないでしょうか
2022/02/11(金) 23:45:03.33ID:SRDvTUOXa
予算次第じゃね。
2022/02/12(土) 00:06:42.02ID:9D2blOG10
仮想にして、見かけ上複数のWebサーバー立ててできないものなのか
2022/02/12(土) 00:34:36.14ID:Rd47SnYwM
俺が受け持ってる環境は未だに5.4が動いてる
2022/02/12(土) 23:24:37.73ID:c6xzFFYJ0
そもそもレンタルサーバーなんかでPHPやろうと思っているのが間違い
AWSでも無料枠あるし普通に何でも出来る所でやるべきでは無いかと
それとAWSで簡単な環境ぐらい構築出来ないとこの先生きのこることが出来ない
356デフォルトの名無しさん (ワッチョイ de02-rCQD)
垢版 |
2022/02/12(土) 23:27:24.68ID:hg3r0L170
( ´,_ゝ`)プッ
2022/02/12(土) 23:27:27.20ID:9D2blOG10
質問者がどこで何をしているかを聞かないのか
2022/02/14(月) 20:56:15.58ID:n3Z44GE0M
dockerのalpineコンテナで
バージョンを指定せずにphpをインストールすると7がインストールされました
これはまだ安定性などから7が推奨されているということでしょうか?
特に8を使いたいということでなければこのまま7を使う方がいいですか?
2022/02/14(月) 23:35:24.66ID:n3Z44GE0M
調べるとPHPの各バージョンのサポート期間は
アクティブサポート2年+セキュリティサポート1年の3年で
PHP7.4は既にアクティブサポートが過ぎているので、
今ならPHP8.0がよさそうですね
360デフォルトの名無しさん (スフッ Sd32-qHGi)
垢版 |
2022/02/18(金) 23:15:02.32ID:faKNivEZd
自作でページャーを作ってるんですがうまく行きません
以下に問題があるみたいなのですが教えて頂けないでしょうか…
page_numには現在ページが、lineには1ページでの表示数が、data_arrayには全データが入ってます
/**
* 対象のページに表示するデータを配列で戻すメソッド
* 引数:なし
* 戻り値:表示データ(配列)
*/
public function get_data(){
// どこから表示するか
$number = ($this->page_num-1)*$this->line;
// 表示したいところから一ページ分(lineの値分)取得
$display_data[] = array_slice($this->data_array,$number,$this->line);
return $display_data;
}
2022/02/19(土) 01:55:08.05ID:ikxoAZybM
自作なんてやめてフレームワーク使うか他人のコードをパクったほうがいいぞ
どうせ誰が書いても同じコードになるんだからそんなものに時間を費やすなんて無駄にしかならない
2022/02/19(土) 03:35:19.96ID:O6lJ+PtE0
>>360
具体的に何が問題なのかわからんが、そのメソッドの処理だけみると正常系は問題ない様にみえるけど
363デフォルトの名無しさん (ワッチョイ cf02-mA98)
垢版 |
2022/02/19(土) 08:22:23.29ID:5twrgHti0
>>361
わからんのなら黙っとれアホが
2022/02/19(土) 08:28:03.21ID:WF4CxriWd
>>360
問題があると思うという事はエラーメッセージでも出てた?
出てるなら情報頂戴

>>363
>>363
2022/02/19(土) 12:59:25.37ID:XlinVUCj0
Ruby on Rails のpagenation では皆、kaminari を使う。
kaminari用の日本語辞書、Bootstrap のテーマもある

フレームワークを使わずに、ウェブサイトの全ての機能を開発するのは、無理。
ログインなど、色々な機能が必要になるから、その度に自作するのは無理
2022/02/22(火) 11:42:00.45ID:oSLqQhylM
職業訓練校でphp学ぶのはアリですか?
progateはやりましたがイマイチ身になってる気がしません
2022/02/22(火) 12:20:39.63ID:am1CpfzLr
なんでもやってみて自分に合うか確認してみればいい
他人と自分は違うもの
それも自分で探していけないと身につかない
2022/02/22(火) 12:42:01.75ID:KahDZ65i0
最初に勉強するにはPHPは良いとは思うが
コンピュータ的な知識、webの知識などが一切ないと多分チンプンカンプンじゃないのかなと思うけど
どんなふうに教えてもらえるのかね・・・
2022/02/22(火) 13:03:57.60ID:HvFOllWN0
身につけたいだけならネットで十分
就職につなげたいなら訓練校一択
2022/02/22(火) 14:45:12.91ID:vMO+iROx0
どうしてもWebがいいなら止めはしませんがなしですね
スマホ時代なのでやってればJava
汎用性ならJavaScriptもしくはPythonがいいです
2022/02/23(水) 16:36:44.55ID:vUyQfgD70
PHPのスレでPythonとかw
そもそも仕事無いやろw
それにJavaってw
Androidの仕事よりwebを覚えた方が圧倒的にいい
2022/02/23(水) 16:59:43.97ID:v1sPphh80
ある程度大きなシステムになるならJavaの方が良いかもしれないが
中規模ならPHPの方が見通し付けやすい
もちろん人にもよるが
2022/02/23(水) 18:58:34.43ID:zyypBZ1d0
PHPもPHP3の頃はPerlよろしくグダグダだったが、
PHP8.1に至るまで予想してたよりまともに進化したなぁ。

8.1くらいまでの機能があれば、言語的な不満はあまり出ない域に入ったんじゃなかろうか。
2022/02/23(水) 19:15:58.18ID:2nyi9BTi0
>>371
Java=Androidというのはちょっと短絡的ですね
あげた言語はある程度なんでもできる言語ですよ
もちろんWebもいけます
事実上Webしか使いみちのないPHPとは違ってね
今日日PHPが担うバックエンドなんてのは
DB処理を行い結果返すだけのAPIなので言語なんてなんでもいいんです
2022/02/23(水) 19:21:38.33ID:v1sPphh80
今の様々なシステムはほぼWebで動かすと言う前提がある
Web以外はあまり需要がない
2022/02/23(水) 22:40:07.20ID:en2IXenwd
>>360
いまいち分かりづらいしどんな不具合があるのか書いた方がいい

>>data_arrayには全データが入ってます
この処理はあまりよくない
100件ならいいし、1000件でもいいかもしれない
しかし、1万件、10万件と増えると無駄が多い
取得するレコードを何件から何件取得するというSELECT文にした方がいい
2022/02/24(木) 19:56:07.45ID:Wxpvwt1A0
>>374
バックエンドのJAVAなんてゴミやん・・・
業務用のつまらん仕事したいならアリだけどw
そもそも殆どの仕事がweb絡みなのに開発効率のいいPHPを覚えるだけで十分やし
JAVAみたいな開発効率悪そうな言語をわざわざ使う必要は無いのだよw
俺はandroidもやってたからJAVAは分かるけど
似たような言語ならUnityで使えるC#覚えた方が仕事もありそうだ
2022/02/25(金) 18:48:28.91ID:UuY6gwRpC
>>377
でも、jarとかwarで配布されるツール結構あるけど
JenkinsとかMetabaseとか
何でJavaを選択したのかしらんけど、開発効率とかパフォーマンスとかが良かったりするのかな?
アップデートが楽なのは確か
2022/03/01(火) 17:01:44.25ID:iwkc+iEq0
>>378
一時期はアプリも何でもJavaで作ってたぐらい勢いはあったと思う
JavaFXなんてものもあったし(今はOpenFX?に変わったようだがw)GUIのアプリを作れる環境はあった
SunがOracleに買収されたりして色々Java自体がメンドクサイ事になって
今時webでもJavaやデータベースのOracleはお堅い所しか使ってない印象かな

ジェンキンスとかはJava繁栄時代の後期ぐらいのリリースだろうから当時は何も疑わずに採用したのかと
かといってJavaがダメとは全然思ってはないけれど、コンパイルしないとダメな時点でメンドクサイなぁと
そんな事言ったらVueなどもトランスパイルするからメンドクサイやんwという意見もあるかもしれんがw

Javaは処理速度的には今でもメリットはありそうだけど、PHPも相当高速化してきているし開発効率や使える人の数からして
中小のプロジェクトでは俺がプロジェクトリーダーならバックエンドはPHP以外採用する気になれないなぁ
2022/03/04(金) 22:36:44.72ID:oHlisFD/0
定期的にCRONで実行しているPHPプログラムにおいてCSVファイルにどんどん追記していく処理があります
ユーザーはブラウザで好きなときにそのCSVファイルをダウンロードするのですが、上記追記処理と
ダウンロードがたまたま同時になると、追記途中のCSVがダウンロードされる恐れがあります

PHP側ではflock LOCK_EXをかけてはいますが、ブラウザからのダウンロードはロックできないようです
(サーバーによる?)
これの対策をするにはどうすればいいでしょうか?
2022/03/04(金) 23:44:03.70ID:FMDn8WPh0
追記処理中のダウンロードリクエストはリダイレクトして飛ばす
2022/03/05(土) 01:43:08.77ID:A3SXm3gy0
>>381
複数の方法が見えてきました
どうもありがとうございます
2022/03/08(火) 09:59:40.63ID:fDKm90VIM
PHPが他の言語に比べて劣ってる部分は?
ペチパーって呼ばれてバカにされてる要因も述べよ
2022/03/08(火) 14:19:18.98ID:09rR+RDzr
劣っている部分というより全てが劣っている
そもそも開発者自体が認めている
2022/03/08(火) 14:36:49.45ID:P0Qi+BoV0
開発者が劣っているのは事実だ
2022/03/08(火) 14:39:08.11ID:i2Bfu8nZ0
具体的に「部分」を答えられないと
387デフォルトの名無しさん (オッペケ Sr4f-vVXv)
垢版 |
2022/03/08(火) 19:38:20.01ID:NUjfH1ddr
1ページの投稿をブロックに分けて1ページあたり2ブロックとしたいのですが、
$block_per_page = 2; //ページあたりブロック件数
こちらの文のみでブロック数として使うことは可能なのでしょうか?
1ページあたりのブロック数を使いたいんですがphpでどのように書けばよいのかわかりません。
教えてくださいお願いします。
2022/03/09(水) 11:43:56.42ID:0zBpDMzS0
エスパーさん、出番です
2022/03/09(水) 13:00:43.90ID:V60hTM4h0
エスパーできても対応したくない案件
2022/03/12(土) 14:16:37.29ID:zwqwl5tP0
phpの中にhtmlより、htmlの中にphpとしたほうがコードがスッキリするでしょうか?
echoによるhtmlの出力をゼロに出来るか分かりませんけど
2022/03/12(土) 14:42:54.07ID:jHv1uPK10
個人的にはそっち観点よりvscodeで書いてる時に求めてるもので分けてる
リアルタイムプレビューならhtml
デバッガならphp
2022/03/12(土) 16:19:48.20ID:zW5va19F0
HTMLの部分は制御構文(ifやforeachなど)以外のコードを含ませないのが一般的かと
関数みたいなものをHTMLから呼ぶのは構わないが、そのコードは別に書いた方がいいかと
2022/03/12(土) 18:54:33.81ID:zwqwl5tP0
どうも
どうしてもphp内にhtmlを埋め込まなければいけない場面というのは、出てくるのでしょうか?
2022/03/12(土) 19:29:13.34ID:aRaeBtiY0
表を出力したいとき、固定表示部分をHTML型式のまま出すというのはあると思う
2022/03/12(土) 19:39:37.44ID:xRtLdflG0
もともとshtml系のゴチャ混ぜ言語だろ
偉い人があとから使い方を考えても変わらんよ
2022/03/12(土) 20:29:03.21ID:zwqwl5tP0
はい 適当にやります
2022/03/12(土) 20:31:25.29ID:zwqwl5tP0
http://yahoo.warotamaker2.com/feed/445881767/
アンテナサイトについてなんですが、アンテナサイト自身もRSSを配信シてるって感じなんですよね
まとめサイトのRSSを取得して表示するだけでなく、その表示したRSSを配信もしているという仕組み?
2022/03/12(土) 20:32:19.76ID:jHv1uPK10
php内にhtmlを埋め込まなきゃいけないことがあるとかじゃなくて、どちらがコードを書く手間を省けるか好みや思想でしょ
ユーザーから見たらどっちでもいいことなんだし
2022/03/12(土) 22:47:00.28ID:hnYm2peld
>>390
phpファイルにプログラムを記述するときは、php部分とhtml部分は、ごちゃ混ぜにならないように、
なるべく分離して書くようにするのがいい。
そして大抵の場合、ロジック部分であるphp部分がファイルの前半に来て、
その結果をファイルの後半でhtml部分で出力することになる。
2022/03/13(日) 10:33:44.46ID:MLduQow90
>>399
分けたほうがやはり混乱しないですよね。
なるべくということですが、どうしても埋め込まないといけない場面はあるんですかね?
2022/03/13(日) 10:44:19.42ID:MLduQow90
https://ideone.com/UjQy6v
サンプル作りました

li部分はどうしても埋め込まないといけないのではないですかね?
2022/03/13(日) 12:07:17.56ID:1Pzf/FC5M
>>400
あるかないかで言えば、ある。
どうしても埋め込まないといけない場面はある。

MVCとかで調べるといい。
Modelの内容をViewに渡す方法には色々ある。
2022/03/13(日) 12:10:47.21ID:1Pzf/FC5M
つーか、コードを書き込もうとしたらエラーになるのね。
Sorry, you have been blocked
You are unable to access 5ch.net
2022/03/14(月) 20:45:27.05ID:XGyiHTV+0
>>402
回答遅れました。
できるだけ分けるようにします。

htmlの中にphp埋め込むには、phpを別ファイルにする必要がありますね。
2022/03/14(月) 20:58:09.94ID:XGyiHTV+0
http://2ch-c.net
phpで検索機能を作る場合、データベースへのデータの登録は必須なんでしょうか?
こういうアンテナサイトの検索機能を作りたいです。
rssはsimplexmlで取得してます。
2022/03/16(水) 10:54:21.97ID:itmR/dMn0
phpでrss配信するには、wordpressなどを使ったほうが良いんでしょうか?
大げさですかね?

rssをまとめサイトから取得し、取得したものを記事としてまとめ、その記事を配信するという感じです。
2022/03/16(水) 18:31:42.98ID:kR1ttM2X0
まとめサイトをさらにまとめるだと!?
2022/03/16(水) 18:47:43.53ID:aMiprF6q0
たまにまとめサイトの記事一覧だけのゴミサイトがあるな
今時あれどこに需要があるの?
2022/03/16(水) 19:11:35.86ID:kSvb2v7Y0
小遣い稼ぎじゃないの、広告で
2022/03/16(水) 20:28:36.91ID:/WIbPQeE0
RSSの質問の人ってずっと同じ人?w
2022/03/16(水) 20:36:49.81ID:SioxN+y80
スクレイピングと同じ人かもね
2022/03/16(水) 20:51:32.79ID:bh+1G8OUM
ず〜〜〜〜っと完成しないよね 完成させる気は無くてプログラムっぽい話したいだけなんだろね
413デフォルトの名無しさん (スプッッ Sd02-7uiG)
垢版 |
2022/03/18(金) 17:49:58.35ID:LdGHVVIjd
入力値が日付文字列かの検証をするのに

$str = '2000/01/10';

$arr = preg_sprit('/([ \ / \-])/' , $str); ←見にくいのでスペースを入れてます

if(count($arr) == 3 && checkdate($arr[1],$arr[2],$arr[0])~省略

この正規表現だと2000/01-10 のような / と - が混在した文字列も通してしまうのですが
これを解消する正規表現の書き方を教えていただきたいです

お願いします
2022/03/18(金) 19:21:52.32ID:EJjadHCU0
ハイフン必要か?
スラッシュだけでいいんじゃないの
2022/03/18(金) 19:39:43.24ID:ZSLD8Z4y0
どこかからコピペしたっぽいな
元のは、どちらのフォーマットでも受け付ける趣旨なんだろう
2022/03/18(金) 20:18:56.75ID:jJhZWOIAd
そもそも、preg_spritやcheckdateをする前に、入力値が正しいフォーマットであるか
チェックした方がいいんじゃない?
単に混在のみを許さないなら、事前に混在の有無をチェックしてエラーにするとか
417デフォルトの名無しさん (スプッッ Sd02-7uiG)
垢版 |
2022/03/18(金) 21:22:40.47ID:LdGHVVIjd
>>414-416
ありがとうございます

phpの本から抜粋しました

> preg_spritやcheckdateをする前に、入力値が正しいフォーマットであるか
>チェックした方がいいんじゃない?


単にyyyy-mm-ddもしくはyyyy/mm/ddのような日付文字列になっているかのチェックなので
>>413のif文のところがフォーマットのチェックになってるはずなんですけど、違いますか?

explode関数で/と-のそれぞれ分けてチェックしてみます
ありがとうございました
2022/03/18(金) 22:34:32.78ID:jJhZWOIAd
一応、念の為、おせっかいかもだけど、
checkdateの「年は 1 から 32767 の間となります」
とあるから、yearに5桁の32767がきてもtrueになるかもしれない
間違ってたらゴメンね

https://www.php.net/manual/ja/function.checkdate.php
2022/03/18(金) 22:45:29.62ID:kyCDYLMv0
Ruby on Rails のValidate では、View, Model の両方でチェックする。
さらに、実際に存在する日付かどうかもチェックする

さらに、そのアプリ固有の制限もチェックする。
a の日付が、b の日付以降であるとか

こうして、すべてがチェックされたものしか、データベースへ保存しない
2022/03/18(金) 22:51:19.15ID:kyCDYLMv0
RSS の難しさは、色々なバージョンがある事

Ruby では、RSS ParserはRSS 0.9x/1.0/2.0, Atom 1.0 をサポートしていますが,
RSS 0.90 はサポートしてません

RSS 1.0をパースした場合は RSS::RDF オブジェクト、
RSS 0.9x/2.0をパースした場合は RSS::Rss オブジェクト、
Atom をパースした場合は RSS::Atom::Feed オブジェクト

だから、Feedjira みたいに、異なるバージョンを統一的に扱えるモジュールが必要
2022/03/18(金) 23:16:42.40ID:Q/xYCmS1a
スレ違いも守れない身勝手なクズ
2022/03/19(土) 10:36:06.96ID:Jz9s8SFR0
xamppで使われているデータベースソフトはmysqlというものなんでしょうか?
大規模なものを作るわけではないのですが、もっと簡単な選択肢というのはありますか?
2022/03/19(土) 14:44:50.60ID:DtRySdf10
sqlite3
2022/03/19(土) 19:42:49.56ID:Jz9s8SFR0
mysqlだと思ってました
確認出来ますかねどこかから
2022/03/20(日) 03:34:28.76ID:PJzlle4Da
>>423
まじか、知らんかった
2022/03/20(日) 09:54:51.30ID:mQY/Vvp+0
簡単な選択肢という点へのレスじゃないの
solite自体はモジュールを有効にするだけでしょ?
2022/03/20(日) 09:55:39.92ID:mQY/Vvp+0
なんでsoになってんだろ
2022/03/20(日) 11:10:51.73ID:4DHwN15Vd
xamppでは結構な前に、mysqlからmariadbに変更になったんじゃないかな
sqliteはただのファイルだから、xamppでもPDOから簡単に使える気がする
2022/03/20(日) 22:49:21.68ID:hQnXKhQ80
実行時のエラーを画面に表示させないかわりにログに吐き出したいのですが、
探し方が悪いのかerror_reportingが見つかるばかりでよく分かりません

どのようにすれば実現できますか?
2022/03/20(日) 23:44:33.14ID:kJ/tleYc0
php.ini ログでぐぐればいいのでは
2022/03/21(月) 01:52:05.78ID:ReDZXCqw0
>>430
ありがとう
2022/03/21(月) 04:01:12.26ID:ZOcxwlgI0
えいえいるー
2022/03/21(月) 07:16:20.70ID:1Zq9yw2r0
phpで取得した日付をデータベースに保存するために、何の関数を使うんでしょうか?
2022/03/21(月) 09:34:41.09ID:FQPswJNc0
使うDBによる
ていうかそんな質問してるってことはSQLの勉強すっ飛ばしてるんだろうから
ORMとかdoctrineとかで調べたほうが良いんじゃね
2022/03/21(月) 10:44:58.61ID:KEZLBWrAd
>>433
https://www.php.net/manual/ja/book.pdo.php
2022/03/21(月) 12:33:57.27ID:1Zq9yw2r0
>>434
sql触るのはほぼ初めてですね。
ありがとうございます。

phpとはまた別物なんですよね。
2022/03/21(月) 12:42:33.00ID:ZOcxwlgI0
すっきりわかるSQL入門第2版が分かりやすかった。おすすめ。

あと自分はPHP7+MariaDB/MySQLマスターブック読んだ。
PHP8にしてたらそのまま動くのかは不明。
2022/03/21(月) 13:06:21.14ID:1Zq9yw2r0
phpで簡易cms的なものを作るにはデータベース必須すね、、、
がんばります
2022/03/21(月) 20:27:54.24ID:1Zq9yw2r0
sqlでテーブル作成するにはこの構文で間違ってるでしょうか?
create table tableName(
table1,
table2,
);

xampp使用です
以下エラー文

静的解析:

解析中に 2 個のエラーが見つかりました。

認識できないデータ形式。 (near "," at position 31)
カンマか閉じる括弧があるべきです。 (near "table2" at position 34)
SQL クエリ: コピー

create table tableName( table1, table2, )

MySQL のメッセージ: ドキュメント

#1064 - SQL構文エラーです。バージョンに対応するマニュアルを参照して正しい構文を確認してください。 : '
table2,
)' 付近 2 行目
2022/03/21(月) 20:31:42.83ID:1iHLA9O+d
table2の後のカンマが余分
2022/03/21(月) 21:09:44.05ID:1Zq9yw2r0
カンマ排除しても変化なしでした、、、
2022/03/21(月) 21:12:26.26ID:hqVGHGm5M
型も書かないとダメじゃないかな
2022/03/22(火) 04:32:12.72ID:Vsg5BiCzr
さすがにテーブルの作り方くらいこんなところで聞かないでググればわかるだろ
なんでここでレス待って無駄な時間かけてるのか
質問スレだから別にいいんだが
2022/03/22(火) 06:33:01.42ID:FjT2kSkU0
すみません 調べる能力もないので
調べたとおりやってもエラー出るもんですから
2022/03/22(火) 09:40:36.98ID:Vsg5BiCzr
そっか
2022/03/22(火) 10:57:47.69ID:qiHhH37I0
そもそもSQLをなんだと思ってるんだ?

table1やらtable2やらを、create table文のそこに書いて何をしたいんだ?
どこのサイトにそこに"table"(名?)を入れろって書いてあるんだ?
せめて"column"とだけ入れてエラーになったんなら理解出来なくもないけど
意味わからん。読まずにコピペだけして全部がうまく行くと思うなよ
2022/03/22(火) 13:06:14.45ID:FjT2kSkU0
うっす
あとで来ます
448デフォルトの名無しさん (ワッチョイ 1302-yL30)
垢版 |
2022/03/23(水) 20:10:40.92ID:6/u1gnhe0
ECサイト作りながらphpの学習してます。
MVCフレームワークの件で、
Controllerと、Modelの切り分けがよくわかっていません。

例えば、処理に対するものは全部Modelに組み込んで、
Controllerには、require_onceなど他のファイルを読み込ませるだけではいけないのでしょうか?

サンプルを見るとセッションや、データベース接続などは、
Controllerに書かれているものもあります。

結構ここらは曖昧なもの、きっちり切り分けできないものでしょうか?
2022/03/23(水) 21:05:09.72ID:k5Zp6smO0
質問です
phpmyadminを使って登録データを書き換える場合はsql文を使う感じでしょうか?
10年くらい前に使ってたんですが、uiから操作もできた気がします
2022/03/23(水) 22:22:39.11ID:/pNbKJbmr
できます
2022/03/23(水) 23:25:16.26ID:k5Zp6smO0
dもっす
2022/03/23(水) 23:31:34.77ID:6/u1gnhe0
関数になっているものは、modelにあげればいいのかな。
関数になってないものは、Controllerで。。
2022/03/24(木) 03:13:37.21ID:wr7gmjuR0
>>448
Ruby on Rails では、Model がデータベース、View がHTML など。
Controller がそれら以外の雑多なもの、routing など

他に、サービスオブジェクトは、fat model を避けるために、特定の機能を抜き出す

サービスオブジェクトがアンチパターンと思うなら、
concern に、1つの関心事・責務をまとめる

歴史的経緯では、fat controllerを避けるため、処理をモデルに詰め込んだ。
次に、fat modelを避けるため、サービスオブジェクト・concernが登場した

フォームオブジェクトはHTMLのForm をまとめる

他に、form presenter, model presenter は、decorator の一種だが、
View から、複雑なコード部分を抜き出す
2022/03/24(木) 06:31:15.00ID:amoIRmUua
スレ違いも守れない身勝手なクズ
2022/03/24(木) 08:40:06.48ID:i96xuoDh0
これがホントのすれ違い
2022/03/25(金) 06:36:29.43ID:/HPMPID90
データベースの操作は、pdoというものを使うのが基本なんすか?
2022/03/25(金) 07:13:01.47ID:+mvdxmyUM
DBはpdoで使うけどWEBアプリ作る時はWEBアプリフレームワークが用意してるDB用ライブラリで使う。
WEBアプリフレームワークが用意してる DB用ライブラリといってもdoctrine使ってるだけだったりする。
DB接続管理しないとDB接続切断漏れでメモリ使用量が増えて接続出来なくなることがあるからそういうのも管理してるDB用ライブラリを使うと良い
2022/03/25(金) 07:23:42.39ID:/HPMPID90
ありがとうございます
生のphpなのでpdo使いますです
2022/03/25(金) 09:02:55.24ID:f5febzbDd
>>456
そう
プリペアドステートメントについてよく学習するといいよ
https://www.php.net/manual/ja/pdo.prepare.php
2022/03/25(金) 18:00:35.30ID:j4lS34YJ0
$fp = fopen("unko.txt","r") or return;

ってやりたいんだけど、当たり前だけど式じゃないから
これ出来ないじゃん?
で、質問だけど、PHPに 「リターンする式」 ってある?
2022/03/25(金) 18:11:57.98ID:FU08ODZm0
無名関数
2022/03/25(金) 19:42:33.75ID:E8AHZ+++0
>>453
ありがとうございました。
2022/03/25(金) 19:43:10.27ID:E8AHZ+++0
ログインのページで
session_start();
でセッションIDが発行され、サーバー側に保存、クライアントのブラウザにセッションIDの値がクッキーに保存されることは理解していますが?

そのあとの画面遷移で、
再度
session_start();
と記述されています。

これって?画面遷移したら、新たなセッションIDが発行されるということでしょうか?
それとも、既にセッションIDが廃棄されてない状態で、
session_start();が実行する場合は、別の意味になるのでしょうか?
2022/03/25(金) 19:55:52.59ID:Sxm//NSL0
画面遷移したらそもそも前の画面と今の画面とは処理的に何もつながりが無いから
セッションで同じユーザーですよという判別をする訳なのだがw
一度セッション開始していれば、セッションのクッキーの有効期限が過ぎてなければ残っているから
この辺の仕組みが分かってないなら、根本的な所から勉強した方が良いのでは?
2022/03/25(金) 20:14:25.57ID:E8AHZ+++0
ありがとうございます。

最初のページで
session_start(); はセッションIDの発行。

画面遷移後の、
session_start(); は既存のセッションIDの継続。

のような意味合いで捉えればいいでしょうか? 
2022/03/25(金) 21:20:27.36ID:f5febzbDd
>>465
そうだよ
session_start — 新しいセッションを開始、あるいは既存のセッションを再開する
https://www.php.net/manual/ja/function.session-start.php

簡単に言えば、セッションの機能を使いたい場合は、そのすべてのページで、
最初にsession_start()を実行することになる

参考までに、新たなセッションIDの発行は、session_regenerate_idを使う
たとえば、ログインページなどで、セキュリティのためセッションIDを別のものに切り替える
2022/03/25(金) 21:49:53.02ID:E8AHZ+++0
ありがとうございます。
すごくわかりやすかったです。
2022/03/26(土) 00:39:12.54ID:t422X2fY0
いえいえ
2022/03/27(日) 08:52:49.93ID:2Abk94v90
デバッグ用の関数を考えています
変数の中見を見た後、die()で止めるにはどのようにすれば良いでしょうか?
以下だと、returnで終わってしまいますのでdie()が実行されませんでした。

function v($var){
return var_dump($var);
die();
}
2022/03/27(日) 09:30:34.37ID:Jy1Ztdu30
普通にデバッガ使えば?
2022/03/27(日) 09:37:32.03ID:2Abk94v90
>>470
そうですね・・・
全然うまく使いこなせなくて、変なことやっていましたが
やはりそちらをちゃんと勉強すべきだと思いました
ありがとうございます、目が覚めました!
2022/03/27(日) 11:19:54.18ID:px6SVueC0
var_dumpに戻り値ないのになぜreturnしたいのか
2022/03/27(日) 11:50:38.48ID:2Abk94v90
>>472
すいません!
returnがそもそも間違ってただけでした、お騒がせしました
return消したら全部解決しました。すいませんでした。
2022/03/27(日) 12:13:35.23ID:o0+t6QgP0
いいってことよ
475デフォルトの名無しさん (アウアウウー Sacd-bb9c)
垢版 |
2022/03/27(日) 17:56:14.40ID:TscJEPL7a
データベースを使わずに無理やり返信機能を作ろうとしてるんですが、やっぱりまずいでしょうか?

なんでもデータベースを使うのは嫌なんですが、使わないとクラッカーの攻撃の的になって迷惑をかけると書いてあったんですが
デフォルトのやり方に沿ってデータベースを使わないと駄目なんでしょうか?
2022/03/27(日) 23:50:25.02ID:TRkpHzjA0
>>461
それ違うくない?
やりたいのは or return 的なものであって
2022/03/28(月) 01:20:54.04ID:ee0nwmF40
>>475
別にファイルなどに保存(大昔の掲示板のデータなどはそうやってた)でもいいのだけど
ファイルだとアクセスが競合すると意図しない結果になる可能性があるのでロックしたりやら何気に面倒なので
今ではちょっとしたデータでもDBに保存するのが普通になっているだけ
Sqliteとかでも導入した方が良いかと思うしLinuxならmysqlとか簡単に入れられるし何故DBを避けるのか?
SQLが全く分からないようなレベルだとしたら、ファイルでやるのも難しいのでは?
2022/03/28(月) 07:44:22.82ID:bggr0gZp0
ブラウザは内部的に、Sqlite を使っている

そういうアプリは無数にある
2022/03/28(月) 08:40:30.91ID:e+R9J1ENr
DB使えない縛りとか地獄だろw
2022/03/28(月) 09:24:21.21ID:Z3wXEIoi0
ファイルシステムは広義のデータベース
積極的に使おう
2022/03/28(月) 13:15:04.75ID:65kZIKhN0
クライアントから送られてくるCSVを処理してCSVで返す仕事をしています
482デフォルトの名無しさん (アウアウウー Sacd-bb9c)
垢版 |
2022/03/28(月) 16:39:58.25ID:KVxU4Wgwa
>>477
DBが嫌なのは実装が面倒だからですね
返信ボタンとCSVファイルだと管理が楽だと思うので
2022/03/28(月) 17:32:41.80ID:aTlav5QD0
やりたい事がそれで完結するなら、
それで良いんじゃないか?
2022/03/28(月) 19:09:14.66ID:AcTRGxgL0
それでいいんならいいんじゃね
ワイだったら後からの苦労が死ぬほどつらそうで嫌だ
2022/03/29(火) 10:39:38.02ID:5ZnN2+IRM
xdebugって本番環境に入れても良いの?
リモートipアドレスでデバッグ環境が有効になるから問題無い?
2022/03/29(火) 10:43:32.61ID:75Mdmk0b0
ふつうはいれないよー
2022/03/29(火) 11:10:00.92ID:5ZnN2+IRM
入れたらダメなのね
ちなみに本番環境に入れたらとんでもない事態っておこるものなの?
想像力が欠如していてどうなってしまうかわからないです
2022/03/29(火) 11:23:48.03ID:3wCJ+Lll0
仮に脆弱性があった場合、
通常本番に入れるべきではないとされるものを開発側の理由で入れてた責任を取れるならいいんじゃね
ipスプーフィングされちゃいましたとかもあるし、普通セキュリティリスクは極力避けるものだと思うよ
2022/03/29(火) 11:31:07.52ID:N66wcHnK0
その本番環境がなんだか分からないが
一般論として、本番に穴が空く可能性は極力排除
2022/03/29(火) 16:57:15.91ID:snERMp370
同じphpファイルにある、フォームからデータをPOSTで受け取り、
データベースにデータを登録したあと、ブラウザリロードすると重複してしまうという事象。

一つは、header関数で、自分自身のファイルへロケーション設定させる方法。

https://www.php.net/manual/ja/functions.returning-values.php

あとトークンを使う方法。

https://techacademy.jp/magazine/41842

どっち使っても問題ないですか?
どっち使っても同じなら、簡単なロケーション設定で対応したいと思いますが、ご意見ありますか?
2022/03/29(火) 17:45:14.13ID:g2SW/NK60
>>485
xdebugはかなり重いしport9000とかを開けないといけないので
どっちにしてもあり得ない

>>490
上のURLは間違っているし、下にサンプルコードまであるのだから下の方法で良いのでは?
セッション使わずにやることも可能ではあるけど、ユーザーを認識した処理をするなら
どっちにしてもセッションは必須なので
2022/03/30(水) 06:52:25.55ID:YVzwLlXSM
xdebugの件ありがとうございました
サーバ移行先に少し機能を付け加えたものが動かない部分があるので、
本番運用するまでに限りxdebugを有効にするのはやっても良いでしょうか?
2022/03/30(水) 08:11:04.90ID:5+ozggRTa
関係者に了承もらって勝手にやれよ。終わったら無効にしとけよ
494デフォルトの名無しさん (ワッチョイ 5e10-5yPK)
垢版 |
2022/03/30(水) 11:12:36.66ID:m5cOXdIB0
これから3年ぐらいの運用を見越して開発する場合、PHP8が必須ですかね?
普段はLaravelで開発しているのですが、8か9かで悩んでいます。
なぜ悩むかと言うと、PHP7系の情報量が多いからです。
未だにPHP5を使えるようにしているレンサバもあるし、
PHP7でも大丈夫ではないか?と思う反面、セキュリティも気になります。

目的は個人サイト用ですが、仕事でこれから開発する人は
どのバージョンを選択するか教えて下さい。
2022/03/30(水) 11:23:44.28ID:pW4vMWner
個人なら好きなの使えばいい
どうせ世の中ゴミだらけのphpだし
セキュリティなんてバージョンだけでどうにかなるようなものではない
2022/03/30(水) 11:44:32.48ID:SZ4iQ/We0
>>490
参考までに、Ruby on Rails 6 で2重送信を防ぐには、
data: { disable_with: '送信中...' }
と書くだけだったが、

Rails 7 からは、CSS で制御する方式に変わった

<button class="btn btn-primary">
<span class="show-when-enabled">送信</span>
<span class="show-when-disabled">送信中...</span>
</button>

button .show-when-disabled { display: none; }
button[disabled] .show-when-disabled { display: initial; }

button .show-when-enabled { display: initial; }
button[disabled] .show-when-enabled { display: none; }
2022/03/30(水) 11:48:58.08ID:ghU4o1Ed0
あまり知識なさそうな人なら、情報量が多いバージョン使うのが良いのでは?
ご自身もそう考えていそうだし、背中押してあげようか?
2022/03/30(水) 11:50:31.65ID:SZ4iQ/We0
phpMyAdmin も、ブラウザでデータベースを見れて便利だから、

本番へ入れる香具師も多いけど、脆弱性を狙われる
2022/03/30(水) 13:54:06.58ID:bMF+K+xO0
webサイトの攻撃を見れる立場だと、phpmyadmin狙ったクエリが多いことに気付けるよねw
あれは最初ビビったw
2022/03/30(水) 23:14:02.09ID:1ooXHKRQ0
オライリーの本にでてたのだけど。サンプルが間違ってるのかな?

次の$dinnerの値がfalseなのに、if条件がtrueになるのは何故?

if($dinner == 'Braised Scallops') {
print "Yum! I love seafood.";
}
2022/03/30(水) 23:21:03.84ID:1ooXHKRQ0
ちなみに以下なら、if条件はfalseになる。

if($dinner === 'Braised Scallops') {
print "Yum! I love seafood.";
}

リテラルと「false」で「==」の比較をするとtrueが返ってくるの??
2022/03/31(木) 04:42:22.69ID:8HckyYNU0
その上のコードが無いと判断出来んわ
2022/03/31(木) 04:48:46.10ID:oh99lNSH0
if(isset($_POST['input1'])==false){$_POST['input1']=false;}
if(isset($_POST['input2'])==false){$_POST['input2']=false;}
if(isset($_POST['input3'])==false){$_POST['input3']=false;}
$input_set1=0;
if(true == $_POST['input1']){ $input_set1 = $_POST['input1'];}
else {$input_set1 = 0;}
if(true == $_POST['input2']){ $input_set2 = $_POST['input2'];}
else {$input_set2 = 0;}
if(true == $_POST['input3']){ $input_set3 = $_POST['input3'];}
else {$input_set3 = 0;}
$new_messages = $input_set1;
$max_messages = $input_set2;
$dinner = $input_set3;
2022/03/31(木) 04:49:36.14ID:oh99lNSH0
print <<<HTML_FORM
<form method="POST" action="$_SERVER[PHP_SELF]">
<ul>
<li>10,abcdef<input type="text" name="input1" >
<li>abcdef<input type="text" name="input2" >
<li>Braised Scallops<input type="text" name="input3" >
<button type="submit">送信する</button>
</form>
HTML_FORM;
print "$new_messages <br>";
print "$max_messages <br>";
print "$dinner <br>";
print "This is always printed.<br>";
if ($new_messages == 10){
print "You have ten new messages.<br>";
}
if($new_messages == $max_messages) {
print "You have the maximum number of messages.<br>";
}
if($dinner == 'Braised Scallops') {
print "Yum! I love seafood.";
}
505デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 04:59:01.80ID:oh99lNSH0
オライリーの「はじめてのphp」から。
の一部のコードを参考に、フォームからの入力で条件を確認しています。

3つ目のフォームが空の場合、$dinnerはfalseになるのですが。
($dinner == 'Braised Scallops')の場合、trueになるのです。

これまで、==で比較することなかったので、その結果に違和感があるところです。
2022/03/31(木) 06:30:54.35ID:PtLOqfk30
>>505
$dinnerはfalseじゃなくて0じゃね?

https://www.php.net/manual/ja/migration80.incompatible.php
8系で処理結果が変わってる
2022/03/31(木) 09:00:16.12ID:oh99lNSH0
0はfalseではないのですか、、。
調べてみます。ありがとうございます。
2022/03/31(木) 09:03:42.28ID:/ZasjnC50
こんなの気にしながらコード書きたくないからstrcmp系一択だわ
2022/03/31(木) 09:25:52.15ID:oh99lNSH0
ちなみに、phpのバージョンは7系でした。

# php -v
PHP 7.3.28 (cli) (built: Apr 27 2021 17:19:33) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.28, Copyright (c) 1998-2018 Zend Technologies
510デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 09:32:05.79ID:oh99lNSH0
確かに 0 と false では挙動が違いますね。
すごくもやっとします。
511500 (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 10:03:03.45ID:oh99lNSH0
自己解決しました。
https://so-zou.jp/web-app/tech/programming/php/grammar/operator/comparison.htm

==で比較するとき、
整数0 と 文字列'PHP' で true
整数1 と 文字列'PHP' で false

のようです。気味わるいですが、そうみたいです。
2022/03/31(木) 10:37:56.08ID:PtLOqfk30
>>511
それじゃ解決しないよ
教科書との違いは、数値形式の文字列のキャストの話
https://www.php.net/manual/ja/language.types.numeric-strings.php

あと参考にするのは適当なブログじゃなくて、公式見たほうがいい
2022/03/31(木) 11:19:04.53ID:oh99lNSH0
ありがとうございます。
でも、そうなのかなあ。
==の比較の場合、数値0 と false は結果が異なる。
っていうだけの話のような。。
2022/03/31(木) 11:56:54.49ID:PtLOqfk30
君の最初の疑問は
if(0=='php')
の挙動が本と実機で異なるってことなんで、まずそこから理解するといいよ

で、この比較は
https://www.php.net/manual/ja/language.operators.comparison.php
の「さまざまな型の比較」にあるように
> 文字列やリソースを数値に変換し、算術演算を行います

この数値変換が8以降で挙動が変わったってのが回答

ちなみに参考にしたブログは 0=='php' が TRUE なので、現行のphp Active Support バージョンにおいては間違った情報を垂れ流していることになる
2022/03/31(木) 12:05:50.04ID:PtLOqfk30
> の挙動が本と実機で異なるってことなんで、まずそこから理解するといいよ

ん?違うのか?

単純に
if(0=='php')
が TRUE になるのが気持ち悪いってことなんかな?

それなら、8系で修正されて直感と揃ったぞってことだね
2022/03/31(木) 13:27:33.73ID:3F1JJOSM0
>>496
jQuery で、ボタンをenable/disable に切り替える例

<button id="btn_1" class="btn btn-primary">
<span class="show-when-enabled">送信</span>
<span class="show-when-disabled">送信中...</span>
</button>

<button id="btn_2">送信ボタンをenable にする</button>

<style>
button .show-when-enabled { display: initial; }
button[disabled] .show-when-enabled { display: none; }

button .show-when-disabled { display: none; }
button[disabled] .show-when-disabled { display: initial; }
</style>

$( function ( ) {
$( '#btn_1' ).on( 'click', function ( event ) {
$( this ).prop( 'disabled', true ); // disable にする
} );

$( '#btn_2' ).on( 'click', function ( event ) {
$( '#btn_1' ).prop( 'disabled', false ); // enable にする
} );
} );
2022/03/31(木) 14:28:47.55ID:oh99lNSH0
>>515

>if(0=='php')が TRUE になるのが気持ち悪いってことなんかな?
そうです。そうです。

Javascriptだと。
if(0 == 'php'){
document.write("this is true");
}else{
document.write("this is false");
}
//"this is false"が表示されるのが普通なので。

もやっとしてましたが、ver8では改善されているのですね。

詳しい説明ありがとうございました。
2022/03/31(木) 15:05:21.39ID:3F1JJOSM0
JavaScript では、== は使わない方がよい。
常に厳密等価演算子、=== を使うべき

型違いは危険だから、TypeScript が出来た

こういうバグは、全部テストできないから厄介
2022/03/31(木) 16:35:59.57ID:oh99lNSH0
>>518
>JavaScript では、== は使わない方がよい。
>常に厳密等価演算子、=== を使うべき

これはPHPには当てはまらないのですか?
もっともなんとなくphpでも、比較するときは===を使ってますけど。
520デフォルトの名無しさん (オッペケ Sr79-LzaM)
垢版 |
2022/03/31(木) 19:11:06.94ID:FlN4IEP5r
タイトルのみ
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
画像と画像の下にタイトル
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
画像と画像の右にタイトル
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>

上記のように出力しているのですが、ul を1個ずつにする方法を教えてください、どうしてもわかりません。
521デフォルトの名無しさん (オッペケ Sr79-LzaM)
垢版 |
2022/03/31(木) 19:13:16.58ID:FlN4IEP5r
$block_per_page = 2; //ページあたりブロック件数
$rss_per_block = 18; //ブロックあたりRSS件数
//RSS読み込み
$rss_per_page = $block_per_page * $rss_per_block; //ページあたりRSS件数
$rss_offset = ($current_page - 1) * $rss_per_page; //RSSオフセット
$sql = 'SELECT * FROM rss_feed ORDER BY date DESC LIMIT ?,?';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $rss_offset, PDO::PARAM_INT);
$stmt->bindParam(2, $rss_per_page, PDO::PARAM_INT);
$stmt->execute();
$rss_items = $stmt->fetchAll(PDO::FETCH_OBJ);
//RSS表示
for ($i = 0; $i < $block_per_page; ++$i) {
for ($j = 0; $j < $rss_per_block; ++$j) {
$item_index = $i * $rss_per_block + $j;
if ($item_index >= count($rss_items)) {
break;}
$item = $rss_items[$item_index];
$title = "<a href=\"{$item->link}\">{$item->title}</a>";
if (empty($item->img)) {
$img = 'wp-content/uploads/2021/12/EXt1cESWAAAwdOY.jpg';
} else {
$img = $item->img;}
$image = "<a href=\"{$item->link}\"><img src=\"{$img}\" width=\"100\"></a>";
if ($j >= 0 && $j <= 4) {
echo "<li class=\"sitelink\">{$title}</li>"; // タイトルのみ
} elseif ($j >= 5 && $j <= 8) {
echo "<li class=\"sitelink2\">{$image}<br>{$title}</li>"; // 画像と画像の下にタイトル
} elseif ($j >= 9 && $j <= 12) {
echo "<li class=\"sitelink3\">{$image}{$title}</li>"; // 画像と画像の右にタイトル
}}
2022/03/31(木) 21:19:45.99ID:pB1E+d/ld
PHP8からの「文字列と数値の比較」は、この公式ページがわかりやすい
https://www.php.net/manual/ja/migration80.incompatible.php

(厳密でないやり方で)数値と非数値文字列を比較する場合、 数値を文字列にキャストし、文字列と比較するようになりました。
数値と数値形式の文字列の比較は、以前と同じ振る舞いをします。
注意すべきなのは、これによって、 0 == "not-a-number" が false と見なされるようになったことです。
2022/03/31(木) 21:32:14.98ID:pB1E+d/ld
つまり、PHP7では、
(厳密でないやり方で)数値と非数値文字列を比較する場合、文字列を数値にキャストし、数値と比較していた。
これによって、 0 == "not-a-number" が ture と見なされていた。

0 == "not-a-number"
この式は、次のようにキャストされて比較される
PHP7・・・0 == 0・・・true
PHP8・・・"0" == "not-a-number" ・・・false
2022/03/31(木) 22:10:53.99ID:oh99lNSH0
ありがとうございます。
なるほど。今7系のPHPで勉強してるけど。

$a =1 + "2";
echo $a;

これが 3
になるってのも、もやっとしてたんだけど
そこにつながるのですね。
2022/04/01(金) 15:25:22.67ID:PU7Zi1lY0
>>520

>>521
に、ul が無いから、ブラウザが自動的に補完したのでは?
2022/04/02(土) 13:04:19.39ID:PPKYa6900
さすがにブラウザが勝手にhtmlコードを追加することないですよ。
そのコードが本当に出力されているのなら、Javascriptなんかで<ul>を生成されているんじゃないかな。
2022/04/02(土) 13:29:55.60ID:jQt44mz00
>さすがにブラウザが勝手にhtmlコードを追加することないですよ。
あるよ
2022/04/02(土) 13:39:07.49ID:PPKYa6900
えー。そうなんだ。資料ありますか?
2022/04/02(土) 13:49:24.47ID:jQt44mz00
>>528
chromeのコンソールで今やってみたけど
ul、liの開始タグだけ入力しても、ブラウザが終了タグを補完してからhtmlを描画する
https://i.imgur.com/RQ5uRzX.png
https://i.imgur.com/vbsdbFi.png
2022/04/02(土) 13:50:59.62ID:jQt44mz00
ただ>>525はないかな
ブラウザからすると、liの親がulかolか判断できない
2022/04/02(土) 14:06:20.88ID:PPKYa6900
開発者モードで書き込み中の不備のタグを補完するのは、
単にエディタの補完機能と同じじゃん。
もともとソースコード問題があっても、ブラウザは生成するソースを変更しないよ。
ブラウザがやってるのは、描画時に問題がないように解釈するだけ。

Document変えるのはJSとかでしょ。
先のは、生成されたソースことなんだろうから。
2022/04/02(土) 14:10:51.58ID:PPKYa6900
<li>の親に<ul>を挿入するよう、JSでやってるんでしょ。
なんで、JSの問題じゃね。phpとはすれ違い。
2022/04/02(土) 14:18:14.05ID:jQt44mz00
>>531
開発者モードじゃなくても補完するよ?
2022/04/02(土) 14:23:41.80ID:mq5L2U9M0
ちゃんと文脈読もう
ブラウザが勝手にhtmlコードを追加する事はあるよ
>>530の言うように525のような補完方法はないけど

その前に下記の意味が分からんのだけど
>上記のように出力しているのですが、ul を1個ずつにする方法を教えてください、どうしてもわかりません。
2022/04/02(土) 14:27:08.54ID:PPKYa6900
補完とはどういう意味かなあ。
確かに、問題のコードは常にブラウザ内で補完しているよ。
でも、ソースコードを書き換えない。
これでわかる?
536デフォルトの名無しさん (ワッチョイ 2302-wq0K)
垢版 |
2022/04/02(土) 14:29:10.47ID:PPKYa6900
どんな補完しているかは、ユーザー側でわかりっこない。
2022/04/02(土) 14:36:53.06ID:PPKYa6900
>>534
その前に下記の意味が分からんのだけど
>上記のように出力しているのですが、ul を1個ずつにする方法を教えてください、どうしてもわかりません。

多分こうしたいんだろうけど、<ul>がどう出力されているかわからんので、回答しようもない。

<ul>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
2022/04/02(土) 14:39:43.31ID:jQt44mz00
>>537
最初からその回答してれば終わってたんやで
2022/04/02(土) 14:45:02.92ID:PPKYa6900
質問がグダグダ過ぎて、みんな回答する気が失せてんだよなあ。
2022/04/05(火) 06:32:43.73ID:77EaesJ40
まだRSSやってんの?(笑)何年かけてんだか
2022/04/05(火) 18:53:21.93ID:U10U/iFz0
そもそもまともにHTMLすら書けないのにPHPが書ける訳無いよね・・・
これだけ質問しても出来ないという事は才能無いだろうし
金払って優秀な人に教えてもらうとかしないと自力では無理でしょw
542デフォルトの名無しさん (テテンテンテン MM4b-velb)
垢版 |
2022/04/06(水) 19:21:09.25ID:BW6ioY7bM
公式サイトの日本語って何か難しくない?
Qiitaとかで調べてからじゃないと公式の言ってることがわからんことがある
2022/04/06(水) 20:47:40.87ID:S2xbnSM+0
好きに編集してええんやで
544デフォルトの名無しさん (アウアウウー Sabb-1SDO)
垢版 |
2022/04/12(火) 15:20:12.66ID:jPYvn4Oea
DB処理の格納接続表示を3つまとめたのですが重すぎてタイムアップになります
これを3つ分けて書いた場合負担は軽減されますでしょうか?
またファイルは分けた方が良いでしょうか?
2022/04/12(火) 15:48:23.13ID:GEf97Th6r
情報少なすぎて何もわからん
2022/04/12(火) 15:52:29.64ID:n8vU4oo30
SQLに問題があると、エスパーしてみる
547デフォルトの名無しさん (アウアウウー Sabb-1SDO)
垢版 |
2022/04/12(火) 16:05:43.12ID:xX3JuDfra
通常のサイトでレンタルサーバーを使う場合データベースを10個も動かすことはできるんでしょうか?
2022/04/12(火) 16:29:34.39ID:MEiPlXkOr
なんでサーバー仕様のことをサーバー会社に質問しないでphpスレで聞くんだ
2022/04/12(火) 17:01:17.51ID:gsOGD0UL0
重すぎるかどうかは、実行計画を見ないと分からない。
実行計画に、full scan・総当たりがあったら遅くなる。
総当たりは計算量(N)、つまりレコード数に比例する

インデックスを使えば、計算量(log N)になる

レンタルサーバーは他人のアプリの影響を受けるから、
他人が重い処理をすると、ずっと待たされる

それでタイムアウトしたのかも
550デフォルトの名無しさん (ワッチョイ 8e84-Qpjg)
垢版 |
2022/04/12(火) 23:51:19.23ID:KdVn/I690
質問です
現在私は掲示板をやっていて
formの送信があったらphpからdatに書き込みをしてphpがdatのデータを取得する形式なんですが
5chみたいに、formでリンクが送信されたときに自動でリンクを貼るにはどうすればいいのでしょうか?
551デフォルトの名無しさん (ワッチョイ df01-L4Li)
垢版 |
2022/04/13(水) 00:44:12.60ID:UabNWL5R0
phpでは不可能ですね
rubyを使うのが良いでしょう
2022/04/13(水) 00:52:48.21ID:P5y02Tze0
単に文字列の中のURLをpreg_match_all()などで抽出し
抽出されたURLにをaタグを付けて置換すれば良いだけでは?
この程度の事が分からないのに掲示板なんて作れたなw
2022/04/13(水) 01:03:02.02ID:XcJ4K+Jv0
まず日本語を勉強したほうがいいな
2022/04/13(水) 01:37:37.68ID:bM/4ubN60
こういうウソを平気でつくのがルビ使い
2022/04/13(水) 14:55:12.18ID:pdxuGyHLa
作った掲示板にスクリプト書き込んだら普通に動作しそうwwww
2022/04/14(木) 13:16:01.95ID:PA9Dmt8i0
サニタイズという言葉を知らないとかあり得そうだ・・・
2022/04/14(木) 13:19:19.15ID:o2CC6j1g0
サニタイズ警察が来るぞ!
2022/04/14(木) 14:23:53.52ID:lHkgcQQs0
日本でサニタイズっていう人いるんだ・・・
2022/04/16(土) 00:48:07.79ID:sRIRVoIE0
めっちゃハマったネタ置いとく
誰かの為になれば・・・

mb_ereg_replace()でコード、入力、パターンともEUC-JPで統一して置換してたんだけど
PHP7.4から8に移行して動かなくなった
8ではPattern is not valid under EUC-JP encodingというwarningが出て動かない
さんざ苦労した挙げ句、行き着いた答えは・・・
EUC-JPではなくeucjp-winを使うということ
同様にSJIS変換していたmb_convert_encoding()でもSJISではなくsjis-winを使う

確かに入力にローマ数字などが入っていたので、この8での挙動は理解できるのだけど
なぜ7.4まででは動いていたのかが謎
2022/04/16(土) 06:57:39.53ID:oSqpgZsi0
>>559
8.1 ではなくて 8 ですか?
8.1 に関しては、CP932/SJIS/EUC-JP あたりのことを tweet してた人がいた気がします
理解不能だったので読み飛ばしたんですけど、かなり深い闇だった気が
2022/04/16(土) 07:07:02.12ID:sRIRVoIE0
>>559
ああ、ごめんなさい
8.0ではなくて8.1系です(8.1.4と8.1.5)
ツイッターは探索圏外でした
探してみます
2022/04/16(土) 07:07:51.42ID:sRIRVoIE0
自分にレスしてどうすんだw
561は>>560さんにです
2022/04/16(土) 07:24:31.82ID:sRIRVoIE0
>>560
ttps://twitter.com/sji_ch/status/1512542333782622209
このツリーですかね?
メインはCP932とSJIS(-WIN)の関係みたいですけど

8.0系だったら問題なかったのかな?
まぁ、解決したから8.1でいいんですけど、やっぱり7.4以前(8.0も?)でOKだったのが謎
https://twitter.com/5chan_nel (5ch newer account)
2022/04/16(土) 07:52:37.37ID:oSqpgZsi0
>>563
そのツリーだけではなくて、その前後も含めてですね
ただ、今読み返してみると、>>559 とは別の内容かもしれないです

エイリアス復活の話なので、むしろ SJIS-win を使用している場合に問題が出るケースを示唆してましたね^^;
2022/04/16(土) 19:04:30.64ID:Ynxy6YP50
大昔は文字コードの事を考慮しなきゃ行けない時代があったけど
今はUTF8前提でそれ以外のコードは完全に無視みたいになって
文字コードの話題が懐かしく感じるわw
Perlで掲示板を作ることが主流だった時はjcode.plみたいな変換ライブラリを通して
SJISなりEUCで保存する事をやってたな
2022/04/16(土) 19:20:43.53ID:pYTE49690
latin1死ね
2022/04/17(日) 18:14:40.11ID:6NqJ12LK0
phpは、グローバル変数を素で関数内で扱えないのね。
javascript的に書いていたらハマった。。
568デフォルトの名無しさん (ワッチョイ a760-tijK)
垢版 |
2022/04/27(水) 19:12:14.32ID:t2/42GRu0
3,4年ぶりにphpを書いてるんですが、
そもそもそんなにやってるわけではないですが。

'わたしは'.$tango.'です。'
といつも.で繋いでいたのですが、
'わたしは{$tango}です。'

でも行けるんですね。
何か違いが出てくるのでしょうか?
2022/04/27(水) 19:15:37.66ID:oc6HC0Dq0
どっちが見やすいかで考えればわかるやろ
2022/04/27(水) 20:26:40.94ID:GOrWBmWe0
>>568
後者の方が書きやすい読みやすいから基本的に後者でいい
ちなみに
${foo}
という書き方もあるけど、これはエラーの元になるので使うな
https://www.php.net/manual/ja/language.types.string.php
2022/04/27(水) 21:20:36.11ID:t2/42GRu0
ありがとう!
2022/04/27(水) 22:09:28.65ID:WCFtcATH0
肯定と否定が同居してるんだが、どこかにダブルクォートで括れという暗黙の補足でも入ってるのか
2022/04/27(水) 22:15:00.97ID:fL7V2KCkM
つかなんでシングルだとあかんの?
2022/04/27(水) 22:18:15.30ID:c7tqZe1K0
>>573
ワシがルールだ
2022/04/29(金) 10:55:25.63ID:T+r22j7H0
SQL文扱う時にダブルクオートの方が都合が良い
2022/04/29(金) 11:23:16.13ID:UWk6LAKb0
>>575
ネタとしては中途半端でわかりにくい
2022/05/02(月) 23:14:53.44ID:IwCAb8460
データベースから取得するデータのカラムを簡単に変更する方法はありますか?
2022/05/03(火) 05:39:08.57ID:m/WM7KOM0
>>577
SQL書き換えりゃいい
2022/05/03(火) 10:17:03.66ID:7BOoLL9SM
var_dumpってデバッグ専用なんですか?
2022/05/03(火) 18:33:40.39ID:mDdvElg00
正式リリース環境でも使いたければ使えばいいよ
禁止されてない
自分がどう見られるのかだけ気にすればいい
2022/05/03(火) 18:56:30.17ID:7BOoLL9SM
>>580
下記のスレで全否定されたので
https://medaka.5ch.net/test/read.cgi/prog/1651160532/362
2022/05/03(火) 19:35:40.72ID:mDdvElg00
そりゃそう言われても仕方ないね
でも言いたいことは>>580と変わりなく、上半身裸で外をうろついていいですかと聞かれても
それくらいなら別に止めんよということと同レベルとだけ
583デフォルトの名無しさん (ワッチョイ 87b1-6Jp9)
垢版 |
2022/05/04(水) 19:17:40.73ID:CNnT8weS0
password_hash($pass, PASSWORD_DEFAULT);
としてパスワードをハッシュ化した時のデメリットにはどのようなものがあるか教えて下さい。

例えば、古いバージョンのPHPでパスワードをハッシュ化し、それを新しいバージョンのPHPでpassword_verify()でマッチするか調べると、マッチしない事などはありますでしょうか?
2022/05/04(水) 19:44:59.07ID:zKQR0mlQ0
まずドキュメントを読もう
アルゴリズムの箇所を理解しよう、bcryptとはなんだか理解しよう
それぞれのハッシュ化のアルゴリズムについて理解しよう
古いバージョンとはどんなバージョンか想定しよう

さてそろそろイメージできるようになったのではないだろうか
585デフォルトの名無しさん (ワッチョイ 7f2d-PwpY)
垢版 |
2022/05/04(水) 19:50:51.05ID:h5ouCXsT0
password_hashによってハッシュ化された文字列には
使用したアルゴリズム等の情報も含まれているから、将来性は考慮されている。
2022/05/04(水) 20:58:54.36ID:+HPow41x0
>>583
php VerUP 時にアルゴリズムが変更されたことに気が付かないでDBの制限に引っかかって無駄に悩む可能性がある
まぁ、普通に検証してればデメリットはないかなぁ
2022/05/04(水) 22:56:40.38ID:AJMM67e40
「ruby on rails bcrypt」で検索!

Rails では例えば、User モデルに、has_secure_password と書くと、
認証で、自動的にデータベースが暗号化される

class User < ApplicationRecord
has_secure_password
end
2022/05/05(木) 02:31:36.30ID:FeY8iOM40
フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡

リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
業務委託契約の求職者と企業をマッチング

1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!

『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル

副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
中小企業で進む副業人材の採用、96%が継続採用を希望

茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金

長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給

フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
589デフォルトの名無しさん (テテンテンテン MM8f-SuRL)
垢版 |
2022/05/06(金) 19:22:23.90ID:Uq1J9tx3M
preg_replaceで下記のbbbで最短マッチさせたいのですが無理でしょうか?

$pattern:
/.*bbb+?/su
うまいこと?使ってできないでしょうか…

$replacement:
aaa
bbb
ccc
bbb
eee

上記の結果:
eee

求めてる結果:
ccc
bbb
eee
2022/05/09(月) 07:47:39.18ID:QH4sG/O7d
最初にマッチした次の行から3行
ってこと?
591デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/09(月) 09:53:41.06ID:gmNVuR+cM
そうです
2022/05/09(月) 11:35:08.82ID:dBPnB53l0
preg_replace('/.*?bbb(.*)/s', '$1', $s);
593デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/09(月) 13:33:35.13ID:NRg31fglM

?そうやって使うのか。そして後方参照使えばよかったのか。ありがとうございます
594デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/13(金) 11:30:20.56ID:N7EodmWOM
$arrayのサイズが3だったとして、
isset($array[100])はエラーにならないのに
echo $array[100];はエラーになるの不思議。

Javaの感覚だとisset($array[100])でも存在しないとこ見てるからエラーになりそうなのに
2022/05/13(金) 11:55:27.62ID:fQLlyk9x0
isset($array[100])が何を返したか調べて見た?
596デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/13(金) 12:54:15.84ID:N7EodmWOM
false
2022/05/13(金) 14:07:58.78ID:ezCooE+T0
不思議でも何でもないよね
2022/05/13(金) 14:46:22.07ID:N6GymAFV0
宣言不要で動的確保できる言語なので
2022/05/13(金) 16:59:50.75ID:oA5QmAfW0
isset()はそれ自体が有効かどうかチェックするものなので
isset()が実行される前にエラーになったら調べられないだろ?w
この動作が気持ちが悪いと思う気持ちも分からなくは無いがそういうものなのでw
2022/05/13(金) 17:50:13.81ID:g/jNOGuBM
あーなんか昔の汎用系のヤツだと記憶保護例外みたいなのになるんじゃないか
みたいなイメージかなあ
2022/05/13(金) 18:37:18.14ID:sVH20G9d0
Is this set?
っていう中学レベルの英語すら出来ない馬鹿ってだけだろ
(なおウザイから先に言っておくが、setはset-set-setの不規則動詞な)
Javaも分かってないが、それも自覚出来ないレベルの馬鹿ってだけ
2022/05/13(金) 19:10:01.87ID:Nb7fpslld
set-setted-settlenだろ
現代英語ではsettedlenが主流
2022/05/13(金) 19:18:25.66ID:qj80K2nV0
注意: これは、関数ではなく 言語構造のため、可変関数 や 名前付き引数 を用いてコールすることはできません。
2022/05/15(日) 13:45:39.31ID:zJ3gQ4pq0
クラス名 MyApp\FooBarBaz を 文字列 'my-app/foo-bar-baz' に変換する方法はありますか?
PHPのバージョンは7.4です
2022/05/15(日) 13:48:24.71ID:zJ3gQ4pq0
クラス名も文字列です
2022/05/15(日) 21:22:13.77ID:6hlhB4360
get_class()
2022/05/16(月) 01:17:23.25ID:fMKyFOJG0
4段階くらい変換してなんとかなりました
2022/05/23(月) 11:43:09.54ID:9ms6cfTb0
$prices = array("apple" => "100円", "orange" => "300円", "grape" => "800円");


foreach ($prices AS $key => $str){

str_replace('円', '', $str);

}
var_dump($prices);

ぁぁぁ、円が消えない・・
2022/05/23(月) 12:22:23.78ID:v7VRIvEQ0
foreach ($prices AS &$str){

$str = str_replace('円', '', $str);
2022/05/23(月) 12:46:41.67ID:9ms6cfTb0
>>609
ありがとう
代入の=が忘れていたのはわかるんだけど
リファレンス私ってのがドキュメント見てるけど難しいな・・
関数を使う前に定義されているものを引数として使う時に&変数として使えると思ったけど
foreach内で出てくる変数を、リファレンス渡しする使い方ができるのね

($prices AS $key => $str)は合っているように思えただけに
なんで動かないんだろう
2022/05/23(月) 12:56:40.66ID:Km0KRSU70
($prices AS $key => &$str)
2022/05/23(月) 14:14:29.88ID:9ms6cfTb0
>>611
がんばってドキュメント読んで理解したいと思います、どうもです
2022/05/23(月) 14:58:57.00ID:YElsYatV0
いえいえ
2022/05/23(月) 21:35:49.36ID:bZEiUBxs0
foreach のリファレンス渡しは基本的に避けるほうが良い
配列の中身を変更するんだったら別の配列に一度入れてから上書きするといいよ
array_map()とか使うと配列を処理して上書きしてんだな。ってわかりやすい

別解
$prices = array_map(fn($str) : int => sscanf($str, '%u円')[0], $prices);
2022/05/23(月) 22:16:48.72ID:cNNf0oyn0
参照渡ししてunsetし忘れる私が参上しました
2022/05/24(火) 09:39:09.30ID:AEfMjdV60
phpってpythonと違って'1' + 1の答えが'11'だか2だかになるんだろ?そういうのキモくない?
2022/05/24(火) 09:44:02.81ID:Gz2TS/6R0
キモイと思うヤツは言語仕様に興味が無いからだろ
まともなヤツは言語仕様の特徴(バージョンでの変化も)を先に調べてから使うから別になんとも思わん

あーでも引数の順番がまちまちなのは別だ。あれはキモいw
2022/05/25(水) 07:15:26.55ID:dHrSMA9Y0
>>616
他の言語は+で足したり文字くっつけたりするがPHPの場合は演算子が分かれてる
11にするには文字列連結(ドット)演算子
加算演算子は自動的にintにパースされるのがPHPの仕様
Web向けの言語だしHTMLフォームから渡されるのは文字列だからその辺考慮して簡潔に書けるようにした結果じゃね多分
2022/05/25(水) 08:26:07.70ID:vvHxh8dL0
>>614
キモイ
620デフォルトの名無しさん (ワッチョイ caba-8jyA)
垢版 |
2022/05/25(水) 08:51:09.46ID:rVRUpzpa0
PHPでファイルスコープの変数を使うやり方で
最も一般的な手法を教えろ
2022/05/25(水) 09:01:55.37ID:AfQrT2Lp0
>>620
先に「PHPでファイルスコープ」を定義しろ
2022/05/27(金) 19:19:34.93ID:P1uJEnB60
文字の0と1をpreg_matchで判定したいんだけど、
preg_match('[01]{1}', $_SESSION['hogehoge'])
全然わからないけど、こうしてもダメだったわ

(int)$_SESSION['hogehoge'] とかでもダメみたい

デバッグでは $_SESSION['hogehoge']) = "0"
になってた、文字の0だよね
2022/05/28(土) 00:04:08.27ID:RW8y4v6E0
スラッシュ抜けとるやん
2022/05/28(土) 00:17:18.30ID:m6ohiKXo0
マッチした検索結果が欲しいんなら第三引数も抜けてるし
2022/05/28(土) 08:07:36.55ID:oqZ/P1Bcr
てかswitchとかじゃ駄目な理由がわからん
2022/05/28(土) 12:53:47.66ID:50uZUDYi0
in_arrayでいいじゃん
2022/05/30(月) 13:51:15.66ID:/JK2MYXZ0
cake2で作ったシステムを cake4にアップグレードしようか
フレームワーク無しで作り直そうか
かなり迷ってます、、、


フレームワークはアップデートがあるので
アップデート作業がかなり面倒なんですよね。。。
みなさんならどうしますか?
2022/05/30(月) 20:33:04.20ID:UTbq9WWv0
フレームワークはアップデートしないで使い続ける。
2022/05/30(月) 21:48:21.10ID:/JK2MYXZ0
>>628
現行のシステムはやっぱりそのままの方がいいですよね。
仕様もかなり変わっているみたいで大変そうです。


新規開発はFW使いますか?
2022/05/30(月) 21:53:35.37ID:qZBZZly60
コイツラ何いってんだ?
2022/06/01(水) 06:36:55.64ID:+GSsnIlu0
window.onloadやaddEventListenerを使ってphpファイルを作成しました。
ChromeやEdgeでは動作しましたが、IEでは動きませんでした。
IEで動かすにはどのようにすれば良いでしょうか。
2022/06/01(水) 06:47:29.67ID:2JSbHFne0
F12でも使ってエラーを潰してください
2022/06/01(水) 07:08:32.48ID:+GSsnIlu0
試してみます
2022/06/01(水) 19:52:05.34ID:iSCPU1hCa
onloadの中にnew URLの記述があり、これがIEに対応していませんでした
除くと動きました
2022/06/01(水) 21:21:18.26ID:MvyUubDJ0
>>627
自分も全く同じ状態で悩んでいたけど、Laravelに移行した。
Laravelを学んでみるとCakeの経験が活きたんだが、
今はLaravel9に移行しようか悩んでいるw

Laravelはバージョンアップ間隔短すぎるのがネックなんだよな
>>628の言う通り、そのまま使っても問題ない気がしてる
みんな、Wndows11でても10使い続けてるだろうし
2022/06/02(木) 10:35:18.25ID:jzLO47Kw0
>>635
アップデートが面倒なので
今後は新規開発は、面倒だけどFWは使わない事にします。
2022/06/02(木) 10:40:19.70ID:re8KwKJf0
>>636
すげぇばかだなw
2022/06/02(木) 10:55:17.32ID:siNWIptR0
アップデートよりも、新規開発の方が遙かに面倒だと思うぞ
2022/06/02(木) 11:51:09.78ID:XaHFpyKm0
案件次第
2022/06/02(木) 12:31:50.37ID:TAqU9SHS0
面倒ではあるが、新規開発の方がモチベは上がるんだよな
2022/06/03(金) 01:03:46.55ID:MgVCBLwQ0
メルカリのWEBサイトってPHP?JAVA?
2022/06/03(金) 01:11:48.61ID:BRIW5Y350
Goと聞いた気がしますが自信はありません
2022/06/03(金) 01:25:32.50ID:MgVCBLwQ0
Go?
2022/06/03(金) 04:09:04.58ID:9OYUHt1w0
Pokemon?
2022/06/03(金) 04:17:59.33ID:PU5YIcc50
>>641
ブログあるから晒し記事探してみれば?
https://engineering.mercari.com/

技術スタック的には
Go, PHP, Python, Java, Scala,TypeScript, Node.js, NestJS
ってなってるね

https://engineering.mercari.com/technology-stack/
2022/06/03(金) 09:36:04.92ID:YOcY3e9p0
あれ程の巨大サイトが一つの技術ってことはないわな
2022/06/03(金) 12:05:46.21ID:MgVCBLwQ0
今更だけど、Goなんて言語あったんだ。しらなんだ。
2022/06/03(金) 12:10:16.13ID:+jHpZNgIa
>>636
面倒を避けてさらに面倒を増やすパティーン
649デフォルトの名無しさん (ワッチョイ b95f-G2Bm)
垢版 |
2022/06/03(金) 14:16:49.93ID:QWy0EaFt0
time()の1時間って1万ですか?
2022/06/04(土) 10:57:28.38ID:moekfv2wa
ネットの銀行口座の預金残高を1000万以上の数値に変えてほしいのですが、どなたかやってくませんか?
自分ではできないので
何卒宜しくお願い致します
cpiwls0bdl@sute.jp
2022/06/04(土) 11:48:53.24ID:rP7+l8V4a
犯罪くさい
2022/06/04(土) 11:57:34.70ID:6msIqSZr0
2,000万出してくれるなら引き受けてあげても良い
先払いで頼む
2022/06/04(土) 12:07:07.66ID:ckvMm5e00
じゃあ3000万で
2022/06/04(土) 12:11:23.83ID:PflB23uC0
犯罪者しかいない
2022/06/04(土) 13:57:29.17ID:TJKwYCaXa
>>650
振り込めば出来るよ
振り込み元の口座情報教えて?
2022/06/04(土) 14:58:58.59ID:wH3cIPcT0
納豆の淫行講座が受けられると聞いて飛んで来ました
2022/06/04(土) 20:40:04.18ID:79Fl8QV+0
なんか面白いこと言ったろかと思ったけど
何言っても滑りそうだからやめとくわ( ゚д゚ )
2022/06/04(土) 22:38:04.34ID:TQsMSoJed
PHPをやっててもネットワーク系はさっぱりな人も多いだろうし
659デフォルトの名無しさん (ワッチョイ 2501-yiPH)
垢版 |
2022/06/07(火) 18:37:13.86ID:bAROBF/z0
firefox で php のページを開いた時、 <!DOCTYPE html> を出力する前に include 使うと
This page is in Almost Standards Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
って去年あたりから出るようになったんだけど、これって回避方法ありますか?
クッキー処理を別ファイルにしてそれを読み込むときにこのワーニングが出てます。
色々なサイトで同じようにワーニングだのエラーだのが沢山出てるので
もうこんなの無視して良いんじゃね?とか言われればそれでもいいかなと思ってたりしますけど。
660デフォルトの名無しさん (ワッチョイ d95f-fRoS)
垢版 |
2022/06/08(水) 00:59:03.16ID:hVioIWNy0
PHPで通信対戦のレーシングゲーム作りたいんですが
どうすればいいですか?
2022/06/08(水) 04:43:05.12ID:xGe1158E0
通信やらネットワーク周りはPHPでいいとして
肝心のゲーム部分についてはPHPじゃ作れないので
C系やらJava系やらJavaScript系やらのゲームエンジン使って作って下さい
そうするとだいたい通信部分も言語合わせたくなるので
そもそもの選択肢としてPHPは誤りです
2022/06/08(水) 14:27:02.79ID:PUZQ3BCo0
cake4ってFWとして安定してる?
なんか使うの怖いは。またアップデートされたらたまったものじゃない。
2022/06/09(木) 08:49:58.05ID:dRKOKm+N0
CAの技術ブログ?かなにかで
スマホアプリの開発でPHP使ってる記事があったけど、
PHPで開発できるんだと驚いた記憶がある
もちろん、PHPだけってことはないが
2022/06/09(木) 08:52:21.57ID:dRKOKm+N0
>>662
俺はLaravelに移行したが、アップデート早すぎるので
新規開発できずにしばらく止まってるw

Laravelに限らないが、アップデート間隔短くて
どうやって業務で使うんだろうな?
アップデートするのも相当コスト&リスクが伴うのに
2022/06/09(木) 10:24:58.57ID:a+4juARC0
アプデしなきゃいいという訳にはいかんの?
666デフォルトの名無しさん (ワッチョイ 892f-M86+)
垢版 |
2022/06/09(木) 11:28:18.56ID:WYCVR9XP0
アプデしなきゃいいという訳にはいかんから聞いておるのだ。
2022/06/09(木) 11:34:45.22ID:dRKOKm+N0
>>665
今その状態で、CakePHP2とLaravel6で保守してる。
が、新規開発となると古い技術使い続けるのは駄目だと思ってる。
2022/06/09(木) 16:59:37.05ID:vfvCqMtA0
>>664
やっぱりそれもアップデート頻度高いのか。
FWは便利なんだけど困るな~。アップデートが仕様がおもいっきり変わって一から作るのと工数が変わらなくなってしまう。
2022/06/09(木) 17:01:32.93ID:EdGnGayn0
そこまで大きく変わる事は基本無いし、そもそもフレームワークのアップデートに付いていく必要が無い
2022/06/09(木) 17:21:10.21ID:7N8j8WmDd
Laravelでやることなんて最低限のCRUDぐらいでいいし
細かいバックエンドは別で作ろう
2022/06/10(金) 10:43:35.54ID:Eeri9WSe0
FWアップデートしないとセキュリティ的に脆弱だろ
2022/06/10(金) 14:26:46.80ID:VzHgCPo00
○○○「推奨ブラウザはIEです」
2022/06/10(金) 16:03:06.10ID:RnUkE/Q50
□□□「推奨ブラウザはEdgeのIEモードです」
2022/06/10(金) 20:56:11.07ID:mm17+xhxd
Laravelって社内の管理画面とかに使うもんじゃないの
基本的に一般公開しないだろうしアップデートしなくてもそんなに怖くない
2022/06/10(金) 21:40:27.72ID:XBrTApjW0
>>674
前提、想定、感想、全部間違ってるの草
2022/06/10(金) 22:13:03.50ID:mm17+xhxd
>>675
あーごめん
現場経験無いワナビプログラマー君も居たんだね
2022/06/11(土) 09:56:53.48ID:fia3ygLm0
>>676
素朴な疑問だけど、現場ならLaravelを管理画面のみに使うの?
公開画面はどうするの?vueとかreactでフロント中心?
2022/06/11(土) 15:56:04.69ID:yfI5Z1yf0
Laravelがってわけじゃないけど
アクセスログ見るとFWの脆弱性ついてるんだろうなというようなものが散見される
まあデフォルトのまま使ってない限り問題にならないケースも多いと思うけど
ブラックボックスじゃないものを使う場合それなりに気を使う必要はある
2022/06/11(土) 18:01:19.93ID:Gseb2Mz30
まあそれは全部そう
680デフォルトの名無しさん (オッペケ Sr87-YKvE)
垢版 |
2022/06/13(月) 14:21:42.13ID:xTGrsj3Tr
質問です。

phpに限ったことじゃないですけど、

functionじゃなくて、クラスを使うメリットってなんですか?
2022/06/13(月) 14:28:27.14ID:HDCM56dl0
オブジェクト指向
2022/06/13(月) 15:04:04.11ID:O3UvKZaH0
オブジェクト指向をもう少し噛み砕くと
関数と変数の集合を入れ子にできる
管理しやすいということ
2022/06/13(月) 16:50:29.19ID:xmSM0qKlM
オブジェクト指向は何と言っても継承
初めて実務で使ってすげえ革命的に効率的じゃん思った遠い記憶がある
PHPで使ったこと無いけど
2022/06/13(月) 17:22:16.35ID:XRTwYvhJr
それこそphpのフレームワークのソース見ればそこら中extendsばっかわね
2022/06/14(火) 15:12:04.81ID:2/muA6c70
ひらがなの判定で
$furi = 'む';
if (!preg_match("/^[ぁ-ん]*$/", $furi)) {
echo 'ふりがなではないです';
} else {
echo 'ふりがなです';
}
「む」があるとふりがなでは無いと言われるのはなぜ?

"/^[ぁ-ん]*$/u"の u があると通るけど、これはutfのuだと思うけど
php.netのマニュアルに u の記載ってどこにありますか?
2022/06/14(火) 15:51:37.35ID:ayG70es70
>>685
https://www.php.net/manual/ja/reference.pcre.pattern.modifiers.php
2022/06/14(火) 18:17:12.04ID:2/muA6c70
>>686
パターン修飾子というのか・・ありがとう
他はいけるのにu修飾子が無いと「む」が判定できないのはなぜなんだろう
2022/06/14(火) 18:41:37.63ID:PLP2M16r0
ちょっとググればUTF8でのコードで表記する方法も出てくるし
そんなに悩む問題かと思う
2022/06/15(水) 00:48:24.09ID:6d1QVH5T0
session有効期限の24分後に破棄されなかった場合、
再度破棄の抽選は行われますか?
次のリクエストがあるまでは何も起こりませんか?
2022/06/17(金) 06:33:03.16ID:NY2vFvWg0
>>689
その辺の挙動について調べたのはPHP5.x時代だから7以降で変更があったかどうか知らないが
要求があった際に確か1/100とかの確率で有効期限ぎれのセッションファイルが消去される
1/100ってのはデフォルトの設定なので値を変えて1/1にすれば毎回判定される(おすすめはしないが)
あとセッションファイルをテンポラリとかにおけばOS側でcronで定期的に削除される可能性もあるがこれも設定次第
2022/06/17(金) 07:25:17.47ID:CPX9Pfyj0
>>689
マニュアルを読むといい
https://www.php.net/manual/ja/function.session-gc.php
https://www.php.net/manual/ja/session.configuration.php#ini.session.gc-divisor
2022/06/17(金) 14:20:42.06ID:YIFW3p+8a
include、reqioreでは、__DIR__は使えるのに、<a>タグのhrefでは使えないのは何故でしょうか?
解決策は分かっているのですが、何故hrefではダメなのかを知りたいです。
宜しくお願いします。
2022/06/17(金) 14:25:23.64ID:VkG3j2+b0
例えば、こんな感じです。
<a href="<?php echo __DIR__; ?>/signup.php">リンク先</a>
2022/06/17(金) 16:56:55.16ID:CPX9Pfyj0
>>693
構文的には使用可能です
ただし、一般的にURLを表すパスとしては適切ではありません
URLの指定は、Webサーバ経由でのリクエストとなるので、サーバ内部のファイル・ディレクトリとは別物となります
2022/06/18(土) 16:50:21.35ID:rawXYKw90
>>694
わかりやすい説明ありがとうございます!
696デフォルトの名無しさん (アウアウウー Sa47-ieWP)
垢版 |
2022/06/18(土) 17:10:34.87ID:sJ7C+96oa
複数の外部RSSを取得して表示したいのですが、「全部で~件」という風に複数取得するまでは調べれば出てくるのですが、「RSSごとに取得件数を設定しつつ、複数取得する」というやり方が分かりません。

例えばこのサイトに書いてあるこれを、少しアレンジするだけでできたりするのでしょうか?
https://studio-iwano.com/wp/%E8%A4%87%E6%95%B0%E3%81%AE%E5%A4%96%E9%83%A8rss%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%82%92wordpress%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/
あるいはこっちならいかがでしょうか?
https://web-souko.com/wp-show-rssfeed/

完全にオリジナルでも構いませんので、もし分かる方いたらお願いします。
697デフォルトの名無しさん (ワッチョイ 9bad-QCVq)
垢版 |
2022/06/19(日) 08:49:07.66ID:CNONH7nB0
php 初めてです。自分のパソコンの中で個人的にhtmlファイルを作ってそれをchromeで
読んでいろんなまとめものをしているのですが、
phpを使ってみようと思いhtmlの中で<?php---?>とかやってみましたが
phpをインストしないと使えないとわかりました。そこで質問です。
phpはサーバー側でインストしないと使えないのですか。
私みたいに、私のパソコンの中で使うことはできますか?
2022/06/19(日) 10:00:52.48ID:/swWbj5v0
パソコンにサーバーをインストールしたら使えますよ
699デフォルトの名無しさん (ワッチョイ 9bad-QCVq)
垢版 |
2022/06/19(日) 10:11:01.11ID:CNONH7nB0
それってapacheとかをインストするということですか?
そうして最低のサーバーを構築しないと使えないということですね
2022/06/19(日) 10:47:45.73ID:5VoHj9j+0
個別に入れて環境構築するのが面倒というならXAMPPという便利なものもありますよ
701デフォルトの名無しさん (ワッチョイ 9bad-QCVq)
垢版 |
2022/06/19(日) 11:55:08.42ID:CNONH7nB0
XAMPPですか。ありがとうございます
2022/06/19(日) 12:07:59.24ID:adfa92Aj0
いえいえ
2022/06/19(日) 12:43:40.91ID:dc2y4oRg0
どういたしまして
2022/06/19(日) 12:47:56.43ID:UyBKsI2V0
>>690
>>691

ありがとうございます。
1回だけっぽいですね。
学校とか会社みたいに日中の決まった時間しかいないような場合だと
36000秒の1/1とかにしとけば日中は切断されず翌日は必ず切断って感じにできますね
2022/06/19(日) 12:48:37.97ID:VJrngWmN0
>>697
コマンドプロンプト(DOS窓)を開いて、
 php -S localhost:8080
ってすると、Webサーバ起動できるので、ブラウザで、
 http://localhost:8080/
にアクセスしてごらん。
resource was not found のエラーが表示されるので、index.phpをそのフォルダに作るべし。
2022/06/19(日) 13:11:57.13ID:adfa92Aj0
たぶん、どのフォルダ?って理解になりそう、初心者だと
2022/06/19(日) 13:17:12.01ID:b8ntAizS0
XAMPPをデフォでインストールしたなら C:\XAMPP\htdocs だね。
まあ697ならまずはXAMPPがいいよ。
2022/06/19(日) 14:15:51.45ID:eUZzfAD40
XAMPってバグだらけでずっとつかってないな~
もうバグは落ち着いてるの?
2022/06/19(日) 14:49:15.62ID:b8ntAizS0
>>708
お前の頭がバグってるだけだな
2022/06/19(日) 17:56:47.81ID:adfa92Aj0
ゆうてXamppって本番では使わんよね、、ね?
2022/06/19(日) 19:43:09.31ID:b8ntAizS0
697なら本番XAMPPで問題ないだろ
2022/06/19(日) 22:51:21.29ID:/swWbj5v0
本番ってレンタルサーバにアップするだろ普通は
2022/06/19(日) 23:23:50.58ID:b8ntAizS0
>>712
お前もまず697読んでから言えよ
つか、このスレ相変わらず頭おかしい奴ばっかだな
2022/06/19(日) 23:50:44.17ID:p2eRAqBe0
bitnamiのインストーラのが簡単
2022/06/20(月) 03:46:04.21ID:xQYlAu6h0
初心者はXAMPPかMAMPでいい
本番環境云々とかかなり先の話だし、その時になってまた勉強だ
たぶん、そこまてたどり着かないうちに飽きる
2022/06/20(月) 05:47:17.30ID:D4aRj+3g0
visual studio codeでphpを書いていますが
echoのシングルクォーテーション内でhtmlを書く際にインテリセンスが働かず、
働くようにする方法はないでしょうか?
2022/06/20(月) 14:14:40.56ID:+SBlN13Da
素のhtmlファイルに書いてカッペする?
2022/06/20(月) 15:04:58.22ID:xQYlAu6h0
テンプレートエンジンを使用しよう
2022/06/21(火) 11:57:22.14ID:DFp2dXqe0
>>718
ありがとうございます。
テンプレートエンジン使ってみます。
2022/06/21(火) 18:21:25.20ID:czGhOTSx0
<select>
<option <?php 関数 ?> >A</option>
<option <?php 関数 ?> >B</option>
</select>

こんなのをHTMLでそのまま書くと普通にできるのに、PHPからループで書き出すと「>A」みたいに余計なのがつくんだけどなんなん?

終わりの「?>」いらないの?
2022/06/22(水) 09:21:15.44ID:DwUycaV10
>>720
<select>
<?php foreach ($list as $data) : ?>
<option<?php echo test($data['value']); ?>><?php echo $data['name']; ?></option>
<?php endforeach; ?>
</select>

みたいな感じになってる?
(全角?>は半角に直してくれ)
2022/06/22(水) 18:30:38.44ID:rlEu2V8n0
>>721
PHPファイルの中で関数として書いてhtmlから呼んでる感じ
htmlというかWordPressなのでPHPファイルなんだけど

具体的には変数に入れて関数の返り値として返してる

function select_function() {
for($i = 0; $i < 5; $i++) {
変数 = "<select name = "sel[sel{$i}]">\n"
変数 .= "<option <?php 関数 ?> >A</option>\n"
変数 .= "<option <?php 関数 ?> >B</option>\n"
変数 .= "</select>\n"
}
return 変数
}

関数入れなくて、「<?php ?>」だけでもやっぱりおかしい
PHPかWordPressのバグなんだろうか
セレクトボックス沢山出したいだけなのにえらく苦労してるわ・・・
2022/06/22(水) 18:39:43.06ID:Jiw+YTU4d
変数に代入している式だからHTMLテンプレートじゃないよ。式の中だから<?php ... ?>は効かない。
2022/06/22(水) 19:40:36.64ID:iF+TOYwo0
value=
???
2022/06/22(水) 19:43:29.99ID:iF+TOYwo0
変数.=<<<ENDOFVALUE



ENDOFVALUE;

ヒアドキュメント
2022/06/22(水) 20:15:02.68ID:rlEu2V8n0
>>723
えっまじ?

>>725
こんな書き方があるのか・・・
PHPクセ強すぎだろ・・・
2022/06/22(水) 20:26:38.33ID:SAC2kn2M0
ヒアドキュメントなんてどの言語でもそれほど変わらん気がするけど、どのへんがクセ強なの?
2022/06/22(水) 21:21:01.02ID:abrC6gjkr
ヒアドキュメントでクセってやべえなww
2022/06/22(水) 22:35:18.58ID:DwUycaV10
いやいやいや、>>722のソースがおかしいだろw
forの中でなんで<?php?>があるんだよw
PHPの基礎が知らないのに、WPいじるもんじゃないよ
2022/06/22(水) 22:45:19.47ID:SAC2kn2M0
それはありさんが回答してくれてるやん
おれはクセのほうが気になる
2022/06/22(水) 22:49:02.07ID:nxFbIoP70
もともとPerlにあったんじゃなかったか?
2022/06/23(木) 11:42:39.23ID:tP/EN/ZI0
MVCモデルの学習で、ECサイト作成しています。
ViewやModelにあたるphpファイルを作っています。
模範回答として、controllerのphpごとに、
それぞれのphpファイルを作成するようです。

例えば、
controllerにlogin.phpがあれば、
それに沿うように
Model/login.php
View/login.php
を作成します。

これって実際の現場でも同じような考えで作るのでしょうか?
Viewは仕方ないとしても、Modelも各Controllerに合わせてphpファイルを
つくるものなのでしょうか?

Modelに関するphpはサイトまとめて、ユーザー関数の定義を記述するような構成はダメでしょうか?
2022/06/23(木) 14:39:52.76ID:ylcn6MOw0
ケースバイケースじゃないのかね
ファットコントローラーやファットモデルにならないように、ってのはあるけど
リポジトリパターンとかもあるし、色々調べてみれば?
2022/06/23(木) 14:48:15.44ID:4t7AEZEN0
私はたいてい、DBのテーブル単位にModelのphpクラスを作ります。
テーブルとModelクラスが完全に1対1になることはあまりないけど。

>Modelに関するphpはサイトまとめて、ユーザー関数の定義を記述するような構成はダメでしょうか?
良いと思いますよ。規模が大きくなってきたら分割すればいいのでは?
2022/06/23(木) 21:25:14.94ID:fXDK8XSo0
>>727>>728
こんなん必要ないだろ!

TextBlock

EndTextBlock

にしろ!

>>729
PHP不自由すぎ
結局ヒアドキュメントも意味なくてhtmlの方にゴリゴリPHP書いて解決したわ
ソースがありえないくらい汚い

頭悪いやつが作った言語だな
2022/06/23(木) 22:06:18.64ID:92Nk5hO9d
>>私はたいてい、DBのテーブル単位にModelのphpクラスを作ります。
これが正解だね
2022/06/23(木) 23:20:29.45ID:tP/EN/ZI0
>>733,734,736
ありがとう。参考にさせていただきます。
2022/06/24(金) 05:39:08.52ID:S9bFP26v0
>>735
UWSCか!
…もうちょい釣りやすい餌があっただろうにw
2022/06/24(金) 05:42:08.86ID:S9bFP26v0
>>736
MVC的には不正解だろ
それだとビジネスロジック書く場所がなくなる

ただ、phperでそのうちLaravel使うようになると、純MVCではなくなるからその設計が正解になるけど
2022/06/26(日) 18:09:57.21ID:n9mg7DwO0
DBを
controllerで使う派?
modelで使う派?
2022/06/26(日) 21:49:19.05ID:eqQ4RSEn0
modelだろJK
って言いたいところだけど、DB接続くらいはcontrollerでやってもいいかな
2022/06/26(日) 22:12:05.34ID:9tvF1jx30
JKをモデルにするだと・・
2022/06/29(水) 11:39:42.66ID:par7A0IW0
PHPで以下の書き方を、その下の書き方のように短くできますか
呼び出す側は変えないようにしたいです

public function index()
{
return view('home.index');
}



public function index() => view('home.index');
744デフォルトの名無しさん (ワッチョイ cf10-HBLH)
垢版 |
2022/07/01(金) 18:42:20.55ID:a9lHm9u50
useって無名関数しかダメなんですか?

$people = [
['name' => '太郎', 'age' => 19],
['name' => '洋子', 'age' => 37],
['name' => '美玖', 'age' => 21],
['name' => '信也', 'age' => 15],
['name' => '裕次郎','age' => 45],
['name' => '魁', 'age' => 8],
['name' => '達郎', 'age' => 55],
['name' => '真治', 'age' => 29]
];

function use($people) aaa() {

foreach ($people as $list){
echo $list['name'];
}
}

aaa();
2022/07/01(金) 19:32:16.41ID:x/bCmdBF0
globalキーワードを調べてみれば?
2022/07/03(日) 12:09:49.43ID:2ijg+lGE0
「->」を書く時に、

右手小指で「-」を入力して
左手シフトを押しながら、右手薬指で「>」を入力しますが

指がつって、なかなか慣れずにいます。
もっと楽に書けるような方法はないのでしょうか・・
2022/07/03(日) 13:03:25.24ID:anFeH3zOr
エディタにキーバインドすりゃええ
2022/07/03(日) 14:39:17.65ID:v21iJ1ju0
>>746
右手薬指で「-」を入力して
右手小指でシフト押しながら右手人差し指で「>」を入力
2022/07/03(日) 18:28:55.52ID:lBTOxVpJ0
ちゃんとしたタイピングだとそうなるのかー
ちゃんとしたタイピング身につけなかったから右手はほぼ人差し指と中指しか使ってないようだw

- 右人差し指
左SHIFT 左小手指指
> 右親指
2022/07/03(日) 19:02:08.28ID:yl+S2zI30
自分で新しい演算子を作って使って
置換すればいい
2022/07/05(火) 23:54:45.52ID:mlIv4E/I0
ここって具体的な実装についても聞いていいの?
例えばこういうページを作りたいんだけど、どういう感じのコードを書けばいいのか分からないとか
2022/07/06(水) 00:27:04.21ID:ZfgqKiNk0
質問と言うより作成依頼って印象
2022/07/06(水) 00:40:16.27ID:H65lGu+E0
>>752
作成依頼はここでして大丈夫?
それとも他にもっと適切なスレがあるのかな?
2022/07/06(水) 01:02:43.77ID:+UNND5Qt0
rubyスレにいくといいよ
あそこは初心者にも懇切丁寧に教えてくれる人がいるから
2022/07/06(水) 01:07:58.84ID:H65lGu+E0
>>754
いや、実装に使うのはLaravelなんだけど・・・
2022/07/06(水) 18:49:34.74ID:ArCaexZW0
どのレベルで聞きたいのか具体的に書かないと分からんw
2022/07/06(水) 21:34:15.76ID:H65lGu+E0
>>756
オリジナルWebアプリを作りたいんだけど、いざ白紙の状態から作ろうとすると何も書けない
とりあえず↓の画像のようなViewファイルを作りたいんだけど、誰か教えてくれると助かる・・・
フォーム部分はLaravel CollectiveのFormを使うらしいんだけど、書き方よく分からない
https://i.imgur.com/jmbE8P4.jpg
2022/07/07(木) 03:01:07.03ID:v09znQRZr
まず書籍なり動画学習なり先にやってこいよ
実装聞くって完全にお任せコースだろが
2022/07/07(木) 08:56:43.14ID:XC/q3XneM
金は出すってことじゃね?
2022/07/07(木) 11:56:28.39ID:W1h1ep360
書かせてやるから五千兆円ください
2022/07/07(木) 12:01:03.00ID:+K/WmIxF0
有償でやるなら、きちんとしたサイトがあるだろう
知り合いのつてたよって、企業に依頼する方法もあるだろう
匿名掲示板の、互いに正体不明の相手と金をやり取りって
釣りとしか受け取られない
2022/07/07(木) 14:01:25.87ID:zGORdUl/0
>>757
まずアプリ作る以前にそのHTMLだけを書いてみたら?
見栄えはどうでも良いとしてね
それが出来たらLaravelであればviewファイルを取りあえずHTMLのそのままコピーで置く
それだけだと見るだけなら動くのではないかな?
formのactionにsubmitを押した後の処理の先を設定したりcsrfトークンをhiddenに設定したりなど
色々しないとその先は動かないけど
2022/07/07(木) 14:29:14.38ID:v9nahr6I0
>>757
Laravelはバージョンがたくさんあって分かりづらいけど、
アップデートはそんなに大変じゃないから、
とりあえず本屋行って、わかりやすい本買ってきたら?

俺は6の本買って、MVCやフォーム操作をひと通り学んだ後、
8の開発に取り組んだけど、わりと簡単に移行できたよ。
白紙の状態だと難しいから、本のサンプルを作ってみれば良い
2022/07/07(木) 23:07:56.54ID:5ZJ5CNaUM
お金が無ければ図書館で借りるといいよ
無ければリクエストすれば買ってもらえる
違う言語だけど2冊買ってもらったよ
2022/07/08(金) 17:16:32.65ID:VSfxsSGN0
全く書けないってPHPの基礎がないんだろ
まずは基礎を勉強せい
2022/07/08(金) 18:14:07.53ID:HN9PSfu80
<?php
// ここから
2022/07/08(金) 20:36:30.97ID:PnGjPrQT0
>>757
10万円で作ってやってもいいよ
2022/07/09(土) 08:45:36.64ID:IQ5KkJKH0
どこにでも一定数いるけど
相手に時間に使わせても一向に平気な人間って居る
暇なひとだから教えてくれてるとか
自分に都合の良い解釈ばかりして
相手から搾取することしか考えていない
関わるだけ時間と手間の無駄
2022/07/09(土) 10:27:49.43ID:PplnZEvZ0
でもみんな優しいから答えちゃうよね
2022/07/09(土) 10:46:15.35ID:Pcby8BG30
× やさしいから
○ ひまだから
2022/07/09(土) 10:59:03.05ID:tXKhvlx0d
そりゃ友達には気を使うけど、会社の人間とかお前らなんて搾取さえ出来れば用無しだからな
俺が神でお前らは無償労働してくれる下僕。これからも俺の質問に無償で答えてくれよぉーんw
2022/07/09(土) 11:14:08.43ID:ZmiKKdquM
ただで答えてもらう代わりに罵詈雑言も多々受ける
win winということで
2022/07/09(土) 11:23:46.48ID:tXKhvlx0d
はい。よろしくたくさん罵っていただければありがたいです
2022/07/09(土) 11:23:57.31ID:tXKhvlx0d
はい。たくさん罵っていただければありがたいですって
2022/07/09(土) 11:24:37.57ID:tXKhvlx0d
なんか2回も書き込みミスって恥ずかしいからもうこのスレ見ません
2022/07/09(土) 21:29:47.85ID:4/uWcdff0
× やさしいから
× ひまだから
○ 搾取される体質だから
777デフォルトの名無しさん (ブーイモ MMeb-b3Zl)
垢版 |
2022/07/09(土) 21:55:10.89ID:2vfb2XArM
× やさしいから
× ひまだから
× 搾取される体質だから
○ ハゲだから
2022/07/10(日) 08:14:00.90ID:Y3mkhLDh0
+ JavaScript の質問用スレッド vol.124 +
https://mevius.5ch.net/test/read.cgi/tech/1636525464/922

ここに書いた

すべての初心者がRuby on Rails のMVC から始める。
YouTube で有名な雑食系エンジニア・KENTA が、Laravel, Django をやるなと言ってる

できない人には理由がある。
学習環境が無いから学べない。それに気付けない人は採用されない。
5年勉強しても、Railsを半年やった人に勝てない

予備校へ行かない人は、一流大学に受からないのと同じ。
なぜ受からないのか分からない。
賢くても受からない。アホでも予備校なら受かる

つまり、勉強のやり方がおかしい。
重要なのは何かを勉強する事ではなくて、勉強する方法を勉強すること!

サロン・予備校・学校へ行くとか、独学ならRailsみたいな学習環境が整っているとか。
これを適材適所と言って、ほとんどの企業がRailsを使う理由

例えば、AWS なら12資格あるから勉強できるので、多くの人が使う。
一方、GCP には資格の教科書が売ってないから、勉強できないから使われない

技術選定は、ほとんど学習環境で決まる。
学習環境が無いものは、上達できないから使われない
2022/07/18(月) 00:42:57.26ID:nRKSSOXQ0
長文で頭悪そうなこと書いてると思ったら
やはりRuby君か
2022/07/18(月) 00:54:24.93ID:xr9xASFy0
話し相手募集中
2022/07/20(水) 10:02:55.59ID:3W0tDD5e0
自分勝手な決めつけがすごいw
2022/07/20(水) 11:17:39.69ID:mk+U5vcV0
phpでなに作ったらいいすか(´・ω・`)
アンテナサイトとか、、、
2022/07/20(水) 11:18:59.03ID:PEI2eDla0
自分が欲しいと思うもの
2022/07/20(水) 11:23:09.90ID:mk+U5vcV0
欲しい物がないっすし、大抵は既製品があるすよね?
2022/07/20(水) 11:25:40.96ID:PEI2eDla0
5ちゃんねるよりも軽くて性能の良い匿名掲示板作って
2022/07/20(水) 12:39:03.27ID:c6m4V6D4r
ワイ好みのエロ画像収集するサービス作って
2022/07/20(水) 13:23:59.33ID:PCjwGGDA0
収集ではなく自動生成する方がいいかも(何がだ)
2022/07/20(水) 13:29:48.30ID:mk+U5vcV0
俺の技術で作れないよ(´・ω・`)
2022/07/20(水) 13:51:37.17ID:KDEd4dyg0
webサイト作るより
Unrealエンジンでゲーム作るほうが
楽しいね(´;ω;`)
2022/07/20(水) 15:09:15.23ID:3W0tDD5e0
作る目的分からんのにアドバイスのしようがない
自分のレベルに合うもので好きなの作れよとしかいえん
2022/07/20(水) 15:36:21.54ID:mk+U5vcV0
こういうの面白いよってのありますかね?
2022/07/20(水) 15:59:08.41ID:tWgqxNamM
下ネタに走ると良い
2022/07/20(水) 16:41:05.18ID:cQzOquqy0
オワコンのPHPスレで質問しても有用な回答は得られない。
初心者はRubyから始めること。

こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
2022/07/20(水) 16:54:09.71ID:Si5Gainx0
テキストゲーム?をコマンドラインで作ると楽しいかもね
2022/07/20(水) 17:18:25.12ID:ovQP7BQcd
九九の表をやれば二重ループがわかるようになるぞ。
2022/07/20(水) 17:40:35.04ID:rtySiySx0
>>793
オワコンはRubyガイジのお前w
もう仕事も無くなってきて焦っているのだろうなぁw

あ、お前ニートだったかw
2022/07/20(水) 17:54:08.75ID:3xFjzIuwM
ゲームは集客力あるし儲かるぞ
面白ければな
2022/07/20(水) 18:09:04.61ID:mk+U5vcV0
ゲームはゲームエンジン使いますから、phpの出番ないすよね、、、
2022/07/20(水) 18:13:27.96ID:dmRxss6E0
そこをなんとかすれば伝説になれるかも?
いやごめん
2022/07/20(水) 19:06:00.64ID:3W0tDD5e0
PHPだとゲームは作れないという狭い視野では今後も何もできないだろう
学校の課題か何かか?
ブログでもショッピングカートでも好きなもん作れ
2022/07/20(水) 19:18:58.43ID:mk+U5vcV0
phpだとオンラインゲームくらいでしょう
2022/07/20(水) 19:50:12.17ID:SSFD7/IVd
くらいって言うけどゲームエンジンで作ったオナニーより遥かに儲かるし需要もあるよ
2022/07/20(水) 19:55:48.45ID:PEI2eDla0
対戦ゲームは大変かもしれないが、
マイクラくらいならなんとか出来るのでは
2022/07/20(水) 19:59:11.62ID:xLuB33a90
まあ処理のほとんどはフロントエンドをJavaScriptで書く必要ありそう
2022/07/20(水) 21:41:00.06ID:YqtKa52k0
国取りゲーやら人狼やらサーバーサイドで全部解決できるゲームあったじゃん
806デフォルトの名無しさん (ワッチョイ 0d01-qysg)
垢版 |
2022/07/20(水) 23:12:08.80ID:5dyzzXol0
え?箱庭諸島は?
2022/07/21(木) 10:14:20.14ID:tyA/56lU0
グラブルなんか昔ながらのブラウザゲーだからフロントのjsはあるにしてもPHPがメインという感じだし
今でもバックエンドのAPIでPHPを使うケースも多いしゲームと無関係と言う事はないな
2022/07/21(木) 10:30:56.46ID:V7ED8gxj0
ワイが最初にphpで作ったのはサイトというよりLINEのbotAPIサーバ?やったな
LINEサーバからのWebhookに応じてレスポンスするだけだけど、LINEアプリが色々できるから楽しかった
サーバ周りの費用以外はタダでできたんだけど、色々と勉強になった
ドキュメントは転がってるし公式のは親切だけど、コミュニティは使えない

今ならなんかのフレームワーク使ってラクするかもなあ
2022/07/21(木) 12:04:25.14ID:6Us0HbLd0
PHPでwindowsのguiをぶん回す方法はありますか?
2022/07/21(木) 13:18:09.00ID:EidarcY/r
php8.2ってもうほぼ静的言語並に型指定必須なんだな
2022/07/21(木) 13:26:26.57ID:6fTzlVpta
>>809
tcl/tkのPHPバインドがあるかな?ルック&フィールがお気に召さないかもだけど
2022/07/21(木) 19:37:16.36ID:AaWz2zCN0
>>803
マイクラなんて物量すげえだろ
2022/07/23(土) 15:11:35.76ID:I+MvQiFn0
PHPのforeach文っていうのありますが、
これは、for文のように「構文」と思っていいですかね。
JavaScriptには、forEach()メソッドがありますが、こっちはメソッド
と理解しているので、プログラミングの要素としては別物と考えていいですかね。
2022/07/23(土) 15:34:35.83ID:ujWIoPOW0
https://www.php.net/manual/ja/control-structures.alternative-syntax.php
2022/07/23(土) 16:59:44.63ID:SAR9CpAF0
標準関数における、構文とメソッドの違いって何?
また、コーディングする上でそれを意識する必要あるの?
2022/07/23(土) 17:11:58.06ID:I+MvQiFn0
一つの言語だけ習得して組むなら、慣れでコーディングできるかもしれんけど。
複数の言語を習得するなら、それぞれ言語のルールをきちんと理解したほうが
いいんじゃないかなって思っている。
foreachが構文であるのと、メソッドであるのとはだいぶ考え方が違うんじゃないかな。
とわたしは思うが、他の人はちがうかも。
2022/07/23(土) 17:48:16.11ID:I3z/bn4K0
>>816
構文とメソッドは別物だが、
それ以前に、php.netを読んで分かる事をここで聞くのは間違ってる。
ちゃんと学ぶ気があるのなら、どのみち読む事になるので、最初に全部読んでしまった方が結果的に早い。
他言語と違って頭から読む用に書かれてるし、通読する価値はあるよ。
2022/07/23(土) 17:56:18.60ID:I+MvQiFn0
それはそのとおりなんすけど。
独学だと自分の認識に自信ないので、諸先輩方のご意見は訊きたいなと思う。
スレ汚しごめん。
2022/07/23(土) 18:17:17.53ID:ujWIoPOW0
メソッドとの比較という意味であれば、php の foreach はキーワード
https://www.php.net/manual/ja/reserved.keywords.php
意識する必要はあるけど、意識しなければならない頃には自然に覚えてると思う

キーワードは標準関数とは異なる記述や法則で動くことが多い
よく例としてあげられるのは echo
標準関数である print() との比較は各所でされているので調べてみるといい
2022/07/23(土) 18:27:40.07ID:I3z/bn4K0
>>818
その用途で質問するのは5chの使い方としては正しい。
ただ、それやるならPHPではなくもっとマシだとされてる言語、
一般的にはRustかC#あたりを参考にした方がいい。
多分それなりに整備されてる。
2022/07/23(土) 19:00:05.73ID:PpxI5rKd0
javascriptのforeachはarrayのメソッド
PHPのforeachと似たようなものがjavascriptにはfor ofがあるし
構文とメソッドは書き方がそもそも違うし結構はっきり分かれている気がするのだけどね
2022/07/23(土) 19:05:52.93ID:6YG5e46S0
構文は、アセンブラから作られた関数
関数は、構文や関数から作られたもの
アセンブラからの距離やレイヤーが
考える上で少し大きな値になる
2022/07/23(土) 19:21:12.46ID:KvepzSxm0
アセンブラって各CPUの命令セットのことを指すのか?
飛んでもなく飛躍した話だな
2022/07/23(土) 19:47:56.64ID:6YG5e46S0
CPU命令セット群、
(アセンブラ含む)高級言語群、
高級言語群を使ったOOP群、
リリースアプリ
と考えるとあんまり飛躍でもないかと
2022/07/23(土) 19:49:01.09ID:KvepzSxm0
アセンブラは高級言語ではないだろう
2022/07/23(土) 19:59:26.57ID:6YG5e46S0
2進数のマシン語プログラミングを最底レイヤーのCPU命令セットとする!
2022/07/23(土) 20:35:22.22ID:UFy4BRyjM
アセンブラ仕事でやってたな
生産性激悪だけどコーディングすっごい楽しかった
オブジェクト指向とか無かった時代…
2022/07/23(土) 21:01:48.99ID:ujWIoPOW0
すまん >>819 に嘘が入ってました
printもキーワードです

比較はいろんな記事でしてるんで見てみるといい
https://qiita.com/7968/items/d739e926189e219273bd
とか
2022/07/23(土) 23:08:25.85ID:KoxoTLko0
メソッドはオブジェクトの振る舞い
2022/07/23(土) 23:36:22.72ID:tL21WNHO0
PHPはオブジェクト指向を学ぶのに向いていない。
なんといってもオブジェクト指向を学びやすいのはRuby。

初心者はRubyから始めるべき。

こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
2022/07/24(日) 03:30:00.48ID:JeAOJgnu0
>>828
ありがとう。私にはすごくためになる。

>>830
rubyも少し学習したのですが、WordPressが権勢ふるっていると
私のような文系初心者はphpから学習してとりあえず食えるように
なるのが先じゃないかなあ。
832デフォルトの名無しさん (ワッチョイ 110e-c45x)
垢版 |
2022/07/24(日) 11:28:20.08ID:Q/Hqw/pT0
Rubyはオブジェクト指向を学ぶのに向いていない。
なんといってもオブジェクト指向を学びやすいのはJava。

初心者はJavaから始めるべき。
833デフォルトの名無しさん (ワッチョイ 110e-c45x)
垢版 |
2022/07/24(日) 11:29:54.56ID:Q/Hqw/pT0
Rubyは日本人が作った糞言語で世界では使っている人は全くいない。
われわれプログラマーに余計な学習コストをかけさせて害しかない。
834デフォルトの名無しさん (ワッチョイ 110e-c45x)
垢版 |
2022/07/24(日) 11:30:29.94ID:Q/Hqw/pT0
>>831
そのとおり。
全くの正論。
2022/07/24(日) 23:20:18.46ID:J65kp3AQ0
WordPress は月5万円ぐらい。
一方、Ruby on Rails は月数十万円

仕事の単価が違いすぎる。
だから、YouTube で有名な雑食系エンジニア・KENTA が、PHP をオワコン認定した

PHP用のサロンを作って教えても、5万円ぐらいしか稼げなくて、
教えた方が詐欺師呼ばわりされるから

WordPressの本で、ソースコードが載っている本はない。
一方、Railsの本は、黒田努の3冊の本など、ソースコードばっかり

だから、WordPressではアプリ開発を学べないので上達せず、10年やっても低所得のまま。
Laravel を使っているZOZO も、まともなPHP開発者が集まらず、たぶん終わる

PHPは簡単に出来るはずだという固定概念があるから、客が安く叩いてくる。
客の質が悪いので、どうにもならない
2022/07/25(月) 00:59:08.36ID:mBcdUBse0
Rubyガイジは消えろカス
2022/07/25(月) 01:28:45.15ID:vgZ5FFbz0
句読点に特徴がありすぎるw
2022/07/25(月) 09:44:58.20ID:98RYKbi+0
ワードプレスの実際の現場ってコード書かなくてもいいの?
2022/07/25(月) 09:50:20.76ID:dDJZbaEY0
Rubyガイジが詳しいんじゃね
2022/07/25(月) 10:31:45.81ID:PrMyUv4x0
WordPress はオワコン。
保守が面倒だし単価も安い

そして何よりもPHPは難しい。
初心者はRubyから始めること

WordPressよりRuby on Railsを学ぶのが一番の近道。

こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
2022/07/25(月) 10:51:56.34ID:98RYKbi+0
昔、職業訓練にかよってた頃
講師の人が、「JavaよりPHPのほうがよっぽど難しい」
って言ってた
2022/07/25(月) 11:34:40.96ID:TD+9RuG80
Javaは制約が大きいから、PHPのように自由に書けない
その分書きやすいと言える
他人が書いたコードも解読しやすい
Cobolの様に大勢で手分けしてシステムを組むなら都合が良いかもしれない
2022/07/25(月) 11:58:22.73ID:mBcdUBse0
javascriptもPHPも色んな書き方出来るからねぇ
簡単なようで難しいみたいな矛盾しているけど言い当ててる感じ
2022/07/25(月) 12:02:39.67ID:dDJZbaEY0
Javaより特定のコードの意図が分かりにくい、というのはあるかもしれん
2022/07/25(月) 13:12:57.08ID:9nSm/doa0
初心者から中級者へのステップアップが難しい言語かもねぇ
例えば、最近だと静的型付け言語ばりにかけるけど、その辺ってphpが最初の言語だとちょっと混乱する
common.phpとかdb.phpみたいな関数まとめたファイルの世界からの脱却も少し難しいよね
2022/07/25(月) 23:14:50.76ID:gTrk2zFk0
PHP の客筋が悪い。傲慢で値切る

PHPは簡単だからと、安い金しか払わない。
こういう固定概念

Ruby よりも、ややこしい・可読性が悪いので、保守できない。
そのくせ低賃金

WordPress で簡単に作れるはずだという固定概念。嘘・迷信

こういう客を相手にしない方が良い。
PHPには、こういう客しかいない
2022/07/25(月) 23:26:27.36ID:EHH2FjFC0
つまりPHPで仕事してるんですね
2022/07/25(月) 23:48:56.83ID:vgZ5FFbz0
PHP下げるにしても、
Rubyを対抗馬に出されると説得力がほぼゼロになる
2022/07/26(火) 00:22:24.10ID:TUlvpiox0
Rubyガイジは色んなとこで上から目線でデタラメばら撒くからな
2022/07/26(火) 01:21:02.08ID:QD1mRPl10
JSとデータやりとりするだけのPHPは機能ごとに新しいファイル作っちゃうんだけど、一つにまとめた方が効率的とかあるんかな?
2022/07/26(火) 04:06:22.85ID:9Xrhj23S0
>>850
そのレベルのパフォーマンスを気にするなら、インタプリタを選択してはだめだと思うよ
逆に言うと、インタプリタを選択した時点でそのレベルは誤差になる
むしろキャッシュとかを気にしたほうがいい
852デフォルトの名無しさん (ワッチョイ 5101-R4TS)
垢版 |
2022/07/26(火) 12:46:04.66ID:IrL7txwd0
フリーランス向けエージェント「クラウドテック」会員数8万人突破
〜働きやすい環境構築のため、単価向上・全年齢の活躍の場創出・
地方企業のDX推進の取り組みを強化します〜

フリーランスエンジニア専門の案件一括検索サイト「フリーランススタート」、
累計掲載案件数25万件突破!リモートワークの累計掲載案件数35,000件突破!

新規人材の80%がフルリモート希望! IT人材市況動向レポート2021年12月版を公開

人口移動報告 家賃高い、首都圏脱出 「コロナ禍、仕事フルリモート」

クラウドテック、地方企業向け『クラウドテックDX』を開始、
7万人を超えるDX人材が、地方の非IT企業のDX推進を支援

新潟県、移住してきたテレワーカー/フリーランスに最大50万円を支給

テレワークの一般化により、11月にはテレワーク可能案件83.7%へと増加。
2021年、フリーランスのトレンドは「移住&テレワーク」と予測
2022/07/26(火) 20:50:17.16ID:g1AQ+11Y0
愛国者なら純日本製のRubyだろ
2022/07/26(火) 20:58:32.12ID:od2hcCSg0
TRONを使うことが先
2022/07/26(火) 21:53:49.00ID:1qK2UIrTd
>>853
いやなでしこだろ
俺の会社は愛国者多いから基本的に全部のシステムはなでしこだよ
Rubyじゃまだまだ愛国度合いが足りないね
2022/07/26(火) 22:05:09.87ID:gzC21wu60
PHPからPythonは移行しやすい?
Webサイト作れればいいんだけど、
なんだかんだでPHPが最適な気がしてるんだが
2022/07/26(火) 22:12:11.24ID:QD1mRPl10
>>851
誤差なんか、良かったわ
2022/07/26(火) 22:13:04.69ID:4nABh0qj0
>>856
何をやりたいのかな?
2022/07/26(火) 23:29:07.18ID:khPn0eWd0
webでPythonにする理由があんまりないんだけどねぇ
PHPの方が普通に速いし作りやすくね?
2022/07/26(火) 23:49:53.93ID:chmjCMgN0
PythonでWEBやるのは
サーバ周り全般の知識がそれなりにないと無理だろう
PHPみたいにレンサバにほぼ標準である、ってもんでもないしな
2022/07/27(水) 00:13:58.29ID:epkXPlT/0
昔、MSの翻訳サービスAPIを使って、テキスト入力した日本語を各国語に翻訳するシステム作ったことがあるが
構文解析部分でPythonを利用した
全体はPHPを使ってた
2022/07/27(水) 00:27:12.20ID:LZk+uw73d
>>861
Grammarlyの日本語版サービスを作って欲しいとの依頼がある。作ってくれんカネ。
2022/07/27(水) 01:07:22.45ID:pryBlDtx0
両立できるんだ
2022/07/27(水) 10:18:12.62ID:580eiRpV0
過去にTesseract OCRの実行結果が得たかったからC++でバイナリ作って
PHPから呼び出すみたいなことはやった事あったな
2022/07/27(水) 23:53:01.44ID:QE7zLDmY0
YouTube で有名な雑食系エンジニア・KENTA の動画がある。
未経験からのエンジニア転職の必須教養【技術知識編】

Ruby on Rails 以外のLaravel, Django などを使うなと言っている。
別の動画では、PHP, Scala を使うなとオワコン認定した

転職時に技術選定で、なぜRailsではなく、Laravel, Djangoを選んだのか聞かれて困る。
アホと思われる

文系のキャリアパスは、Rails → Go のみ

理系なら大学院数学科か、
機械学習の資格・AWS Certified Machine Learning - Specialty を取ればよい
2022/08/02(火) 06:18:14.35ID:hrDUjhY90
このおじさんはおなじことずっといってるけどなんかのびょうきなの?
867デフォルトの名無しさん (ワッチョイ 210e-8Om6)
垢版 |
2022/08/02(火) 06:57:20.99ID:O3Sho5i30
YouTube で有名な雑食系エンジニア・KENTA の動画がある。
未経験からのエンジニア転職の必須教養【技術知識編】

Ruby on Rails 以外のLaravel, Django などを使うなと言っている。
別の動画では、PHP, Scala を使うなとオワコン認定した

転職時に技術選定で、なぜRailsではなく、Laravel, Djangoを選んだのか聞かれて困る。
ハゲと思われる

文系のキャリアパスは、Rails → Go のみ

理系なら大学院数学科か、
機械学習の資格・AWS Certified Machine Learning - Specialty を取ればよい
2022/08/02(火) 10:53:47.89ID:P6wsYTww0
vscodeを使用してPHPの学習をしていますが、
文末のセミコロンを打つのにendキーや矢印キーで
文末まで移動してから打ち込むのが手間に感じます。
文中に次の行にctrl+enterのショートカットで移動しつつ
文末のセミコロンを自動的に打つような機能はあるのでしょうか?
2022/08/02(火) 11:06:56.55ID:aTV235290
vimプラグインでも使ってみれば?
2022/08/02(火) 11:51:28.39ID:U12MQk0q0
行末にセミコロンと同じくらい変数先読みして$をつけていただきたい
2022/08/02(火) 12:17:02.54ID:CdLy5L4g0
>>867の書き込みしてる人、Laravelスレで延々とRails上げしてる人だよな
そもそもそのYouTuberもそんな偉そうなこといえるような人じゃないでしょ…
なんかズレてるよなぉ…
2022/08/02(火) 12:24:37.65ID:ttKB/MpV0
病気の人には触らないで
感染します
2022/08/02(火) 18:41:12.86ID:kT225iQs0
file_get_contentsが使えないサバなのですが、cURLで代替する場合
$res = file_get_contents(URL, false, stream_context_create($options));
stream_context_create($options)で指定していた引数を
スムーズにcURLに繋ぐ方法はあるのでしょうか?
そのあたり全て書き直してcurl_setoptしていくしかないですか?
874デフォルトの名無しさん (ワッチョイ 5d01-G1eK)
垢版 |
2022/08/02(火) 18:56:04.05ID:3Auutz710
検索してみた。

KENTA
こばやし けんた
プロレスラー

って出てきた。
2022/08/02(火) 19:12:09.63ID:7bqJGsyk0
>>873
curlなら
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url, // 呼ぶURL
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [],  // ヘッダの指定があるなら必要なものを書く
CURLOPT_HTTPGET => true, // GETならtrue
]);
$response = curl_exec($ch);
こんな感じで良いのでは?
GETでURLにパラメータを付ける場合は
$url .= '?'.http_build_puery($params);
とでもすればいいかと
2022/08/02(火) 20:40:22.17ID:kT225iQs0
>>875
ありがとうございます!
できました!!
2022/08/03(水) 00:53:17.80ID:7Hh7TtP40
いえいえ
2022/08/03(水) 06:59:19.85ID:acnAfCtY0
先日と同様にcURLに置き換える件なのですが、
file_get_contentsを使っていたときは以下をパラメータを入れていました。
$Params = array(
'method' => LOAD_TEST,
'shop_id' => (int)$Id,
'values' => array('date' => date('Y-m-d', strtotime($date)), 'Item_id' => (int)$ItemId),
);
しかし、curlで行うとうまくいかないようです。
curl_setopt($cp, CURLOPT_POSTFIELDS, $postdata );
values配列がない状態ならこのままでもいけるのですが、配列いれた場合どうしたらよいですか?
2022/08/03(水) 07:55:44.29ID:acnAfCtY0
このままだとやはり引数にできないようなので、分解して突破させました
2022/08/03(水) 17:50:02.12ID:KEV/JQVYM
テスツ
2022/08/05(金) 06:50:59.44ID:TB9F20bA0
今日の日記
たかが4万件弱のインポートに2.5秒もかかったのでカッとなって、PDOを継承してPyMySQLからexecutemanyを移植したら0.9秒に、更にいったん配列に貯め込むのでなくジェネレーターを使ったら0.7秒になった。とりあえず満足

今日の気付き
イテレーターの最初の要素にちょっと特別な処理を、残りの全部に同じ処理をするのに、最初の一つをcurrent()で取り出してnext()で進めて、それからforeachで回そうとすると、foreachが最初の要素に巻き戻そうとして、イテレーターがarrayやArrayIteratorだと最初の要素がダブって処理されるし、ジェネレーター等だと致命的エラーになる。避けるには for (;$arg = $args->current(); $args->next()) {} みたいな書き方が必要
2022/08/06(土) 06:58:57.48ID:BobfkcfD0
PHPでデータを取得してTableで並べているのですが、
日毎に取得できる数は異なりますが、横3並びずつ展開していきたいです。
このとき例えばデータが5個だと最下段は2個しかないので表示が崩れます。
同じレイアウトを維持したい場合にはどのように出力していくとよいでしょうか?

<table border>
<tr>
<td>1-1</td>
<td>1-2</td>
<td>1-3</td>
</tr>
<tr>(以下繰り返し)
</tr>
</table>
2022/08/06(土) 08:50:14.41ID:bSoznt/K0
>>882
フロントの話はフロントで調整するのが良さそうですけど、phpで調整するのであれば、あまり箇所に空またはダミーデータを入れてやれば良いです
2022/08/06(土) 15:34:51.65ID:Yn2K8aQP0
>>882
PHPでテーブルの整合性を撮るのは難しい。
初心者にはほぼ不可能

初心者はRubyから始めるべき。

こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
2022/08/06(土) 16:23:38.77ID:Ar28crCLd
データが2個以下の時は空のtd追加するとか、ソース見にくくなるけど
2022/08/06(土) 21:21:05.93ID:hlDXHDkI0
>>881 自己レス
こういうことをやりたいときのために NoRewindIterator ってクラスが用意されてることに、やっと気付いた
2022/08/06(土) 22:59:49.63ID:zZDu6Jm8M
ご返信ありがとうございます。
2022/08/11(木) 10:46:16.89ID:0BxGOtic0
$Url = (($_SERVER['HTTPS'] == 'on') ? 'https://': 'http://').$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
これでエラーにならないサーバーもありますが、エラーがでるサーバーはどう対処しておくべきなのでしょうか?
Warning: Undefined array key "HTTPS"
2022/08/11(木) 11:02:35.41ID:8QSgN6DL0
事前にkeyが存在しているか確認するのが王道
エラーを抑止するのが古の手法
2022/08/11(木) 16:12:08.23ID:UyWxre5N0
https://www.php.net/manual/ja/reserved.variables.server.php

'HTTPS'
スクリプトが HTTPS プロトコルを通じて実行されている場合に 空でない値が設定されます。
と書いてあるのだからhttpなら何も入ってないのでは?
2022/08/13(土) 13:25:21.27ID:SX+jBaiR0
スクラッチのPHPをHTMLに埋め込む(言い方あってるかな?)時、HTMLとPHPのインデント分けろって聴いたんだけど理由はHTMLとPHPでちゃんと区別するためってことでいいの?

あと他に記述ルールってある?
2022/08/13(土) 13:35:24.86ID:Sx7fwAOx0
> HTMLとPHPのインデント分けろって聴いたんだけど理由はHTMLとPHPでちゃんと区別するためってことでいいの?

言ったやつに聞け

> あと他に記述ルールってある?

ビューとロジックを分けて書け
テンプレートエンジンを使うのが普通
2022/08/13(土) 17:07:44.94ID:jipG2YmX0
HTMLとプログラミング言語を混在させるというPHPの発想がそもそものまちがえ。
それにPHPは難解で難しい

初心者にはほぼ理解不可能
初心者はRubyを学んでRuby on Railsを習得するのが一番の近道。


こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
2022/08/13(土) 19:18:22.22ID:V/oZh/2S0
まちがえ
2022/08/17(水) 01:00:39.74ID:6K+CIS1G0
Rubyとかいうキチガイになる言語やってなくてよかった
とつくづく思う
896デフォルトの名無しさん (ワッチョイ 8206-O3lh)
垢版 |
2022/08/18(木) 10:03:03.04ID:hYUN2Kgy0
初心者です。教えて下さい。
PHPでSQLのWHERE句を作成中ですが、 str_replaceが思うように機能せず
WHERE句の整理ができません。
$sql = str_replace(") )", ")", $sql);

なんで?
2022/08/18(木) 10:53:18.75ID:nlnT+nAS0
rubyでやるなら sql.gsub!("\)\)", ")")

PHPで文字列置換は難しい。
初心者にはほぼ不可能

初心者はRubyから始めるべき。

こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
2022/08/18(木) 11:43:51.71ID:FZFlEvPV0
>>896
SQL文を動的に作るのはそもそも間違っている
PDO::prepare()を使って値はexecute()でバインドしろ

>>897
は?w
PHPの事知らんのに書き込むなよカス
2022/08/18(木) 12:13:18.20ID:loid3+510
>>898
> SQL文を動的に作るのはそもそも間違っている

ちんばんじーの方ですか?
2022/08/18(木) 12:15:22.58ID:FZFlEvPV0
>>899
お前チンパンジー以下のアメーバだろw
2022/08/18(木) 13:37:35.89ID:zCJ6rmCL0
少なくともphpのスレにRubyの回答を書き込むのは間違っている
2022/08/18(木) 15:00:59.42ID:gpYoA8jL0
pythonに惨敗したからってphpをターゲットにするのは節操無さすぎ
2022/08/18(木) 16:50:58.27ID:7QCRAYLO0
句点Rubyおじなので許してあげてください
2022/08/18(木) 17:47:23.42ID:E6+QXrSta
なぜか日本人ってPHP好きだけど今更whileだとかsubstrなんとか書いてる場合じゃないやろ
2022/08/19(金) 08:15:45.62ID:RKrUVLa60
>>900

やっぱりちんばんじーの方ですね?
2022/08/19(金) 08:30:48.74ID:hrPa3YAYr
Rubyの巣に帰れよ
2022/08/20(土) 01:01:14.29ID:BI8i3IHnM
execute(値)にするのと、
bindvalueにいれてexecute()するのって違いありますか?
2022/08/20(土) 02:40:15.24ID:Pjxfd05Y0
マニュアル見れば書いてるけど
executeの引数でやる場合は全てPDO::PARAM_STRで処理されるってこと
2022/08/21(日) 10:16:00.38ID:gazEjFW30
IFとFORさえ覚えれば、たいていのシステム作れるだろ
2022/08/21(日) 16:24:41.91ID:fxISK6jup
>>909

ちんばんじーの方ですか?
2022/08/21(日) 17:17:30.64ID:zciKMG28M
goto文が無い言語はクソ
2022/08/21(日) 18:58:33.34ID:mTMfTXcwd
システムとは基本的に現実世界の出来事を仮想世界に移したものである
つまり人間の営みの大部分はifとforを表現出来る

俺らはifとforで生きている
2022/08/21(日) 19:49:49.96ID:/n0rYPAY0
時を基準に
垂直に分割するとif
平行に分割するとfor
2022/08/21(日) 19:51:20.83ID:QgiBi/kL0
時を掛け算する少女
2022/08/21(日) 19:51:36.61ID:YkHltzb10
>>910
おじはRubyスレに帰ってろ
Laravelスレで負けすぎてアレルギー出たのかもしれんがw
2022/08/21(日) 20:08:29.83ID:wl7qNZ2S0
gosubはくれ
2022/08/21(日) 22:27:16.72ID:eTjJkk/Q0
もし私が生きていたら死ぬまで生き続ける
2022/08/25(木) 08:10:25.83ID:cG++4RkZM
プログラム初心者で、開発したはいいけどユニットテストってのをどうやればいいかわからない。PHPUnitってやつを勉強すればいいの?
2022/08/25(木) 09:33:17.81ID:GV4MPWBa0
そうです
2022/08/25(木) 11:10:01.39ID:heRMyD+r0
rubyにはTest::Unitというライブラリがある。

gem install test-unit で簡単にインストールできる

require 'test/unit'したら
Test::Unit::TestCaseを継承したクラスを作る。
testで始まるメッソドを作ってassertで結果を比べる。

PHPでユニットテストは難しい。
初心者にはほぼ不可能

初心者はRubyから学習を始めるべき。
そしてRubi on Railsを習得すればPHPは不要

こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
2022/08/25(木) 11:13:28.18ID:iqB4j8J+0
今日もまだ生きてるぞ
2022/08/25(木) 14:49:04.19ID:hXEJOwJJM
ライブラリ便利そうだけど、今更rubyに変えられないからphpで頑張るわ
2022/08/25(木) 15:32:48.32ID:GV4MPWBaH
PHPでもLaravelとか使えば同じでは?
2022/08/25(木) 16:50:21.79ID:WIenj4cIH
Laravel使えないサーバーもまだ多いのが問題なのかも
2022/08/25(木) 16:54:20.42ID:iqB4j8J+0
昭和十年十二月十日に
ぼくは不完全な死体として生まれ
何十年かかゝって
完全な死体となるのである
2022/08/25(木) 18:51:47.54ID:GV4MPWBaH
Laravel使えないならRailsも使えんだろうしなぁ
ユニットテスト云々以前の問題のような
2022/08/25(木) 20:03:05.12ID:BRCxE1d+0
wordpressに対応しないでください…
2022/08/26(金) 06:38:37.45ID:MROGQRE10
2022/2/3
2022-02-03
スラッシュ形式保存されてる内閣府の祝日CSVですが、
桁揃えてハイフン形式になおしたいです。
どうすればいいですか?
2022/08/26(金) 07:24:25.37ID:MROGQRE10
>>928
自決
2022/08/26(金) 11:55:44.04ID:a/x93rb70
>>928
vsprintf('%d-%02d-%02d', explode('/', '2022/2/3'))
931デフォルトの名無しさん (ワッチョイ 7fda-oOo3)
垢版 |
2022/08/26(金) 13:17:02.67ID:4wt+rugM0
>>930
vsprintfのマニュアルの戻り値の説明に
「 format に基づき、 フォーマットされた文字列の配列を返します。 」とありますが「文字列の配列」という意味がわかりません。
戻り値は文字列で配列ではないように思うのですが違うのでしょうか?

https://www.php.net/manual/ja/function.vsprintf.php#refsect1-function.vsprintf-returnvalues
2022/08/26(金) 13:26:19.15ID:b66GPlrN0
内部で文字列から配列に変換してからフォーマットする
型がない言語(型推論)だから戻り値を使うまでは配列
2022/08/26(金) 14:10:02.84ID:a/x93rb70
>>931
その日本語、英語版( ttps://www.php.net/manual/en/function.vsprintf.php )原文の
> Return array values as a formatted string according to format.
から「values」に相当する部分が抜けてるような気が。抜けてなくてもなんかよく分からん表現だが

まぁ気になるんなら、戻り値が「フォーマット済みの日付文字列」「formatted date string」と明示されてる
DateTime::createFromFormat('Y/m/d', '2022/2/3')->format('Y-m-d')
を使ってみるとか
934デフォルトの名無しさん (ワッチョイ 7fda-oOo3)
垢版 |
2022/08/26(金) 16:07:35.09ID:4wt+rugM0
Return array values as a formatted string according to format.
DeepLで翻訳したら

配列の値をformatにしたがって整形した文字列として返す。

となりました。多分これが正解だと思います。

英語版のマニュアルの見出しにも
vsprintf
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
vsprintf — Return a formatted string

とあるのでやはり戻り値はフォーマットされた文字列でおkですよね?
2022/08/26(金) 17:35:03.11ID:a/x93rb70
「ですよね」と言われても、マニュアルに書いてある以上の情報なんて持ってないしな
てか、なんで試さないの? var_dump()してstringが返ってくるかどうか、30秒で確認できるっしょ
936デフォルトの名無しさん (ワッチョイ 7f1f-oOo3)
垢版 |
2022/08/26(金) 17:52:53.92ID:8DGxFkjA0
>>935
そんなのとっくにやってますよ。
マニュアルがおかしいんじゃないかっていう意味で聞いたんですけどね。
ソースに当たってみました。
やはり返り値は文字列ですね。
https://github.com/php/php-src/blob/23e6856e41cb7e8e29c3824ad53b26c0a57f4da0/ext/standard/formatted_print.c
2022/08/26(金) 18:34:59.55ID:AOSBa6FO0
なんでそんな誤訳(?)したんだろうね
確認お疲れさまでした

マニュアルはGitHub管理のはずなのでPR出しておくと修正されるよ
2022/08/26(金) 19:00:30.76ID:aLr+AxJ9M
このスレ、>>934から「文字列で返ることは確認済み、問題にしてるのはマニュア
ルの記述だ」と読み取らないと質問者様のお怒りを招くのか。レベル高いな
2022/08/26(金) 19:15:45.56ID:S8Vleaqc0
我らは試されているのだ
2022/08/26(金) 20:02:27.99ID:8ESD7+yH0
>>932なんて完全なアホだし
>>933もよく分かってないだろう
知ったかぶりして回答しないことだなw
2022/08/26(金) 20:09:08.43ID:27BJw2950
PHPのドキュメントは翻訳だから間違いがあるのはしょうがない。
その点Rubyは開発者が日本人だから日本語ドキュメントも完璧。

初心者がドキュメントの正誤判断することは不可能
初心者はRubyから学習を始めるべき。
そしてRubi on Railsを習得すればPHPは不要

こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
2022/08/26(金) 20:25:26.88ID:b66GPlrN0
>>940
私はphp言語の開発者です
お前はphpの使用禁止
2022/08/27(土) 05:59:08.06ID:fRqWQAA00
>>942
日本語お上手ですね
どなたですか?
https://thephp.foundation/blog/2022/03/31/the-php-foundation-update-march-2022/
2022/08/27(土) 07:25:49.03ID:jzDPthdr0
ドット演算子、アロー演算子を作った人なので
今はコア開発者ではありませんよ
2022/08/27(土) 07:51:30.13ID:fRqWQAA00
てことはレジェンドじゃないですか!
Andi さん?Zeev さん?
まさかの Rasmus さん?
2022/08/27(土) 10:53:28.68ID:jzDPthdr0
誰を名乗っても問題ありませんので誰でも良いですが
まあ、完全なアホというのは良くないですよ
というか、アホは完全でないからアホですよね
つまり私はある種完全性を肯定されました
ありがとうございます
2022/08/27(土) 16:24:36.45ID:4Qb5g2XJ0
夏休みだなあ
2022/08/31(水) 02:14:29.44ID:NHfTTCA80
知らんうちにPOSIX系関数の返り値が多次元化されてたのね。preg_matchとか。
2022/08/31(水) 13:21:22.49ID:RpICLcti0
WordPressの管理画面にログインもしていないのに
サイト更新が完了しましたメールが届きます。

これってどういう仕組みで実現してるんですか?
Cronで実行用のファイルを動作させないと無理ですよね?
2022/08/31(水) 13:26:41.54ID:0bu00RjS0
別にcronじゃなくてもいい
誰かがサイトにアクセスしたらサイト更新チェックのトリガーが発動とかでもできる
2022/08/31(水) 14:56:28.92ID:2/ZssPvh0
Cronで、何が変更されたか全体を調べて通知するよりも
変更をトリガーにして通知を送らせる方が、多分軽い
2022/08/31(水) 21:04:09.52ID:RpICLcti0
>>950
PHPって同期通信だから、誰かのアクセスが遅延したりするんですか?

>>951
全体を調べなくても、バージョン情報だけ調べれば良いのでは
2022/08/31(水) 22:37:17.82ID:0bu00RjS0
>>952
PHPでも非同期処理できるし、遅延はほとんどなしにできるでしょ
2022/08/31(水) 23:07:38.07ID:frCvHqxU0
スレ違いのクソレスしか能がない御方には難しすぎるな…
2022/08/31(水) 23:14:07.18ID:2/ZssPvh0
悪意のあるひっかけだったんだ
2022/09/01(木) 08:27:02.20ID:5Hoki9RX0
>>953
つまり、考え方としては
1)WordPressの公開画面に誰かがアクセスする
2)Ajaxなどで非同期処理して更新チェック
3)更新する必要がある場合は、自動更新

って仕様なんですかね?
であるならば、WordPress以外のPHPアプリでもできそうですね
2022/09/01(木) 10:56:30.21ID:z98R98W20
>>956
Ajaxなんか使わなくてもPHPのexec()だけで非同期処理できる
あとはそんな感じ
もちろん実装の一例で、それ以外の方法もあるだろう
2022/09/01(木) 22:43:07.28ID:5Hoki9RX0
>>957
わかりました。調べてみます。ありがとうございました。
2022/09/02(金) 00:01:20.44ID:tq/iSZ/+0
いえいえ
2022/09/10(土) 15:24:58.45ID:3OR0LZqv0
pdoとプリアドステートメントというのをやってみたのですが

$stmt = $pdo->prepare("クエリ文");
$stmt->bindValue(・・・)
$stmt->execute();
ここでDBにアクセスしていると思いますが、

行数を数える $stmt->fetchColumn()

foreach ($stmt->fetchAll() as $row) {
を使う時はDBにアクセスしているのでしょうか?

一旦 $result = $stmt->execute();
みたいに結果を変数に入れてから
$result->fetchColumn()
$result->fetchAll()
のような使い方をすればいいのでしょうか?
2022/09/10(土) 20:11:18.23ID:MysCJx+R0
PDOStatement::execute() の戻り値は成否を表すboolなので
$result = $stmt->execute();
は結果セットの取り出しとは無関係です

:execute()されるとPDOStatement:に結果セットがセットされます
fetch~は結果セットから取り出すメソッドなのでDBアクセスは伴いません

マニュアルを読んで実験してみるよ良いですよ
962デフォルトの名無しさん (ワッチョイ ea51-AnFa)
垢版 |
2022/09/12(月) 12:44:00.88ID:PWuvGxZT0
Symfonyってもう最近使われないですか?
10年前にSymfonyで作られたWebアプリの保守の案件があるのですが
2022/09/12(月) 12:51:41.95ID:S31S8+BV0
少しは調べろ
964デフォルトの名無しさん (ワッチョイ ea51-AnFa)
垢版 |
2022/09/12(月) 13:07:20.58ID:PWuvGxZT0
>>963
ぐぐっても2006年の資料とか・・・

2019年に最新版は出ているみたいですが、新しい資料じたいがあまり無いゆえ。
2022/09/12(月) 13:17:36.74ID:S31S8+BV0
wikipedia やそこから辿れる公式すら見てねぇじゃねぇか
エンジニアになりたかったらまずは公式読めるようになれ
2022/09/12(月) 14:21:38.34ID:Ynnd8wx/0
>>961
アロー演算子というのに全く慣れていなくて
$stmt->bindValue(・・・)
$stmt->execute();
->を使うと$stmtというのが上書きされていく感じでしょうか?

昔は手続き型を使っていたので
$resultに結果を入れて、あれこれやっていましたが
この -> が変数に代入することなく使えるのが不思議な感じです

もう少しマニュアル読んでみます
https://www.php.net/manual/ja/pdo.prepared-statements.php
2022/09/12(月) 23:14:41.96ID:H6EQTEjA0
なんで.じゃダメだったのかなぁ…
中途半端にPerl構文引き継いだせいで面倒なことに…
2022/09/13(火) 01:04:23.23ID:k/lRopxK0
文字列の連結に使ってるからでしょ。
文字変数と、文字列を返す関数、この2つの項の文字列としての連結と区分けが付かなくなるじゃん。

インスタンス自体も文字列評価可能なんだし。
2022/09/13(火) 01:45:06.58ID:d4v/1ArY0
>>967
-> はC由来で . はPerl由来か?
プログラミング言語とスクリプト言語を中途半端に交ぜたからだね
文字列連結も + のほうが分かりやすいしそうするべきだったかと
2022/09/13(火) 03:02:48.59ID:k/lRopxK0
アローもドットも:: も全部C++由来では。
C++自体別から引用してるだろけど、
3つか揃い踏みしたトップランクな有名言語はC++だろう。

ポインタ経由、実態経由、クラス経由で記述を分けた。

結局分けないPythonやC#みたいな言語の方が書きやすいという...
2022/09/13(火) 08:20:07.32ID:d4v/1ArY0
>>970
お前がまるで分かってない事だけは分かった
2022/09/13(火) 11:25:42.23ID:k/lRopxK0
どっか間違ってるの?
2022/09/13(火) 11:44:23.05ID:1xD6R/mV0
ドット演算子はCobolの頃からある
2022/09/13(火) 11:46:51.82ID:Gwjyu6tY0
変数型宣言がない言語で+で文字連結できちゃうとバグの温床になる
2022/09/13(火) 11:48:10.80ID:k/lRopxK0
だから、個々は別から引用したかもしれんが、
3つ揃い踏みしたトップランクメジャー言語はと書いてるじゃないか。
2022/09/13(火) 11:49:48.73ID:1xD6R/mV0
あ、ごめん
間違いだ
2022/09/13(火) 12:58:34.49ID:d4v/1ArY0
>>976
COBOLは & らしい。気持ちは分かるが今となっては糞仕様だな。

>>974
それはJSのことを言ってるのか?
ただそれはない。
数値型の変数はほぼ全部のケースで変数名で数値だと明確であり、そこはバグらない。
countやlength、num_of_xxxを文字列で扱う馬鹿はそれ以前の問題だ。
2022/09/13(火) 13:58:56.46ID:CtcsooHUF
テンプレートリテラル{}使うか.による文字列結合使うかの判断がちゃんと出来ない
今の所ラクな方選んでるだけだな
2022/09/17(土) 18:54:08.82ID:X8JZx5Pn0
それでいいわ。強いて言うならエスケープしないで済む方
2022/09/19(月) 12:37:28.97ID:TYV9CYn40
PHPの学習で、トランザクション勉強していますが。
おおざっぱに、「一連のクエリ処理を一つの処理と見立てて、途中失敗したら最初からなかったことにする」
機能かと思います。
で、課題として、簡単なECサイト作っています。
一般の利用者が商品を選択しカートを入れ、お金を払って買い上げるのようなものです。
テーブルは「カート」「商品情報」「利用者」「在庫情報」です。(ほんとは英字です。)
利用者が購入に失敗したら、ロールバックで購入が無かったことにします。
ここで、一連のクエリ処理というのは、「商品を選びカートに入れる」というところから始まるのでしょうか?
「商品を選びカートに入れる」という行為と、「カートにある商品を買う」という行為を
わけて、「カートにある商品を買う」について、トランザクションを設定するものでしょうか?

すいません。意味とおりますかね。。よろしくお願いします。
2022/09/19(月) 13:12:25.33ID:9xLKPVoG0
単に最後の購入処理で途中でエラーが発生して整合性が取れない時に
ロールバックするぐらいのイメージで良いのでは?
途中のカートに追加するような処理はそれ単体で失敗すればロールバックかなと
(この場合、カートに追加する処理に失敗したという事でカートは前のまま)
2022/09/19(月) 13:18:10.02ID:k2Lhsy4nd
カートに入れるところからトランザクション始めたら買われるまで一連の処理終われないし、途中でタイムアウトするやろw
2022/09/19(月) 13:19:16.24ID:zeLiCYh20
カートに入れる処理はトランザクション二する必要がない
利用者が自分の意志で取り消すケースもあるわけだし
必要なのは、利用者が決定ボタンを押して、購入完了になるプロセスくらいじゃないかな
一つしかない商品を他の利用者と競合して購入したかもしれないし
複数種類を購入した際に、一つが在庫不足になってたかもしれない
そういうときに、決定ボタンを押す直前までロールバックが必要になる
2022/09/19(月) 14:16:17.85ID:8Jf173KW0
トランザクションとかセッションとかは文脈で定義される範囲が変わるのでちゃんと意識して書いたほうがいい

その上で、今回はDBのトランザクションのことだとエスパーして回答すると設定される範囲は間違い
記述がないので何をトランザクション処理として設定するかは回答できないけど、「ユーザの決済処理」「在庫処理」あたりがひとまとまりになると思う

入門書で記述されるトランザクションとついでにプリペアドステートメント(プレースホルダ)処理はデータベース側の処理なので入門書から離れてデータベース側の処理をデータベースの公式を参照しながら学習すると良い
2022/09/19(月) 16:01:50.25ID:TYV9CYn40
みなさんありがとうございました。
良くわかりました!
986デフォルトの名無しさん (ワッチョイ ff97-W3aP)
垢版 |
2022/09/20(火) 00:39:07.48ID:Sb2Kpzh+0
phpmyadmin にINT型でUNSIGNED(整数マイナスを除く)に設定したカラムがあります。
直接phpmyadmin上でこのカラムのデータに対して、SQL文でマイナスの値をUPDATEしようとすると

以下のようなアラートが返ってきます。ただし、データは0の値になります。
Warning: #1264 Out of range value for column 'test_int' at row 7

phpから、PDO接続で同じようにUPDATEしたとき、エラーとさせて入力を拒否したいのですが方法がありますでしょうか?

try-catch文で、以下のようにしたものの、ただ値が0になるだけしかなりませんでした。
良いアイデアがあれば教えてください。

$a =-100;
try {
$ps = $db->prepare("UPDATE tb2 SET test_int = :a WHERE nam = 'タヌキ'");
$ps->bindParam(":a", $a);
$ps->execute();
echo "UPDATE成功";
}
catch (RangeException $e){
echo "UPDATE失敗";
}
2022/09/20(火) 09:09:20.54ID:Sk0Tcp2N0
UPDATE以前二範囲チェックをPHPで行えば?
2022/09/20(火) 09:18:10.74ID:fhvmpEXe0
試してないけどMySQL側に警告じゃなくてエラーを返すモードがあるみたい
https://dev.mysql.com/doc/refman/8.0/ja/sql-mode.html

TRADITIONAL を有効にすることでエラーを返すようになるみたい
2022/09/20(火) 12:21:17.30ID:F74Rs01Q0
事前チェックが嫌な理由はなんだろ
2022/09/20(火) 15:40:51.68ID:r8LO5qc30
普通はバリデーションをしてSQLでエラーにならない値を設定するかなと
SQLでのエラーは想定外の事が起きた場合に限る感じ
2022/09/20(火) 15:44:19.38ID:Sb2Kpzh+0
ありがとうございます。

事前チェックが良いですね。ありがとうございます。

データベースからのエラーを拾いたいのは、
トランザクションのコミットかロールバックの判断を
try-catchで補足しないといけないかと、
勝手に思っていたからです。
(多くの参考書がtry-catch文で判断していたから)

でも、処理毎にエラー文を配列に格納して、
最後の処理の後に、配列の内容の有無を確認して、
トランザクションの判断をすればいいですね。
2022/09/20(火) 15:59:12.72ID:Sk0Tcp2N0
トランザクション処理でその様なエラーを拾わせるって
まずくね?
たぶん、クライアントから受け取ったデータだと思うし、
それって単独で許容値かどうかを判断出来ると思うんだよ
Web画面経由なら、クライアント画面にエラー表示させて
再入力を促せると思うんだ
そうすればどう言うエラーか判断する必要もないよね
2022/09/20(火) 15:59:16.45ID:r8LO5qc30
バリデーション
 問題があればここでエラーを返し下の処理はしない
try{
トランザクション開始
SQL実行
コミット
}catch(Exception e) {
ロールバック
DBでエラーが発生した事を返す
}
正常終了
2022/09/20(火) 16:20:00.83ID:Sb2Kpzh+0
入力の例外値などは、
トランザクションで判別させるようなものじゃない。
ってことですか?
2022/09/20(火) 16:27:13.11ID:Sb2Kpzh+0
トランザクションの判別は、何か想定外の問題が起きた時であって、
想定されるような問題は事前になんとかしとけということかな。
2022/09/20(火) 16:33:06.67ID:Sk0Tcp2N0
トランザクションで判定しないと行けないのは、
リソースの取り合いがあるときやDB自身の障害など
DB側でしか分からないようなケースだな
2022/09/20(火) 16:36:01.02ID:Sb2Kpzh+0
ありがとうございます。
ということは、トランザクションは、
try-catch文で例外判断するのが一般的なのですね。
998デフォルトの名無しさん (ワッチョイ 97da-E+l9)
垢版 |
2022/09/20(火) 23:33:16.97ID:k4MHQr8J0
クラスのファイル名の拡張子に .inc を使うのは
今の時代では許されてないの?
許されるなら .inc を使い続けたい
2022/09/21(水) 00:13:56.09ID:9N/hP2WI0
次スレ立ってた
【PHP】下らねぇ質問はここに書き込みやがれ 14
https://mevius.5ch.net/test/read.cgi/tech/1663659983/


>>998
まずはPSR-0や4を調べてもらって、その上でincにしたいと言うなら
個人の趣味開発くらいなら自由にしたら良いと思う
2022/09/21(水) 13:48:44.07ID:kTmMqKR00
>>999
PSR-0を読んで、そういや .incはダメって書いてねーな・・・ と思ったので聞いてみました!

1000なら許される
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 377日 4時間 10分 1秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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