X



【PHP】下らねぇ質問はここに書き込みやがれ 13
レス数が1000を超えています。これ以上書き込みはできません。
0003PHPerは糞 (ワッチョイ 157b-D/wW)
垢版 |
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では引数が逆順の事が多い(と感じるのは目立つからか?)のだが、
いっそのこと全部逆順で統一することにしたのかこれ?
だとするとこの判断は多分間違いだが。
0004デフォルトの名無しさん (ワッチョイ a502-SlgL)
垢版 |
2021/09/11(土) 22:02:19.71ID:6a6nmo8y0
$hogehoge = str_replace('/hoge/', '/hage/', $hogehoge);

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

'/ho/ge/', '/ha/ge/'という書き方では色は変わりません
関数的にも正規表現は使わないから問題ないですよね?
0007デフォルトの名無しさん (ワッチョイ aa40-dGLa)
垢版 |
2021/09/15(水) 16:18:30.59ID:no+CVFvb0
最近phpを始めたので良く分からない事があります。
phpでUNIXTIMEで時刻を表示させたいのですが、上手く行きません。
php.iniで"date_timezoneをAsia/tokyo"にしているのですが、適応されません。
スクリプトに"date_default_timezone_set(Asia/tokyo)"と記述すると、適応されます。
これは、何故ですか?
0013デフォルトの名無しさん (ワッチョイ 9f5e-qDHA)
垢版 |
2021/09/18(土) 03:39:54.49ID:YPBxfQEw0
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
0015デフォルトの名無しさん (ワッチョイ b7da-qDHA)
垢版 |
2021/09/18(土) 18:15:41.51ID:J85RgKD50
頭のおかしい人に以下のようなことを言われました

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

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


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

どこでそんなルールが決まっているのでしょうか?
0019デフォルトの名無しさん (アウアウウー Sa5b-ONKb)
垢版 |
2021/09/19(日) 00:51:49.84ID:fnxaYwyoa
>>15
https://ja.meta.stackoverflow.com/questions/2418/
マルチポストをする場合、回答への返信や質問の追記を、
質問した 全て のサイトで行って欲しいと考える回答者が多いです。
しかしそのようなことはさすがに手間であるためか、
質問を最初に投稿したっきりになり、
そのまま放置されてしまう場合が多いため、
マルチポストは問題視されています。
0020デフォルトの名無しさん (ワッチョイ ff2c-KTs0)
垢版 |
2021/09/19(日) 19:44:29.18ID:qW280KJJ0
駆け出しの個人開発者だけど個人ウェブサイトをVipで宣伝したらちょっと流行った、前スレで教えてくれた人ありがとう
0021デフォルトの名無しさん (ワッチョイ 9f00-qDHA)
垢版 |
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);
}
?>
0023デフォルトの名無しさん (ワッチョイ d702-CTom)
垢版 |
2021/09/22(水) 18:32:15.96ID:xitJj1300
ファイル書き込みには上書きか追記しか存在しません
逆に言えば挿入は存在しません

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

コメント表示処理を工夫しましょう
0029デフォルトの名無しさん (ワッチョイ 9f7c-EMRP)
垢版 |
2021/09/23(木) 17:40:06.96ID:b7X8Cq1u0
>>28
勿論ファイル操作も知っていて当然ではあるけどね
ファイルのアップロード機能とかあれば扱う事もあるけれど
昔に比べたらファイルを直接操作するような事は減ってる気はする
0031デフォルトの名無しさん (ワッチョイ 1289-7UIf)
垢版 |
2021/09/25(土) 10:45:53.82ID:V3oZw04J0
失礼します
フォームを送信した後に他のページに飛ぶようにしたいです。

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

一時的にpostでなくgetにするとurlに表示されるからデータが飛んでるどうかは分かりやすいよ
0037デフォルトの名無しさん (ワッチョイ 1289-t/PR)
垢版 |
2021/09/26(日) 22:47:22.91ID:LZJ/cTAw0
name属性がなかったので付けたら解決しました!
ご教示くださりありがとうございました。
0038デフォルトの名無しさん (ワッチョイ ff48-2Lmd)
垢版 |
2021/09/29(水) 22:10:57.94ID:9zmSugGJ0
PHPは $d[20][10] のようなサイズ指定の配列変数の定義はできないんですか?
そうなら膨大な大きさの配列作る時、ひとつひとつですごい負担がかかりませんか?
0042デフォルトの名無しさん (ワッチョイ 527c-PzJd)
垢版 |
2021/09/30(木) 09:49:54.30ID:yRc+UNB40
>>38
動的にサイズは増やせるし
あんまり需要ないのよ
膨大な処理をするのもそもそも間違い
DBから拾うなら条件を絞るなりしないとそもそもwebでのサービスに耐えられない
スタンドアローンで何かの処理させるだけなら
C#とかJavaとかで良くね?
0045デフォルトの名無しさん (ワッチョイ 032f-f7S3)
垢版 |
2021/09/30(木) 16:41:02.71ID:9T8RF1su0
マンコか
0051デフォルトの名無しさん (ワッチョイ 6761-Rsiz)
垢版 |
2021/10/13(水) 12:44:57.78ID:QP8pACZO0
ルーターの状態ページのWAN側アドレスにグローバルIP載ってるなら読み込んでパース
BASIC認証の機種なら楽だけど独自のログイン画面使ってるやつだと面倒かもしれん
0053デフォルトの名無しさん (ワッチョイ 0a7c-8IsZ)
垢版 |
2021/10/13(水) 13:11:02.68ID:9dxN/jU00
外部にサーバー置けばそこにリクエスト流せばIP分かるからAPIにして利用すればよいのでは?
単に自己情報だけでは分からんよ
分かるのはwindowsならipconfigで知れる情報くらい
そもそも外部にどのように出るかわからんしな
0058デフォルトの名無しさん (ワッチョイ f302-iYJI)
垢版 |
2021/10/13(水) 21:50:05.34ID:a2e9fjTX0
グローバルIP質問した者です
みなさまありがとうございます
目的は自分のホスト名からIPに変換した値と、実際の自分のグローバルIPを定期的に比較して、無料のDDNSがちゃんと動いてるかチェックしてます

DDNS更新ツールで、Diceって名前のソフトがあったと思いますが、あれって自身のグローバルIPを検出する時、ソフト内部から外と通信して結論出してるってことになるのか〜
つまり作者のサーバが落ちたら動かないとか。
てっきりwindows内で検出する方法があるのかと思ってました
0059デフォルトの名無しさん (ワッチョイ 6761-Rsiz)
垢版 |
2021/10/13(水) 22:38:53.91ID:QP8pACZO0
DiCEはipcheck.datに書いてあるところに問い合わせてる
大昔に使ったときはなぜか他の通信阻害したり常駐させたままシャットダウンすると設定ファイルたまに飛んだりであまりいい印象はない
0064デフォルトの名無しさん (ワッチョイ 2b68-ZO17)
垢版 |
2021/10/15(金) 16:14:54.20ID:TCQCfrd30
お前は既に死んでいる
0065デフォルトの名無しさん (ワッチョイ 7b2f-nGUK)
垢版 |
2021/10/15(金) 18:05:29.26ID:mxNbefdE0
>>64
お前は既にハゲている
0066デフォルトの名無しさん (ブーイモ MMcf-nGUK)
垢版 |
2021/10/16(土) 19:23:50.10ID:XWv/MJW4M
PHPでアプリをたくさん作る本はないですか?
入門書にありがちな細かい文法の説明はいらないですから。
理想はその1冊で10個くらいの簡易なアプリの作り方を説明してる本。
0068デフォルトの名無しさん (ブーイモ MMcf-nGUK)
垢版 |
2021/10/16(土) 20:01:16.33ID:XWv/MJW4M
Webアプリです
0069デフォルトの名無しさん (ブーイモ MMcf-nGUK)
垢版 |
2021/10/16(土) 20:37:28.30ID:XWv/MJW4M
なぜなら、基礎が出来たらそのあとは実践や練習としていっぱいアプリを作りまくったほうがスキルが上達すると聞いたからです。
0071PHPerは糞 (ワッチョイ eb7b-1zfC)
垢版 |
2021/10/16(土) 21:24:15.00ID:BnnoSLdm0
>>66
ググって出て来なきゃ無いだろ。今時出版側もSEO程度はしてるだろうし。
無い場合の理由は売れない/必要ないの両方だろうね。

あと、アプリを作るならPHPよりも他言語の方がだいぶマシだからそうした方がいいと思うよ。
どのみちJSは避けて通れないから手っ取り早いのはNodeとか。
0079デフォルトの名無しさん (ワッチョイ 5b49-qebH)
垢版 |
2021/10/20(水) 10:48:11.38ID:Y4tLRZgw0
インターネットで公開してるから何でも自由にしていいってわけじゃないからねえ
こそこそやるのが不安なら、権利関係のページ見るとかサイト管理者に聞くとかすればええやろ
0086デフォルトの名無しさん (ワッチョイ a95f-GkCz)
垢版 |
2021/10/29(金) 22:31:16.78ID:REy5124n0
myspli_queryを使ってcount数を引っ張ってきたいんですけど恐らく(?)型が違う為か数式に当てはめられません、、、
型が楽なphpに頼ってまともにやってこなかった自分が悪いのですが変換方法教えて頂けませんか
0088デフォルトの名無しさん (ワッチョイ 1384-eurQ)
垢版 |
2021/10/30(土) 02:06:08.14ID:7i3s6vPH0
laravelについて教えてください。
以下のようなリレーションの際にAモデルからDの値を取得するにはどうしたらいいですか?ちなみにbelongsToManyではうまくとれませんでした。どなたかよろしくおねがいします

AとBは1対多
BとCは1対1
CとDは多対1
0089デフォルトの名無しさん (オッペケ Src5-8/xQ)
垢版 |
2021/10/30(土) 09:24:25.03ID:iJ+tKDn4r
ツイッターを使おうとしていて
入門動画や解説ページをいくつか見たが説明が抽象的過ぎてなにがなんだかわからん
クラス図とかER図とか使って何をやったら何が起きるかを具体的説明してる資料ってどこかに無い?
0093PHPerは糞 (ワッチョイ 497b-MG/e)
垢版 |
2021/10/30(土) 11:42:50.30ID:/LJRR5Mb0
>>92
○○を取得したい、とかだろ。


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

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

お前DB屋か?目の付け所や考え方が明らかにずれてる。
0098PHPerは糞 (ワッチョイ 497b-MG/e)
垢版 |
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)
0099デフォルトの名無しさん (ワッチョイ 1302-rbIv)
垢版 |
2021/10/30(土) 13:36:16.77ID:OQ2dRDm50
クラス図を書くとクラス間の関係が明確になる
ER図を書くとそこからRDBが自動生成できる
大規模な開発ではクラス図ER図などの図と
仕様書が開発者に渡され、それで開発する

こんなところか?
0101PHPerは糞 (ワッチョイ 497b-MG/e)
垢版 |
2021/10/30(土) 16:46:01.94ID:/LJRR5Mb0
>>100
ならお前が俺より良い回答をすればPHPerも糞ではないと証明出来るね。
噛みつくんだから勿論出来るに決まってるよな。よろしく。
0103PHPerは糞 (ワッチョイ 497b-MG/e)
垢版 |
2021/10/30(土) 20:18:10.40ID:/LJRR5Mb0
>>102
ワッチョイもIDも異なる相手が同一(ID:iJ+tKDn4r===ID:41Ya32wv0)
である事を期待した回答を得たいのなら、先にお前がそれを明示しないと無理だろ。
お前はコミュ障でもあるな。
0107PHPerは糞 (ワッチョイ 497b-MG/e)
垢版 |
2021/10/30(土) 21:09:11.08ID:/LJRR5Mb0
>>106
IDもワッチョイも違う相手を無条件で同一だと認識するようなら完全に統失だろ。
それを期待する君はコミュ障だよ。
会話を成立させる為に相手に何を伝えるべきか分かってない。

まあそれはいい。
APIのドキュメントは公式ので十分だから、それで出来ないのなら君の問題だよ。
0109PHPerは糞 (ワッチョイ 497b-MG/e)
垢版 |
2021/10/30(土) 22:36:25.34ID:/LJRR5Mb0
>>108
アスペってのは医学的にはサリーとアン課題が解けない奴の事で、
https://livedoor.blogimg.jp/shinesokuhou/imgs/a/2/a27f1508.jpg
プログラミング的に言えば、相手と自分の情報状態を別々にインスタンス化して管理出来ない奴、
つまりお前の事だよ。

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

つかもういいかね?もう生産性まるでないだろこの会話。
0111PHPerは糞 (ワッチョイ 497b-MG/e)
垢版 |
2021/10/30(土) 22:49:41.86ID:/LJRR5Mb0
>>110
君は本当に>>104と思ってるのだから、
それは煽り抜きでガチのアスペの典型的症状だし、病院に行って診断を受けた方がいいってだけだね。
0113デフォルトの名無しさん (ワッチョイ 39ac-+d7W)
垢版 |
2021/10/31(日) 00:26:35.15ID:aUFmKI3J0
まあAPIのドキュメントなんてどこもこんなもんよね
SDKなんてのも大雑把だったりするし
curlサンプルでも載ってれば、まあ問題なく出来るやろって感じやな

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

あとTwitterAPIのサンプルなら転がってるんじゃないかな、しらんけど
0115デフォルトの名無しさん (ワッチョイ 1384-eurQ)
垢版 |
2021/11/02(火) 11:15:42.64ID:quLt8Fez0
PHP CodeSniffer使ってメソッド名をスネークケースからキャメルケースへ自動補完したいんですが以下のコマンドをうってもうまくいかないです。
どうすればいいでしょうか?どなたか教えてください
phpcbf --standard=phpcs.xml src
0117デフォルトの名無しさん (ワッチョイ 4934-nd57)
垢版 |
2021/11/02(火) 23:58:28.83ID:ih3oH4Jo0
久しぶりにスレ見たらまたPHPerは糞おじさんが長文垂れ流して暴れてたのか
発端となった>>89についてはそもそも相手にするのが間違いだ
こんな奴が居るからPHPerはバカにされるんだ
0118デフォルトの名無しさん (ワッチョイ 4934-nd57)
垢版 |
2021/11/03(水) 00:00:33.72ID:NxRLBi2n0
>>113
APIに対してクラス図がどうとか言ってる時点で相手にしたらダメな人だ
ムキになって相手にする必要すら無い
0120デフォルトの名無しさん (ワッチョイ 4934-KWHl)
垢版 |
2021/11/03(水) 15:22:22.43ID:NxRLBi2n0
即レスワロタw
>>98で話終わってるからな
これ理解できないガイジ相手にいつまで長文垂れ流してるんだ?
お前そんなだからまともな会社に就職できないし結婚できないし頭が禿げてるんだぞ
あと口臭いから近寄らないでくれる?
0121PHPerは糞 (ワッチョイ 497b-MG/e)
垢版 |
2021/11/03(水) 19:53:30.47ID:u5RTMnaF0
>>120
キチガイの自己紹介乙

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

>>124
そうなのか。ブラウザ閉じて開いてもログインしたままなのってセッションIDをcookieに持ってるからかと思ってたけど違うんか
0127デフォルトの名無しさん (ワッチョイ 655f-bQ3l)
垢版 |
2021/11/08(月) 14:26:12.09ID:szG2RloF0
質問です
PHPのechoで出力した文字を
JAVAでPHPアドレスから取得したいのですが方法が全然わかりません
ググっても全然見つかりません
教えて下さい
0129127 (ワッチョイ 655f-bQ3l)
垢版 |
2021/11/08(月) 15:35:24.49ID:szG2RloF0
>>127
すいません自己解決しました
0132デフォルトの名無しさん (ワッチョイ 515f-H2rd)
垢版 |
2021/11/09(火) 10:17:20.40ID:CL70+TzG0
PHPを学習してから、気になることが一つあって
WordPressでのお問い合わせフォームってセキュリティ対策されてる?、
tokenを持たせるというCSRF対策をしてないサイトばっかりなんだけど
また違ったやり方で対策されてたりするんですか?
0136デフォルトの名無しさん (ワッチョイ 9720-D8AZ)
垢版 |
2021/12/02(木) 22:42:19.26ID:8y/JBuUj0
C言語で関数ポインタというのがあって
returnで関数を返せると思うのですが
PHPで新たに関数を生成して、returnで関数を返すことはできるんですか?
0139136 (ワッチョイ 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));
0140136 (ワッチョイ 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));
0142136 (ワッチョイ 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));
0149デフォルトの名無しさん (ワッチョイ 96f2-VVTF)
垢版 |
2021/12/03(金) 15:39:13.08ID:fQNHRrnR0
関数アドレスをポインタでってのは、呼び出し元・親を弄らずにシステムを拡張できるプラグイン方式であり得るけどね
用途も何も話のないままプログラム例だけで要不要を論じる意味はないだろ
0152136 (ワッチョイ 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
0153デフォルトの名無しさん (ワッチョイ 8cbb-McYs)
垢版 |
2021/12/03(金) 19:37:58.44ID:h8oDtxFb0
>>152
一部の方しか見てないけど、多分、classにメソッドを作ってPDOみたいな使い方ができるようにするのが良いと思う
PHP PDOとメソッドチェーンあたりでぐぐってみるとイメージがわくかと
0155デフォルトの名無しさん (ワッチョイ 9f01-Z6Z9)
垢版 |
2021/12/07(火) 11:52:44.66ID:sVKUttQ/0
ガチでヌーブなんですけどrequestsとbeautifulsoupでスクレイピングやってます
waitかけないとバンされるよと言われましたがどうすればいいですか?
requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います
これに対してどうすればいいですか?
0157デフォルトの名無しさん (ワッチョイ b08f-qcc3)
垢版 |
2021/12/07(火) 18:35:13.01ID:9Va5RWFb0
社内の人間だけが使うローカルなwebアプリって
どの程度セキュリティに気を付ける必要がありますか?

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

今のところ、htmlspecialcharsとplaceholderだけです。
0158デフォルトの名無しさん (ワッチョイ a27c-cP/Y)
垢版 |
2021/12/07(火) 20:31:40.09ID:8qLJ9e/D0
>>155
まずPHPなの?pythonじゃないの?w

>>157
社内向けでもうるさい所は普通にセキュリティチェックするから
Laravel等のフレームワークを使っている方が安全な気がする
要件でその辺こだわらないので安く早くとかあるなら適当でも良いかもしれないがw
0159デフォルトの名無しさん (ワッチョイ 4732-KtwX)
垢版 |
2021/12/13(月) 19:27:12.74ID:x47Ixk2T0
本当に初心者過ぎてよくわからないので、質問させてください。
phpで、HTMLのinputタグに入力された値を、ボタンが実行されたときに取得して履歴に残すことって出来ますか?
0161デフォルトの名無しさん (ワッチョイ 4732-KtwX)
垢版 |
2021/12/13(月) 19:54:07.60ID:x47Ixk2T0
>>160
出来れば少し具体的に、前述を実行するために使うプロパティの名前とか教えてもらえませんか?
そうしてもらえれば自分でググってみます。
0164デフォルトの名無しさん (ワッチョイ 4732-KtwX)
垢版 |
2021/12/13(月) 20:38:20.47ID:x47Ixk2T0
>>162
>>163
ありがとうございます!
調べてみます!
0165デフォルトの名無しさん (オッペケ 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を取得可能なのでしょうか?
0166デフォルトの名無しさん (ワッチョイ 3ebb-uap/)
垢版 |
2021/12/23(木) 07:57:35.19ID:o28jsmvA0
>>165
> autoloader.phpやcomposer 等の管理システムを使用して導入したファイルをpublic_html内においても問題ないのでしょうか?

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

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

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

それとPHP初心者なのですが、ECCUBEを勉強する前にsymfonyについて学んだほうがよいでしょうか??
ご回答のほどよろしくお願いいたします<(_ _)>
0170デフォルトの名無しさん (ワッチョイ 572c-nHKY)
垢版 |
2021/12/24(金) 17:49:25.39ID:BanyNpCX0
YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、Ruby on Rails のみ

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

今までJava +JSP使ってたから難しい
0175デフォルトの名無しさん (テテンテンテン MM97-cLQ5)
垢版 |
2021/12/25(土) 10:56:42.35ID:HxuKrZ8DM
ありがとう
0176デフォルトの名無しさん (ワッチョイ 572c-nHKY)
垢版 |
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 などの作り方を学ぶため

各人が自由な構造で、開発してはいけない。
他人には、その構造を理解できないので、保守できないから
0183デフォルトの名無しさん (アウアウウー Saa5-xBpI)
垢版 |
2022/01/02(日) 23:32:20.26ID:C4MV20OCa
テーブル接続→テーブル作成(必要か不明)→RSSをまとめる→RSSを取得→RSSをテーブルに入れる→RSSを表示するをPHPで作成しているのですが、RSSをテーブルに入れる段階でつまずいています。
テーブルに入れる方法を調べたところIncsert文が出てきたのですが、それ以外の方法を勉強の為に知りたいです。
その他の構文で取得データをMy SQLに入れる方法はありますでしょうか?
0184デフォルトの名無しさん (ワッチョイ 2eb9-hDuN)
垢版 |
2022/01/02(日) 23:38:29.15ID:tvBCK4Jk0
スマホアプリで位置情報を使った良いアイディア思いついたプログラムできない素人です。
位置情報とメールと仲間募集みたいなスレッドを作ろうと思います。
発注するとしたらいくらぐらい掛かると思いますか?またどこに依頼するのが一番安く作れますかね?
0186デフォルトの名無しさん (アウアウウー Saa5-xBpI)
垢版 |
2022/01/03(月) 01:07:37.79ID:qEMrjWTya
>>185
mysql データ追加をしたいんですがやっぱりincsert文を使う必要があるのでしょうか?
別のやり方でもやってみたかったのですが、joinも調べましたがiecsertと併用が必要なようです…
0187デフォルトの名無しさん (ワッチョイ 6120-hDuN)
垢版 |
2022/01/03(月) 01:10:06.39ID:YbTivXZM0
ふつうのやり方でとりあえず動かせば?
0188デフォルトの名無しさん (アウアウウー Saa5-xBpI)
垢版 |
2022/01/03(月) 01:12:30.42ID:qEMrjWTya
>>187
あえて特別な方法をやるのは辞めた方が良いですかね…
0196デフォルトの名無しさん (ワッチョイ 027c-iZeD)
垢版 |
2022/01/07(金) 23:52:18.25ID:00Xzudcl0
>>195
PHPの質問とは違うだろうが、プラグインがあるから簡単に作れるくらいじゃね?
更なるカスタマイズが必要だったりすると途端に難易度が上がり
PHPだけでなくwebアプリを作るレベルの技術が要求されるだろうが
0199デフォルトの名無しさん (オッペケ 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]);
0200デフォルトの名無しさん (ワッチョイ df01-dXQO)
垢版 |
2022/01/09(日) 01:27:13.03ID:wKoMs7Y50
そいつは、>1 のテンプレをしょっちゅう改変している、テンプレ改変荒らし。
基本的に、ソースコードを書かない香具師は荒らし

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

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

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

を購入したのですが難しすぎました。
もっとわかりやすいお勧めの書籍とかありませんか。
0202デフォルトの名無しさん (ワッチョイ ff2c-EgL+)
垢版 |
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日)

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

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

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

国家資格のデータベーススペシャリストは、上級資格で難しすぎるので、
下級資格の基本情報技術者とか取れば良いかも
0205201 (ワッチョイ ff35-iyeF)
垢版 |
2022/01/09(日) 14:35:48.72ID:hMW0FFlO0
結局のところPHP関連のホームページがおおいので、やりたいことはできそうです。
SQL文もなんとかなりそう。

ただ、動作するまで、エラーがどこで起きてるのかがわかりづらかったです。
ubuntu のgeditを使ってたのですが何か良い開発環境ありませんか?
0207デフォルトの名無しさん (ワッチョイ ff2c-EgL+)
垢版 |
2022/01/09(日) 23:51:08.08ID:lzN+drLE0
Windows 10, WSL2, VSCode(拡張機能・Remote Development)

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

詳しくは、VSCodeのスレで聞いて
0208デフォルトの名無しさん (ワッチョイ 7ff0-dXQO)
垢版 |
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
0209201 (ワッチョイ ff35-iyeF)
垢版 |
2022/01/10(月) 00:38:20.82ID:uVCdcKM00
>>206
PHPがエラーはかないから難しいです。
一応エラーはくようにしたけどそれでも。 
>>207

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

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

ありがとうございます。見に行きます。
0210202 (ワッチョイ ff2c-EgL+)
垢版 |
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 )
0214デフォルトの名無しさん (ワッチョイ 7fad-dXQO)
垢版 |
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になる
0216デフォルトの名無しさん (ワッチョイ 7f7c-lUoQ)
垢版 |
2022/01/10(月) 22:47:07.27ID:WbwK/aTR0
Rubyの話している奴は無視してw
フレームワーク使わずに素のPHPでデータベースいじるならPDO一択だけど
try catchで囲めば普通にエラー分かるような?

最近はLaravelしか使ってないからEloquentばかり利用してるけど結局これも中身はPDOだしなぁ
エラー時はcatchでMySQLならそのエラーが取れるよ
0219デフォルトの名無しさん (ワッチョイ ffcb-dXQO)
垢版 |
2022/01/11(火) 11:26:52.73ID:h7Z62fbT0
http://jin115.com/index.rdf
simplexml_load_fileでxmlオブジェクトを取ってくると以下のように要素が取得されるので、タイトルまで取ってしまいます。
channelを除外する分岐はどうしたらいいんでしょうか?

rss1なので
channel
item
item
item

という要素の構成になっているようです。
0220デフォルトの名無しさん (ワッチョイ ffcb-dXQO)
垢版 |
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>";
}
?>
0230デフォルトの名無しさん (オッペケ Srb3-mp4b)
垢版 |
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はクソ!っていうエンジニアも多い
0232デフォルトの名無しさん (ワッチョイ df7b-sEAu)
垢版 |
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も滅ぼしたがってるけどね。
0233デフォルトの名無しさん (テテンテンテン MM4f-zw7+)
垢版 |
2022/01/12(水) 19:45:02.13ID:HUvSYeLkM
PHPで何のフレームワーク使われてるか見分ける方法ありますか?
レンタルサーバーからソースは全部ローカルに移したんだけどどこ見ればいいのかわからない。そもそも使ってないかもしれない
0236デフォルトの名無しさん (テテンテンテン MM4f-zw7+)
垢版 |
2022/01/12(水) 19:57:51.52ID:HUvSYeLkM
>>234
ありがと
見たけど特にそれらしきもの無かった。

30画面以上はあってDB接続とかしてるけどフレームワーク使わないってよくあるもの?
0238デフォルトの名無しさん (ワッチョイ df7b-sEAu)
垢版 |
2022/01/12(水) 21:04:32.11ID:cgAm36ON0
>>235
JSは現状滅ぶ兆候すらない。
対抗馬もいないし、PHPerですらJSを書くしかない。
シェアは上がる可能性しかなく、実際にそうなってる。

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

言語を開発する奴は通常はプログラミング大好きで「良い言語」を目ざし、「馬鹿向け」言語は目指さない。
この点、プログラミング嫌いを公言するラスマスが開発したので唯一性を保ってる。
ただし昨今のプログラミング教育義務化で「小学生でも出来る!」も目ざし始めたから多少は変わるかも。
とはいえ、PHPが滅ぶとしたら
・PHPより簡単な環境等の出現
・義務教育化で過半数が最初からJSで問題ない程度にプログラミング出来るようになる
のどちらかが必要で、どっちもないと俺は思うけど。
0240208 (ワッチョイ ff2c-EgL+)
垢版 |
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以外のフレームワークのシェアがない
0241デフォルトの名無しさん (ワッチョイ df7b-sEAu)
垢版 |
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
0244デフォルトの名無しさん (ワッチョイ 5fb3-6Qs4)
垢版 |
2022/01/13(木) 01:05:10.31ID:M4+X8mJO0
フレームワーク等は使用せずに、外部ファイルのHTMLテンプレを読み込んでテンプレの変数を展開した上で出力するPHPプログラムを作っています

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

テンプレをfile_get_contentsで読み込んでstr_replaceで変数を値に置換する事でひとまず対応できたのですが、何かもっと良い方法が無いかと思い質問させて頂きました
0246デフォルトの名無しさん (ワッチョイ 5fb3-6Qs4)
垢版 |
2022/01/13(木) 02:29:26.77ID:M4+X8mJO0
レス有難うございます!
それらの関数について調べてみます!
0248デフォルトの名無しさん (ワッチョイ df7b-sEAu)
垢版 |
2022/01/13(木) 08:23:34.52ID:tGvK+xu50
>>247
遅いのは「進化」のことだよ。
他言語よりも進化速度が遅いから、他言語には永遠に追いつけず、差も広がり続ける。
だから絶対値はマシになるけど、比較的糞なままなのも確定してる。

つか、
> そもそもpythonよりphpのほうが3倍高速 (>>230)
これってマジ?聞いた事無いけど。(Pythonと大して変わらんと聞いている)
0249デフォルトの名無しさん (オッペケ Srb3-mp4b)
垢版 |
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
0252デフォルトの名無しさん (ワッチョイ 5fb3-6Qs4)
垢版 |
2022/01/13(木) 13:23:15.09ID:M4+X8mJO0
>>245
教えて頂いた関数を調べました
テンプレ側でphpタグ内でechoすればいくらでも取り扱い方はあるんですね

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

ありがとうございました!
0253デフォルトの名無しさん (ワッチョイ df7b-sEAu)
垢版 |
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)の速さは特筆すべきだよ。
0254デフォルトの名無しさん (ラクッペペ MM4f-l01Y)
垢版 |
2022/01/13(木) 14:24:29.40ID:oIjbYCPRM
速さなんかでは言語は選ばれない
インフラ側をスケールすれば解決する
結局は人材確保が容易い言語が選ばれる
そういった意味ではPHPの地位を脅かす可能性のある言語は現状ではPythonよりjsになると思う
0256デフォルトの名無しさん (ワッチョイ 7f7c-dXQO)
垢版 |
2022/01/13(木) 17:51:03.92ID:aFi3jMHu0
node.js知らないのか・・・

まぁ、日本ではnode.js使ってるという話はあんまり聞かないなぁ
PHPで実装した方が使える人を集めるのも楽だしね
expressなどで一度はやってみたいけど
これもvueやらreactやってないと多分キツいのではないかと思う
0257デフォルトの名無しさん (ワッチョイ df7b-sEAu)
垢版 |
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が滅ぼされるって事にはならないだろうね。
0258208 (ワッチョイ ff2c-EgL+)
垢版 |
2022/01/13(木) 23:12:01.90ID:Ia/gMc7B0
Django を選択する香具師は、適材適所じゃない

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

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

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

他の言語で開発しようとしても、人材が確保できなかったので、
結局、Railsで作る事になったと言っていた
0260デフォルトの名無しさん (テテンテンテン MM4f-zw7+)
垢版 |
2022/01/14(金) 15:31:15.16ID:9ZtlNqLhM
jQueryのajaxでPHPの処理呼んでmb_send_mailでメール送信してるんだけど、セキュリティ的に問題あったりします?
PHPMailerとか使わないとだめかしら
0261デフォルトの名無しさん (オッペケ 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のループ終了
0262デフォルトの名無しさん (オッペケ Srd1-9WIe)
垢版 |
2022/01/15(土) 20:49:59.27ID:6jv0Mmn0r
解体して表示だけ取得だけ全部試しました。
それなのにinsert into?が原因で格納に失敗します。
データベースの名前カラムすべて見直しました。
何が原因でしょうか?
0263デフォルトの名無しさん (ワッチョイ 6e2c-yR06)
垢版 |
2022/01/15(土) 23:21:51.40ID:iJzr35B10
コンソールに、データベースのエラーメッセージが出ていないの?
そのエラーメッセージで検索すれば?

例えば、Ruby on Rails では、

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

index.phpにheader(“Cache-Control: no-store•••のキャッシュ無効化を書いたら正しいデータが表示されるようにはなりましたが、imageとかcss等もキャッシュされないとサイトが重くなるのでは?と思っています
どうするのがいいでしょうか?
0270デフォルトの名無しさん (シャチーク 0C56-J9tc)
垢版 |
2022/01/17(月) 13:52:32.24ID:rdgDbl6jC
>>269
普通はそんなキャッシュされないんだけどね
ブラウザの履歴全部消して、追加したheader()も削除して、index.phpを開いた時のリクエストヘッダとレスポンスヘッダさらせば、原因がわかるかもね
0271デフォルトの名無しさん (テテンテンテン MM66-E6lP)
垢版 |
2022/01/17(月) 18:49:25.24ID:tufIE2pHM
>>270
ありがとうございます
レンタルサーバのキャッシュの設定ぽかったです
header(‘Cache-Control: no cashe’)で回避することにしました
0272デフォルトの名無しさん (ワッチョイ a910-KmD2)
垢版 |
2022/01/17(月) 22:01:17.94ID:0Oj5SST40
for文の入れ子が理解できません
コードを見て、どういう結果が出るのかっていうのはわかるんですが、意図通りの結果を出す為に1からどうコードを書けばいいのかがわからないんです..
以下を表示するためのfor文について、コードの組み立て方を教えてもらえないでしょうか
***1
**121
*12321
1234321
0276デフォルトの名無しさん (ワッチョイ 6e2c-Nrkm)
垢版 |
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 となる
0278デフォルトの名無しさん (テテンテンテン MM66-E6lP)
垢版 |
2022/01/18(火) 16:39:24.93ID:5gBRec40M
html形式のメール送る時ってマルチパートメールにします?
書き方調べるとサイトによって違うし今どきhtmlメールだけでもいいかなとか思えてきた
0279デフォルトの名無しさん (ワッチョイ 6e2c-Nrkm)
垢版 |
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>

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

内部的には、表示するメッセージをセッションに保存しておいて、
ページ遷移したらメッセージを表示してから、
メッセージをセッションから削除する
0284デフォルトの名無しさん (テテンテンテン MM66-E6lP)
垢版 |
2022/01/19(水) 12:53:43.34ID:A7aVAia1M
>>280
JavaScriptじゃない?
PHPでできるんか?
0285デフォルトの名無しさん (ワッチョイ a902-ICV3)
垢版 |
2022/01/19(水) 18:51:53.64ID:wphqLZhf0
flockでLOCK_EXを指定してロックした場合、別プロセスで同じファイルに対してアクセスした場合には
ロック解除されるまで具体的にはfopenで待たされているという認識で合っていますか?
0289デフォルトの名無しさん (ワッチョイ a902-ICV3)
垢版 |
2022/01/19(水) 19:54:11.09ID:wphqLZhf0
もう一つすみません

flockで待たされている間、何らかの問題でロックされたままになってしまった場合はどうなるのでしょう?
max_execution_timeに引っかかりページエラーとなり、その後ロックも解除されるのでしょうか?
0294282 (ワッチョイ 6e2c-Nrkm)
垢版 |
2022/01/19(水) 23:25:13.14ID:Lpp/4I5F0
>>280
Ruby on Rails のダブルクリックによる二重投稿の防止では、

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

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

こういうフレームワークを使っていないと、5ch みたいに二重投稿される
0295デフォルトの名無しさん (ワッチョイ 25bb-afNC)
垢版 |
2022/01/19(水) 23:43:48.83ID:onZesMbl0
>>291
すいません、その最初から押してくださいの表示はどんなコードを入力すればできますか?
今やってるコードでは送信しても送信前の文字が残ってしまいまして
0296デフォルトの名無しさん (オッペケ 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>');}
0297デフォルトの名無しさん (オッペケ Srd1-9WIe)
垢版 |
2022/01/20(木) 00:31:20.96ID:g6LgEdNbr
何回も修正しているんですが仕組みがわからずコードをどう修正すればいいのかわかりません。
0298デフォルトの名無しさん (ワッチョイ b902-5RQV)
垢版 |
2022/01/20(木) 03:25:15.52ID:XNVR9Tv/0
>>295
echo '送信してください';
echo '<form>';
// ここにフォームの内容
echo '</form>';

送信しても送信前の表示が残るってことはpostでページ変遷させてないんですかね
あなたのコードをここに貼ったほうがいいかもです
0299デフォルトの名無しさん (ワッチョイ 6e2c-Nrkm)
垢版 |
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 %>
0302デフォルトの名無しさん (ワッチョイ 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万円/年
0304299 (ワッチョイ 6e2c-Nrkm)
垢版 |
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エスケープされるから安全だけど
0310デフォルトの名無しさん (アウアウウー Sa05-c7oX)
垢版 |
2022/01/21(金) 04:25:36.95ID:e6LRKhfGa
>>305
何でか考えたんですがコンテンツが重複するからですね
ページごとに固定で配置した場合記事が被ります
0311デフォルトの名無しさん (アウアウウー Sa05-c7oX)
垢版 |
2022/01/21(金) 04:29:17.18ID:e6LRKhfGa
index.phpにRSSを固定で置いた場合、1ページ目と2ページ目に同じのが表示されてしまっては意味がないです
0312デフォルトの名無しさん (アウアウウー Sa05-c7oX)
垢版 |
2022/01/21(金) 04:34:59.34ID:e6LRKhfGa
もう1点聞きたいんですがRSSをデータベースに入れた場合コンテンツの重複を確認する事は不可能ですよね?
クローラーでタイトルもURLも全部取っ替えられるので、最大100件格納するシステムにしてテーブルにあったら出力しないようにするのが良いのか、表示する時に重複は除外するのか

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

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

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

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

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

まあ、すべてのデータを削除して、
毎回、空の状態から始める方が分かりやすい・バグりにくい
0315デフォルトの名無しさん (アウアウウー Sa05-c7oX)
垢版 |
2022/01/22(土) 10:28:39.25ID:egmIt+L8a
RSSの切り替えは基本的に相手側に合わせる事になると思います
基本は1日で切り替えていくつもりですが
uniqueで切り替えることを検討してみます
重複で保存しない、表示しない
データの保存は全部で10ページ分の360コンテンツを考えており、自分が調べた限りでは重複を避けるにはセレクトでテーブルとカラムを指定して値が入っているか確かめる方法を見つけました。
数についてはプライマリーキーを元に再現する方法を見つけました。
0317デフォルトの名無しさん (アウアウウー Sa4b-6LEA)
垢版 |
2022/01/22(土) 19:21:08.39ID:7F9VA/j6a
もう1点お聞きしたいのですが、insert intoでデータベースにRSSを格納した場合、RSSの更新で勝手に中身が切り替わるのでしょうか?キャッシュされない限り保存できるのでしょうか?
0318デフォルトの名無しさん (ワッチョイ 5f7c-IuBN)
垢版 |
2022/01/23(日) 20:08:45.79ID:Q+XuC88b0
自分でupdateしない限り中身が変わる事などあり得ないのだがw
そもそもプライマリキーが何か知らないけど、updateしないでinsertし続けるのなら
自分でソートでもしないと最新は取れないし、どっちにしても勝手に中身が変わる事などあり得ないw
0325デフォルトの名無しさん (アウアウアー Sa2e-YkgQ)
垢版 |
2022/01/28(金) 10:04:37.83ID:uohbmMVoa
あらまpdoを使った時のsqlインジェクション対策に使う :hoge のことを指すと思ってたわ
mysqliでプリペアドステートメント使ってみて、その時「?」をsql文に入れてbindしてexecuteしたけど、この「?」はプレースホルダーとは言わないの?
0326デフォルトの名無しさん (ワッチョイ b501-62kq)
垢版 |
2022/01/28(金) 19:21:16.33ID:bgRIttae0
>>302
それ実質年収380万でしょ どこの田舎?
東京だと舐めてるとしか思えない条件だけど、島根や秋田とかならありなのかな?
0329デフォルトの名無しさん (ワッチョイ b501-62kq)
垢版 |
2022/01/28(金) 23:17:35.01ID:h0Az4Q2l0
>>327
(立地や人口的に)平均賃金がかなり低そうなイメージがあるからだが?
0332デフォルトの名無しさん (ワッチョイ a635-tVHJ)
垢版 |
2022/01/30(日) 01:15:48.02ID:dhxm1daF0
質問です。
ubuntu+PHP7.4使ってるのですが、mbstringってインストール
しなくてもやっていけるでしょうか。

必要ないなら設定とかもよくわからないので入れたくないです。
0337デフォルトの名無しさん (テテンテンテン MM3e-1PRf)
垢版 |
2022/02/04(金) 17:50:37.38ID:yzSnk57dM
ajaxからPHP呼んで、PHPのcheckdateでありえない日付だった時、ajaxに帰ってくる結果がparsererrorになるんですがどうしたらいいですか?

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

まさか、そういうバグがデータ中にあるとは、誰も想定していない
0341デフォルトの名無しさん (テテンテンテン MM3e-1PRf)
垢版 |
2022/02/04(金) 18:08:24.94ID:yzSnk57dM
>>337
すみません、解決しました。
checkdate全然関係なくて、初期化されてない変数を判定に使っててwarning が返却されてました。

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

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

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

サーバを絶対に触らせてもらえない環境ならご愁傷様だが…
0349デフォルトの名無しさん (ワッチョイ 9734-+Bjk)
垢版 |
2022/02/10(木) 00:09:41.41ID:9A+v8ss30
>>347
悲しいなぁ

>>346
それ、プログラミングやUNIXの板では煽りにも何にもならんわなw
私はスキルの無いバカでーすって自己紹介してるだけ
0350デフォルトの名無しさん (ワッチョイ 9fad-zD41)
垢版 |
2022/02/10(木) 04:31:34.48ID:KYgrPGJm0
( ´,_ゝ`)プッ
0351デフォルトの名無しさん (ワッチョイ ff10-l/zh)
垢版 |
2022/02/11(金) 23:40:18.38ID:AA35l59s0
レンタルサーバーなら有名所は8が入ってるのでいいとして、
VPSやクラウドなんかの運用中サーバを簡単にいじれないと思います。
完璧に問題が起きない自信があるなら別ですが、
共存にしてもWEBサーバ側の問題があるわけで、
リスクをおかせず古いOS・プログラムのままってケースが多いのではないでしょうか
0355デフォルトの名無しさん (ワッチョイ 527c-B80Q)
垢版 |
2022/02/12(土) 23:24:37.73ID:c6xzFFYJ0
そもそもレンタルサーバーなんかでPHPやろうと思っているのが間違い
AWSでも無料枠あるし普通に何でも出来る所でやるべきでは無いかと
それとAWSで簡単な環境ぐらい構築出来ないとこの先生きのこることが出来ない
0356デフォルトの名無しさん (ワッチョイ de02-rCQD)
垢版 |
2022/02/12(土) 23:27:24.68ID:hg3r0L170
( ´,_ゝ`)プッ
0358デフォルトの名無しさん (テテンテンテン MMde-3UI9)
垢版 |
2022/02/14(月) 20:56:15.58ID:n3Z44GE0M
dockerのalpineコンテナで
バージョンを指定せずにphpをインストールすると7がインストールされました
これはまだ安定性などから7が推奨されているということでしょうか?
特に8を使いたいということでなければこのまま7を使う方がいいですか?
0359デフォルトの名無しさん (テテンテンテン MMde-3UI9)
垢版 |
2022/02/14(月) 23:35:24.66ID:n3Z44GE0M
調べるとPHPの各バージョンのサポート期間は
アクティブサポート2年+セキュリティサポート1年の3年で
PHP7.4は既にアクティブサポートが過ぎているので、
今ならPHP8.0がよさそうですね
0360デフォルトの名無しさん (スフッ 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;
}
0361デフォルトの名無しさん (ラクッペペ MM7f-XAq9)
垢版 |
2022/02/19(土) 01:55:08.05ID:ikxoAZybM
自作なんてやめてフレームワーク使うか他人のコードをパクったほうがいいぞ
どうせ誰が書いても同じコードになるんだからそんなものに時間を費やすなんて無駄にしかならない
0363デフォルトの名無しさん (ワッチョイ cf02-mA98)
垢版 |
2022/02/19(土) 08:22:23.29ID:5twrgHti0
>>361
わからんのなら黙っとれアホが
0365デフォルトの名無しさん (ワッチョイ cf2c-mvUX)
垢版 |
2022/02/19(土) 12:59:25.37ID:XlinVUCj0
Ruby on Rails のpagenation では皆、kaminari を使う。
kaminari用の日本語辞書、Bootstrap のテーマもある

フレームワークを使わずに、ウェブサイトの全ての機能を開発するのは、無理。
ログインなど、色々な機能が必要になるから、その度に自作するのは無理
0368デフォルトの名無しさん (ワッチョイ ff7c-9yE7)
垢版 |
2022/02/22(火) 12:42:01.75ID:KahDZ65i0
最初に勉強するにはPHPは良いとは思うが
コンピュータ的な知識、webの知識などが一切ないと多分チンプンカンプンじゃないのかなと思うけど
どんなふうに教えてもらえるのかね・・・
0373デフォルトの名無しさん (ワッチョイ 6f66-rQjm)
垢版 |
2022/02/23(水) 18:58:34.43ID:zyypBZ1d0
PHPもPHP3の頃はPerlよろしくグダグダだったが、
PHP8.1に至るまで予想してたよりまともに進化したなぁ。

8.1くらいまでの機能があれば、言語的な不満はあまり出ない域に入ったんじゃなかろうか。
0374デフォルトの名無しさん (ワッチョイ cfa7-EcOz)
垢版 |
2022/02/23(水) 19:15:58.18ID:2nyi9BTi0
>>371
Java=Androidというのはちょっと短絡的ですね
あげた言語はある程度なんでもできる言語ですよ
もちろんWebもいけます
事実上Webしか使いみちのないPHPとは違ってね
今日日PHPが担うバックエンドなんてのは
DB処理を行い結果返すだけのAPIなので言語なんてなんでもいいんです
0376デフォルトの名無しさん (スップ Sd1f-6Jzt)
垢版 |
2022/02/23(水) 22:40:07.20ID:en2IXenwd
>>360
いまいち分かりづらいしどんな不具合があるのか書いた方がいい

>>data_arrayには全データが入ってます
この処理はあまりよくない
100件ならいいし、1000件でもいいかもしれない
しかし、1万件、10万件と増えると無駄が多い
取得するレコードを何件から何件取得するというSELECT文にした方がいい
0377デフォルトの名無しさん (ワッチョイ ff7c-9yE7)
垢版 |
2022/02/24(木) 19:56:07.45ID:Wxpvwt1A0
>>374
バックエンドのJAVAなんてゴミやん・・・
業務用のつまらん仕事したいならアリだけどw
そもそも殆どの仕事がweb絡みなのに開発効率のいいPHPを覚えるだけで十分やし
JAVAみたいな開発効率悪そうな言語をわざわざ使う必要は無いのだよw
俺はandroidもやってたからJAVAは分かるけど
似たような言語ならUnityで使えるC#覚えた方が仕事もありそうだ
0378デフォルトの名無しさん (シャチーク 0Cff-XDkn)
垢版 |
2022/02/25(金) 18:48:28.91ID:UuY6gwRpC
>>377
でも、jarとかwarで配布されるツール結構あるけど
JenkinsとかMetabaseとか
何でJavaを選択したのかしらんけど、開発効率とかパフォーマンスとかが良かったりするのかな?
アップデートが楽なのは確か
0379デフォルトの名無しさん (ワッチョイ 0a7c-g6h8)
垢版 |
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以外採用する気になれないなぁ
0380デフォルトの名無しさん (ワッチョイ 0302-4P5Q)
垢版 |
2022/03/04(金) 22:36:44.72ID:oHlisFD/0
定期的にCRONで実行しているPHPプログラムにおいてCSVファイルにどんどん追記していく処理があります
ユーザーはブラウザで好きなときにそのCSVファイルをダウンロードするのですが、上記追記処理と
ダウンロードがたまたま同時になると、追記途中のCSVがダウンロードされる恐れがあります

PHP側ではflock LOCK_EXをかけてはいますが、ブラウザからのダウンロードはロックできないようです
(サーバーによる?)
これの対策をするにはどうすればいいでしょうか?
0387デフォルトの名無しさん (オッペケ Sr4f-vVXv)
垢版 |
2022/03/08(火) 19:38:20.01ID:NUjfH1ddr
1ページの投稿をブロックに分けて1ページあたり2ブロックとしたいのですが、
$block_per_page = 2; //ページあたりブロック件数
こちらの文のみでブロック数として使うことは可能なのでしょうか?
1ページあたりのブロック数を使いたいんですがphpでどのように書けばよいのかわかりません。
教えてくださいお願いします。
0392デフォルトの名無しさん (ワッチョイ 427c-9pEf)
垢版 |
2022/03/12(土) 16:19:48.20ID:zW5va19F0
HTMLの部分は制御構文(ifやforeachなど)以外のコードを含ませないのが一般的かと
関数みたいなものをHTMLから呼ぶのは構わないが、そのコードは別に書いた方がいいかと
0398デフォルトの名無しさん (ワッチョイ 6902-/Iuh)
垢版 |
2022/03/12(土) 20:32:19.76ID:jHv1uPK10
php内にhtmlを埋め込まなきゃいけないことがあるとかじゃなくて、どちらがコードを書く手間を省けるか好みや思想でしょ
ユーザーから見たらどっちでもいいことなんだし
0399デフォルトの名無しさん (スップ Sda2-vwGs)
垢版 |
2022/03/12(土) 22:47:00.28ID:hnYm2peld
>>390
phpファイルにプログラムを記述するときは、php部分とhtml部分は、ごちゃ混ぜにならないように、
なるべく分離して書くようにするのがいい。
そして大抵の場合、ロジック部分であるphp部分がファイルの前半に来て、
その結果をファイルの後半でhtml部分で出力することになる。
0406デフォルトの名無しさん (ワッチョイ 86cb-WCXV)
垢版 |
2022/03/16(水) 10:54:21.97ID:itmR/dMn0
phpでrss配信するには、wordpressなどを使ったほうが良いんでしょうか?
大げさですかね?

rssをまとめサイトから取得し、取得したものを記事としてまとめ、その記事を配信するという感じです。
0413デフォルトの名無しさん (スプッッ 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 のような / と - が混在した文字列も通してしまうのですが
これを解消する正規表現の書き方を教えていただきたいです

お願いします
0416デフォルトの名無しさん (スッップ Sda2-vwGs)
垢版 |
2022/03/18(金) 20:18:56.75ID:jJhZWOIAd
そもそも、preg_spritやcheckdateをする前に、入力値が正しいフォーマットであるか
チェックした方がいいんじゃない?
単に混在のみを許さないなら、事前に混在の有無をチェックしてエラーにするとか
0417デフォルトの名無しさん (スプッッ 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関数で/と-のそれぞれ分けてチェックしてみます
ありがとうございました
0419デフォルトの名無しさん (ワッチョイ 692c-lWiN)
垢版 |
2022/03/18(金) 22:45:29.62ID:kyCDYLMv0
Ruby on Rails のValidate では、View, Model の両方でチェックする。
さらに、実際に存在する日付かどうかもチェックする

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

こうして、すべてがチェックされたものしか、データベースへ保存しない
0420デフォルトの名無しさん (ワッチョイ 692c-lWiN)
垢版 |
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 みたいに、異なるバージョンを統一的に扱えるモジュールが必要
0422デフォルトの名無しさん (ワッチョイ fbcb-bSSa)
垢版 |
2022/03/19(土) 10:36:06.96ID:Jz9s8SFR0
xamppで使われているデータベースソフトはmysqlというものなんでしょうか?
大規模なものを作るわけではないのですが、もっと簡単な選択肢というのはありますか?
0429デフォルトの名無しさん (ワッチョイ 8bf2-nf1F)
垢版 |
2022/03/20(日) 22:49:21.68ID:hQnXKhQ80
実行時のエラーを画面に表示させないかわりにログに吐き出したいのですが、
探し方が悪いのかerror_reportingが見つかるばかりでよく分かりません

どのようにすれば実現できますか?
0439デフォルトの名無しさん (ワッチョイ 531b-bSSa)
垢版 |
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 行目
0443デフォルトの名無しさん (オッペケ Sr85-uTnq)
垢版 |
2022/03/22(火) 04:32:12.72ID:Vsg5BiCzr
さすがにテーブルの作り方くらいこんなところで聞かないでググればわかるだろ
なんでここでレス待って無駄な時間かけてるのか
質問スレだから別にいいんだが
0446デフォルトの名無しさん (ワッチョイ 8149-MdQT)
垢版 |
2022/03/22(火) 10:57:47.69ID:qiHhH37I0
そもそもSQLをなんだと思ってるんだ?

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

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

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

結構ここらは曖昧なもの、きっちり切り分けできないものでしょうか?
0452448 (ワッチョイ 1302-yL30)
垢版 |
2022/03/23(水) 23:31:34.77ID:6/u1gnhe0
関数になっているものは、modelにあげればいいのかな。
関数になってないものは、Controllerで。。
0453デフォルトの名無しさん (ワッチョイ 292c-kNuw)
垢版 |
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 から、複雑なコード部分を抜き出す
0457デフォルトの名無しさん (アウアウクー MM05-6xcJ)
垢版 |
2022/03/25(金) 07:13:01.47ID:+mvdxmyUM
DBはpdoで使うけどWEBアプリ作る時はWEBアプリフレームワークが用意してるDB用ライブラリで使う。
WEBアプリフレームワークが用意してる DB用ライブラリといってもdoctrine使ってるだけだったりする。
DB接続管理しないとDB接続切断漏れでメモリ使用量が増えて接続出来なくなることがあるからそういうのも管理してるDB用ライブラリを使うと良い
0460デフォルトの名無しさん (ワッチョイ fbe7-SQ3f)
垢版 |
2022/03/25(金) 18:00:35.30ID:j4lS34YJ0
$fp = fopen("unko.txt","r") or return;

ってやりたいんだけど、当たり前だけど式じゃないから
これ出来ないじゃん?
で、質問だけど、PHPに 「リターンする式」 ってある?
0463デフォルトの名無しさん (ワッチョイ 1302-SjDQ)
垢版 |
2022/03/25(金) 19:43:10.27ID:E8AHZ+++0
ログインのページで
session_start();
でセッションIDが発行され、サーバー側に保存、クライアントのブラウザにセッションIDの値がクッキーに保存されることは理解していますが?

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

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

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

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

のような意味合いで捉えればいいでしょうか? 
0466デフォルトの名無しさん (スップ Sd73-qTDW)
垢版 |
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を別のものに切り替える
0469デフォルトの名無しさん (ワッチョイ f568-+Ivz)
垢版 |
2022/03/27(日) 08:52:49.93ID:2Abk94v90
デバッグ用の関数を考えています
変数の中見を見た後、die()で止めるにはどのようにすれば良いでしょうか?
以下だと、returnで終わってしまいますのでdie()が実行されませんでした。

function v($var){
return var_dump($var);
die();
}
0475デフォルトの名無しさん (アウアウウー Sacd-bb9c)
垢版 |
2022/03/27(日) 17:56:14.40ID:TscJEPL7a
データベースを使わずに無理やり返信機能を作ろうとしてるんですが、やっぱりまずいでしょうか?

なんでもデータベースを使うのは嫌なんですが、使わないとクラッカーの攻撃の的になって迷惑をかけると書いてあったんですが
デフォルトのやり方に沿ってデータベースを使わないと駄目なんでしょうか?
0477デフォルトの名無しさん (ワッチョイ 527c-+Ivz)
垢版 |
2022/03/28(月) 01:20:54.04ID:ee0nwmF40
>>475
別にファイルなどに保存(大昔の掲示板のデータなどはそうやってた)でもいいのだけど
ファイルだとアクセスが競合すると意図しない結果になる可能性があるのでロックしたりやら何気に面倒なので
今ではちょっとしたデータでもDBに保存するのが普通になっているだけ
Sqliteとかでも導入した方が良いかと思うしLinuxならmysqlとか簡単に入れられるし何故DBを避けるのか?
SQLが全く分からないようなレベルだとしたら、ファイルでやるのも難しいのでは?
0482デフォルトの名無しさん (アウアウウー Sacd-bb9c)
垢版 |
2022/03/28(月) 16:39:58.25ID:KVxU4Wgwa
>>477
DBが嫌なのは実装が面倒だからですね
返信ボタンとCSVファイルだと管理が楽だと思うので
0488デフォルトの名無しさん (ワッチョイ ad49-+/qe)
垢版 |
2022/03/29(火) 11:23:48.03ID:3wCJ+Lll0
仮に脆弱性があった場合、
通常本番に入れるべきではないとされるものを開発側の理由で入れてた責任を取れるならいいんじゃね
ipスプーフィングされちゃいましたとかもあるし、普通セキュリティリスクは極力避けるものだと思うよ
0490デフォルトの名無しさん (ワッチョイ 9202-VQaK)
垢版 |
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

どっち使っても問題ないですか?
どっち使っても同じなら、簡単なロケーション設定で対応したいと思いますが、ご意見ありますか?
0491デフォルトの名無しさん (ワッチョイ 527c-+Ivz)
垢版 |
2022/03/29(火) 17:45:14.13ID:g2SW/NK60
>>485
xdebugはかなり重いしport9000とかを開けないといけないので
どっちにしてもあり得ない

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

目的は個人サイト用ですが、仕事でこれから開発する人は
どのバージョンを選択するか教えて下さい。
0496デフォルトの名無しさん (ワッチョイ b12c-XwpL)
垢版 |
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; }
0500デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/30(水) 23:14:02.09ID:1ooXHKRQ0
オライリーの本にでてたのだけど。サンプルが間違ってるのかな?

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

if($dinner == 'Braised Scallops') {
print "Yum! I love seafood.";
}
0501デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/30(水) 23:21:03.84ID:1ooXHKRQ0
ちなみに以下なら、if条件はfalseになる。

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

リテラルと「false」で「==」の比較をするとtrueが返ってくるの??
0503500 (ワッチョイ 9202-tbOq)
垢版 |
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;
0504500 (ワッチョイ 9202-tbOq)
垢版 |
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.";
}
0505デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 04:59:01.80ID:oh99lNSH0
オライリーの「はじめてのphp」から。
の一部のコードを参考に、フォームからの入力で条件を確認しています。

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

これまで、==で比較することなかったので、その結果に違和感があるところです。
0509500 (ワッチョイ 9202-tbOq)
垢版 |
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
0510デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 09:32:05.79ID:oh99lNSH0
確かに 0 と false では挙動が違いますね。
すごくもやっとします。
0514デフォルトの名無しさん (ワッチョイ debb-rfKR)
垢版 |
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 バージョンにおいては間違った情報を垂れ流していることになる
0515デフォルトの名無しさん (ワッチョイ debb-rfKR)
垢版 |
2022/03/31(木) 12:05:50.04ID:PtLOqfk30
> の挙動が本と実機で異なるってことなんで、まずそこから理解するといいよ

ん?違うのか?

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

それなら、8系で修正されて直感と揃ったぞってことだね
0516496 (ワッチョイ b12c-XwpL)
垢版 |
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 にする
} );
} );
0517500 (ワッチョイ 9202-tbOq)
垢版 |
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では改善されているのですね。

詳しい説明ありがとうございました。
0518デフォルトの名無しさん (ワッチョイ b12c-XwpL)
垢版 |
2022/03/31(木) 15:05:21.39ID:3F1JJOSM0
JavaScript では、== は使わない方がよい。
常に厳密等価演算子、=== を使うべき

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

こういうバグは、全部テストできないから厄介
0519デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 16:35:59.57ID:oh99lNSH0
>>518
>JavaScript では、== は使わない方がよい。
>常に厳密等価演算子、=== を使うべき

これはPHPには当てはまらないのですか?
もっともなんとなくphpでも、比較するときは===を使ってますけど。
0520デフォルトの名無しさん (オッペケ 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個ずつにする方法を教えてください、どうしてもわかりません。
0521デフォルトの名無しさん (オッペケ 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>"; // 画像と画像の右にタイトル
}}
0522デフォルトの名無しさん (スップ Sd12-KRpU)
垢版 |
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 と見なされるようになったことです。
0523デフォルトの名無しさん (スップ Sd12-KRpU)
垢版 |
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
0524デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 22:10:53.99ID:oh99lNSH0
ありがとうございます。
なるほど。今7系のPHPで勉強してるけど。

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

これが 3
になるってのも、もやっとしてたんだけど
そこにつながるのですね。
0526デフォルトの名無しさん (ワッチョイ 2302-wq0K)
垢版 |
2022/04/02(土) 13:04:19.39ID:PPKYa6900
さすがにブラウザが勝手にhtmlコードを追加することないですよ。
そのコードが本当に出力されているのなら、Javascriptなんかで<ul>を生成されているんじゃないかな。
0531デフォルトの名無しさん (ワッチョイ 2302-wq0K)
垢版 |
2022/04/02(土) 14:06:20.88ID:PPKYa6900
開発者モードで書き込み中の不備のタグを補完するのは、
単にエディタの補完機能と同じじゃん。
もともとソースコード問題があっても、ブラウザは生成するソースを変更しないよ。
ブラウザがやってるのは、描画時に問題がないように解釈するだけ。

Document変えるのはJSとかでしょ。
先のは、生成されたソースことなんだろうから。
0534デフォルトの名無しさん (ワッチョイ 23ad-KXHF)
垢版 |
2022/04/02(土) 14:23:41.80ID:mq5L2U9M0
ちゃんと文脈読もう
ブラウザが勝手にhtmlコードを追加する事はあるよ
>>530の言うように525のような補完方法はないけど

その前に下記の意味が分からんのだけど
>上記のように出力しているのですが、ul を1個ずつにする方法を教えてください、どうしてもわかりません。
0536デフォルトの名無しさん (ワッチョイ 2302-wq0K)
垢版 |
2022/04/02(土) 14:29:10.47ID:PPKYa6900
どんな補完しているかは、ユーザー側でわかりっこない。
0537デフォルトの名無しさん (ワッチョイ 2302-wq0K)
垢版 |
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>
0541デフォルトの名無しさん (ワッチョイ a37c-fe9w)
垢版 |
2022/04/05(火) 18:53:21.93ID:U10U/iFz0
そもそもまともにHTMLすら書けないのにPHPが書ける訳無いよね・・・
これだけ質問しても出来ないという事は才能無いだろうし
金払って優秀な人に教えてもらうとかしないと自力では無理でしょw
0542デフォルトの名無しさん (テテンテンテン MM4b-velb)
垢版 |
2022/04/06(水) 19:21:09.25ID:BW6ioY7bM
公式サイトの日本語って何か難しくない?
Qiitaとかで調べてからじゃないと公式の言ってることがわからんことがある
0544デフォルトの名無しさん (アウアウウー Sabb-1SDO)
垢版 |
2022/04/12(火) 15:20:12.66ID:jPYvn4Oea
DB処理の格納接続表示を3つまとめたのですが重すぎてタイムアップになります
これを3つ分けて書いた場合負担は軽減されますでしょうか?
またファイルは分けた方が良いでしょうか?
0547デフォルトの名無しさん (アウアウウー Sabb-1SDO)
垢版 |
2022/04/12(火) 16:05:43.12ID:xX3JuDfra
通常のサイトでレンタルサーバーを使う場合データベースを10個も動かすことはできるんでしょうか?
0549デフォルトの名無しさん (ワッチョイ 6f2c-wAOu)
垢版 |
2022/04/12(火) 17:01:17.51ID:gsOGD0UL0
重すぎるかどうかは、実行計画を見ないと分からない。
実行計画に、full scan・総当たりがあったら遅くなる。
総当たりは計算量(N)、つまりレコード数に比例する

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

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

それでタイムアウトしたのかも
0550デフォルトの名無しさん (ワッチョイ 8e84-Qpjg)
垢版 |
2022/04/12(火) 23:51:19.23ID:KdVn/I690
質問です
現在私は掲示板をやっていて
formの送信があったらphpからdatに書き込みをしてphpがdatのデータを取得する形式なんですが
5chみたいに、formでリンクが送信されたときに自動でリンクを貼るにはどうすればいいのでしょうか?
0551デフォルトの名無しさん (ワッチョイ df01-L4Li)
垢版 |
2022/04/13(水) 00:44:12.60ID:UabNWL5R0
phpでは不可能ですね
rubyを使うのが良いでしょう
0552デフォルトの名無しさん (ワッチョイ 227c-EhK1)
垢版 |
2022/04/13(水) 00:52:48.21ID:P5y02Tze0
単に文字列の中のURLをpreg_match_all()などで抽出し
抽出されたURLにをaタグを付けて置換すれば良いだけでは?
この程度の事が分からないのに掲示板なんて作れたなw
0559デフォルトの名無しさん (ワッチョイ bfb7-fNw1)
垢版 |
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まででは動いていたのかが謎
0560デフォルトの名無しさん (ワッチョイ ffbb-yf0H)
垢版 |
2022/04/16(土) 06:57:39.53ID:oSqpgZsi0
>>559
8.1 ではなくて 8 ですか?
8.1 に関しては、CP932/SJIS/EUC-JP あたりのことを tweet してた人がいた気がします
理解不能だったので読み飛ばしたんですけど、かなり深い闇だった気が
0564デフォルトの名無しさん (ワッチョイ ffbb-yf0H)
垢版 |
2022/04/16(土) 07:52:37.37ID:oSqpgZsi0
>>563
そのツリーだけではなくて、その前後も含めてですね
ただ、今読み返してみると、>>559 とは別の内容かもしれないです

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

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

でも行けるんですね。
何か違いが出てくるのでしょうか?
0582デフォルトの名無しさん (ワッチョイ a702-SPxF)
垢版 |
2022/05/03(火) 19:35:40.72ID:mDdvElg00
そりゃそう言われても仕方ないね
でも言いたいことは>>580と変わりなく、上半身裸で外をうろついていいですかと聞かれても
それくらいなら別に止めんよということと同レベルとだけ
0583デフォルトの名無しさん (ワッチョイ 87b1-6Jp9)
垢版 |
2022/05/04(水) 19:17:40.73ID:CNnT8weS0
password_hash($pass, PASSWORD_DEFAULT);
としてパスワードをハッシュ化した時のデメリットにはどのようなものがあるか教えて下さい。

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

さてそろそろイメージできるようになったのではないだろうか
0585デフォルトの名無しさん (ワッチョイ 7f2d-PwpY)
垢版 |
2022/05/04(水) 19:50:51.05ID:h5ouCXsT0
password_hashによってハッシュ化された文字列には
使用したアルゴリズム等の情報も含まれているから、将来性は考慮されている。
0587デフォルトの名無しさん (ワッチョイ 872c-6Jp9)
垢版 |
2022/05/04(水) 22:56:40.38ID:AJMM67e40
「ruby on rails bcrypt」で検索!

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

class User < ApplicationRecord
has_secure_password
end
0588デフォルトの名無しさん (ワッチョイ 8701-6Jp9)
垢版 |
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%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
0589デフォルトの名無しさん (テテンテンテン 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
0591デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/09(月) 09:53:41.06ID:gmNVuR+cM
そうです
0593デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/09(月) 13:33:35.13ID:NRg31fglM

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

Javaの感覚だとisset($array[100])でも存在しないとこ見てるからエラーになりそうなのに
0596デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/13(金) 12:54:15.84ID:N7EodmWOM
false
0599デフォルトの名無しさん (ワッチョイ aa7c-PvPk)
垢版 |
2022/05/13(金) 16:59:50.75ID:oA5QmAfW0
isset()はそれ自体が有効かどうかチェックするものなので
isset()が実行される前にエラーになったら調べられないだろ?w
この動作が気持ちが悪いと思う気持ちも分からなくは無いがそういうものなのでw
0601デフォルトの名無しさん (ワッチョイ 437b-e1jU)
垢版 |
2022/05/13(金) 18:37:18.14ID:sVH20G9d0
Is this set?
っていう中学レベルの英語すら出来ない馬鹿ってだけだろ
(なおウザイから先に言っておくが、setはset-set-setの不規則動詞な)
Javaも分かってないが、それも自覚出来ないレベルの馬鹿ってだけ
0610デフォルトの名無しさん (ワッチョイ 9aa9-pPWi)
垢版 |
2022/05/23(月) 12:46:41.67ID:9ms6cfTb0
>>609
ありがとう
代入の=が忘れていたのはわかるんだけど
リファレンス私ってのがドキュメント見てるけど難しいな・・
関数を使う前に定義されているものを引数として使う時に&変数として使えると思ったけど
foreach内で出てくる変数を、リファレンス渡しする使い方ができるのね

($prices AS $key => $str)は合っているように思えただけに
なんで動かないんだろう
0614デフォルトの名無しさん (ワッチョイ cebb-MYiA)
垢版 |
2022/05/23(月) 21:35:49.36ID:bZEiUBxs0
foreach のリファレンス渡しは基本的に避けるほうが良い
配列の中身を変更するんだったら別の配列に一度入れてから上書きするといいよ
array_map()とか使うと配列を処理して上書きしてんだな。ってわかりやすい

別解
$prices = array_map(fn($str) : int => sscanf($str, '%u円')[0], $prices);
0617デフォルトの名無しさん (ワッチョイ cebb-MYiA)
垢版 |
2022/05/24(火) 09:44:02.81ID:Gz2TS/6R0
キモイと思うヤツは言語仕様に興味が無いからだろ
まともなヤツは言語仕様の特徴(バージョンでの変化も)を先に調べてから使うから別になんとも思わん

あーでも引数の順番がまちまちなのは別だ。あれはキモいw
0618デフォルトの名無しさん (ワッチョイ 4ea7-5qYK)
垢版 |
2022/05/25(水) 07:15:26.55ID:dHrSMA9Y0
>>616
他の言語は+で足したり文字くっつけたりするがPHPの場合は演算子が分かれてる
11にするには文字列連結(ドット)演算子
加算演算子は自動的にintにパースされるのがPHPの仕様
Web向けの言語だしHTMLフォームから渡されるのは文字列だからその辺考慮して簡潔に書けるようにした結果じゃね多分
0620デフォルトの名無しさん (ワッチョイ caba-8jyA)
垢版 |
2022/05/25(水) 08:51:09.46ID:rVRUpzpa0
PHPでファイルスコープの変数を使うやり方で
最も一般的な手法を教えろ
0622デフォルトの名無しさん (ワッチョイ 9aa9-pPWi)
垢版 |
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だよね
0627デフォルトの名無しさん (ワッチョイ d38b-yO3c)
垢版 |
2022/05/30(月) 13:51:15.66ID:/JK2MYXZ0
cake2で作ったシステムを cake4にアップグレードしようか
フレームワーク無しで作り直そうか
かなり迷ってます、、、


フレームワークはアップデートがあるので
アップデート作業がかなり面倒なんですよね。。。
みなさんならどうしますか?
0631デフォルトの名無しさん (ワッチョイ b95f-C3hH)
垢版 |
2022/06/01(水) 06:36:55.64ID:+GSsnIlu0
window.onloadやaddEventListenerを使ってphpファイルを作成しました。
ChromeやEdgeでは動作しましたが、IEでは動きませんでした。
IEで動かすにはどのようにすれば良いでしょうか。
0635デフォルトの名無しさん (ワッチョイ 2b10-SuRq)
垢版 |
2022/06/01(水) 21:21:18.26ID:MvyUubDJ0
>>627
自分も全く同じ状態で悩んでいたけど、Laravelに移行した。
Laravelを学んでみるとCakeの経験が活きたんだが、
今はLaravel9に移行しようか悩んでいるw

Laravelはバージョンアップ間隔短すぎるのがネックなんだよな
>>628の言う通り、そのまま使っても問題ない気がしてる
みんな、Wndows11でても10使い続けてるだろうし
0649デフォルトの名無しさん (ワッチョイ b95f-G2Bm)
垢版 |
2022/06/03(金) 14:16:49.93ID:QWy0EaFt0
time()の1時間って1万ですか?
0650デフォルトの名無しさん (アウアウエー Sab2-Rebr)
垢版 |
2022/06/04(土) 10:57:28.38ID:moekfv2wa
ネットの銀行口座の預金残高を1000万以上の数値に変えてほしいのですが、どなたかやってくませんか?
自分ではできないので
何卒宜しくお願い致します
cpiwls0bdl@sute.jp
0659デフォルトの名無しさん (ワッチョイ 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>”.
って去年あたりから出るようになったんだけど、これって回避方法ありますか?
クッキー処理を別ファイルにしてそれを読み込むときにこのワーニングが出てます。
色々なサイトで同じようにワーニングだのエラーだのが沢山出てるので
もうこんなの無視して良いんじゃね?とか言われればそれでもいいかなと思ってたりしますけど。
0660デフォルトの名無しさん (ワッチョイ d95f-fRoS)
垢版 |
2022/06/08(水) 00:59:03.16ID:hVioIWNy0
PHPで通信対戦のレーシングゲーム作りたいんですが
どうすればいいですか?
0661デフォルトの名無しさん (ワッチョイ 86a7-h4Uq)
垢版 |
2022/06/08(水) 04:43:05.12ID:xGe1158E0
通信やらネットワーク周りはPHPでいいとして
肝心のゲーム部分についてはPHPじゃ作れないので
C系やらJava系やらJavaScript系やらのゲームエンジン使って作って下さい
そうするとだいたい通信部分も言語合わせたくなるので
そもそもの選択肢としてPHPは誤りです
0663デフォルトの名無しさん (ワッチョイ 8610-K8bC)
垢版 |
2022/06/09(木) 08:49:58.05ID:dRKOKm+N0
CAの技術ブログ?かなにかで
スマホアプリの開発でPHP使ってる記事があったけど、
PHPで開発できるんだと驚いた記憶がある
もちろん、PHPだけってことはないが
0664デフォルトの名無しさん (ワッチョイ 8610-K8bC)
垢版 |
2022/06/09(木) 08:52:21.57ID:dRKOKm+N0
>>662
俺はLaravelに移行したが、アップデート早すぎるので
新規開発できずにしばらく止まってるw

Laravelに限らないが、アップデート間隔短くて
どうやって業務で使うんだろうな?
アップデートするのも相当コスト&リスクが伴うのに
0666デフォルトの名無しさん (ワッチョイ 892f-M86+)
垢版 |
2022/06/09(木) 11:28:18.56ID:WYCVR9XP0
アプデしなきゃいいという訳にはいかんから聞いておるのだ。
0678デフォルトの名無しさん (ワッチョイ cfa7-IRXD)
垢版 |
2022/06/11(土) 15:56:04.69ID:yfI5Z1yf0
Laravelがってわけじゃないけど
アクセスログ見るとFWの脆弱性ついてるんだろうなというようなものが散見される
まあデフォルトのまま使ってない限り問題にならないケースも多いと思うけど
ブラックボックスじゃないものを使う場合それなりに気を使う必要はある
0680デフォルトの名無しさん (オッペケ Sr87-YKvE)
垢版 |
2022/06/13(月) 14:21:42.13ID:xTGrsj3Tr
質問です。

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

functionじゃなくて、クラスを使うメリットってなんですか?
0685デフォルトの名無しさん (ワッチョイ ffa9-DKQR)
垢版 |
2022/06/14(火) 15:12:04.81ID:2/muA6c70
ひらがなの判定で
$furi = 'む';
if (!preg_match("/^[ぁ-ん]*$/", $furi)) {
echo 'ふりがなではないです';
} else {
echo 'ふりがなです';
}
「む」があるとふりがなでは無いと言われるのはなぜ?

"/^[ぁ-ん]*$/u"の u があると通るけど、これはutfのuだと思うけど
php.netのマニュアルに u の記載ってどこにありますか?
0690デフォルトの名無しさん (ワッチョイ cfa7-IRXD)
垢版 |
2022/06/17(金) 06:33:03.16ID:NY2vFvWg0
>>689
その辺の挙動について調べたのはPHP5.x時代だから7以降で変更があったかどうか知らないが
要求があった際に確か1/100とかの確率で有効期限ぎれのセッションファイルが消去される
1/100ってのはデフォルトの設定なので値を変えて1/1にすれば毎回判定される(おすすめはしないが)
あとセッションファイルをテンポラリとかにおけばOS側でcronで定期的に削除される可能性もあるがこれも設定次第
0692デフォルトの名無しさん (アウアウウー Sa67-ffpc)
垢版 |
2022/06/17(金) 14:20:42.06ID:YIFW3p+8a
include、reqioreでは、__DIR__は使えるのに、<a>タグのhrefでは使えないのは何故でしょうか?
解決策は分かっているのですが、何故hrefではダメなのかを知りたいです。
宜しくお願いします。
0694デフォルトの名無しさん (ワッチョイ cfbb-bGSb)
垢版 |
2022/06/17(金) 16:56:55.16ID:CPX9Pfyj0
>>693
構文的には使用可能です
ただし、一般的にURLを表すパスとしては適切ではありません
URLの指定は、Webサーバ経由でのリクエストとなるので、サーバ内部のファイル・ディレクトリとは別物となります
0696デフォルトの名無しさん (アウアウウー 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/

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

ありがとうございます。
1回だけっぽいですね。
学校とか会社みたいに日中の決まった時間しかいないような場合だと
36000秒の1/1とかにしとけば日中は切断されず翌日は必ず切断って感じにできますね
0720デフォルトの名無しさん (ワッチョイ cebb-sER5)
垢版 |
2022/06/21(火) 18:21:25.20ID:czGhOTSx0
<select>
<option <?php 関数 ?> >A</option>
<option <?php 関数 ?> >B</option>
</select>

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

終わりの「?>」いらないの?
0721デフォルトの名無しさん (ワッチョイ 4e10-sgjE)
垢版 |
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>

みたいな感じになってる?
(全角?>は半角に直してくれ)
0722デフォルトの名無しさん (ワッチョイ cebb-sER5)
垢版 |
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のバグなんだろうか
セレクトボックス沢山出したいだけなのにえらく苦労してるわ・・・
0732デフォルトの名無しさん (ワッチョイ 1a97-643o)
垢版 |
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はサイトまとめて、ユーザー関数の定義を記述するような構成はダメでしょうか?
0733デフォルトの名無しさん (ワッチョイ 3b5f-ZkDn)
垢版 |
2022/06/23(木) 14:39:52.76ID:ylcn6MOw0
ケースバイケースじゃないのかね
ファットコントローラーやファットモデルにならないように、ってのはあるけど
リポジトリパターンとかもあるし、色々調べてみれば?
0734デフォルトの名無しさん (ワッチョイ 8abd-sER5)
垢版 |
2022/06/23(木) 14:48:15.44ID:4t7AEZEN0
私はたいてい、DBのテーブル単位にModelのphpクラスを作ります。
テーブルとModelクラスが完全に1対1になることはあまりないけど。

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

TextBlock

EndTextBlock

にしろ!

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

頭悪いやつが作った言語だな
0743デフォルトの名無しさん (ワッチョイ cf49-tCSL)
垢版 |
2022/06/29(水) 11:39:42.66ID:par7A0IW0
PHPで以下の書き方を、その下の書き方のように短くできますか
呼び出す側は変えないようにしたいです

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



public function index() => view('home.index');
0744デフォルトの名無しさん (ワッチョイ 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();
0746デフォルトの名無しさん (ワッチョイ 7bba-rz8c)
垢版 |
2022/07/03(日) 12:09:49.43ID:2ijg+lGE0
「->」を書く時に、

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

指がつって、なかなか慣れずにいます。
もっと楽に書けるような方法はないのでしょうか・・
0749デフォルトの名無しさん (ワッチョイ 1ea7-7P0/)
垢版 |
2022/07/03(日) 18:28:55.52ID:lBTOxVpJ0
ちゃんとしたタイピングだとそうなるのかー
ちゃんとしたタイピング身につけなかったから右手はほぼ人差し指と中指しか使ってないようだw

- 右人差し指
左SHIFT 左小手指指
> 右親指
0757デフォルトの名無しさん (ワッチョイ 6b01-9ZeA)
垢版 |
2022/07/06(水) 21:34:15.76ID:H65lGu+E0
>>756
オリジナルWebアプリを作りたいんだけど、いざ白紙の状態から作ろうとすると何も書けない
とりあえず↓の画像のようなViewファイルを作りたいんだけど、誰か教えてくれると助かる・・・
フォーム部分はLaravel CollectiveのFormを使うらしいんだけど、書き方よく分からない
https://i.imgur.com/jmbE8P4.jpg
0761デフォルトの名無しさん (ワッチョイ 1e63-auNL)
垢版 |
2022/07/07(木) 12:01:03.00ID:+K/WmIxF0
有償でやるなら、きちんとしたサイトがあるだろう
知り合いのつてたよって、企業に依頼する方法もあるだろう
匿名掲示板の、互いに正体不明の相手と金をやり取りって
釣りとしか受け取られない
0762デフォルトの名無しさん (ワッチョイ ca7c-auNL)
垢版 |
2022/07/07(木) 14:01:25.87ID:zGORdUl/0
>>757
まずアプリ作る以前にそのHTMLだけを書いてみたら?
見栄えはどうでも良いとしてね
それが出来たらLaravelであればviewファイルを取りあえずHTMLのそのままコピーで置く
それだけだと見るだけなら動くのではないかな?
formのactionにsubmitを押した後の処理の先を設定したりcsrfトークンをhiddenに設定したりなど
色々しないとその先は動かないけど
0763デフォルトの名無しさん (ワッチョイ 1e10-nSmI)
垢版 |
2022/07/07(木) 14:29:14.38ID:v9nahr6I0
>>757
Laravelはバージョンがたくさんあって分かりづらいけど、
アップデートはそんなに大変じゃないから、
とりあえず本屋行って、わかりやすい本買ってきたら?

俺は6の本買って、MVCやフォーム操作をひと通り学んだ後、
8の開発に取り組んだけど、わりと簡単に移行できたよ。
白紙の状態だと難しいから、本のサンプルを作ってみれば良い
0768デフォルトの名無しさん (ワッチョイ 25ba-/dRU)
垢版 |
2022/07/09(土) 08:45:36.64ID:IQ5KkJKH0
どこにでも一定数いるけど
相手に時間に使わせても一向に平気な人間って居る
暇なひとだから教えてくれてるとか
自分に都合の良い解釈ばかりして
相手から搾取することしか考えていない
関わるだけ時間と手間の無駄
0771デフォルトの名無しさん (スップ Sd43-PZPQ)
垢版 |
2022/07/09(土) 10:59:03.05ID:tXKhvlx0d
そりゃ友達には気を使うけど、会社の人間とかお前らなんて搾取さえ出来れば用無しだからな
俺が神でお前らは無償労働してくれる下僕。これからも俺の質問に無償で答えてくれよぉーんw
0777デフォルトの名無しさん (ブーイモ MMeb-b3Zl)
垢版 |
2022/07/09(土) 21:55:10.89ID:2vfb2XArM
× やさしいから
× ひまだから
× 搾取される体質だから
○ ハゲだから
0778デフォルトの名無しさん (ワッチョイ cb2c-0UEB)
垢版 |
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 には資格の教科書が売ってないから、勉強できないから使われない

技術選定は、ほとんど学習環境で決まる。
学習環境が無いものは、上達できないから使われない
0806デフォルトの名無しさん (ワッチョイ 0d01-qysg)
垢版 |
2022/07/20(水) 23:12:08.80ID:5dyzzXol0
え?箱庭諸島は?
0807デフォルトの名無しさん (ワッチョイ 9a7c-GsVe)
垢版 |
2022/07/21(木) 10:14:20.14ID:tyA/56lU0
グラブルなんか昔ながらのブラウザゲーだからフロントのjsはあるにしてもPHPがメインという感じだし
今でもバックエンドのAPIでPHPを使うケースも多いしゲームと無関係と言う事はないな
0808デフォルトの名無しさん (ワッチョイ 8949-J8jO)
垢版 |
2022/07/21(木) 10:30:56.46ID:V7ED8gxj0
ワイが最初にphpで作ったのはサイトというよりLINEのbotAPIサーバ?やったな
LINEサーバからのWebhookに応じてレスポンスするだけだけど、LINEアプリが色々できるから楽しかった
サーバ周りの費用以外はタダでできたんだけど、色々と勉強になった
ドキュメントは転がってるし公式のは親切だけど、コミュニティは使えない

今ならなんかのフレームワーク使ってラクするかもなあ
0813デフォルトの名無しさん (ワッチョイ 0b97-R4TS)
垢版 |
2022/07/23(土) 15:11:35.76ID:I+MvQiFn0
PHPのforeach文っていうのありますが、
これは、for文のように「構文」と思っていいですかね。
JavaScriptには、forEach()メソッドがありますが、こっちはメソッド
と理解しているので、プログラミングの要素としては別物と考えていいですかね。
0816デフォルトの名無しさん (ワッチョイ 0b97-R4TS)
垢版 |
2022/07/23(土) 17:11:58.06ID:I+MvQiFn0
一つの言語だけ習得して組むなら、慣れでコーディングできるかもしれんけど。
複数の言語を習得するなら、それぞれ言語のルールをきちんと理解したほうが
いいんじゃないかなって思っている。
foreachが構文であるのと、メソッドであるのとはだいぶ考え方が違うんじゃないかな。
とわたしは思うが、他の人はちがうかも。
0817デフォルトの名無しさん (ワッチョイ 097b-J/z0)
垢版 |
2022/07/23(土) 17:48:16.11ID:I3z/bn4K0
>>816
構文とメソッドは別物だが、
それ以前に、php.netを読んで分かる事をここで聞くのは間違ってる。
ちゃんと学ぶ気があるのなら、どのみち読む事になるので、最初に全部読んでしまった方が結果的に早い。
他言語と違って頭から読む用に書かれてるし、通読する価値はあるよ。
0819デフォルトの名無しさん (ワッチョイ 8bbb-JtV0)
垢版 |
2022/07/23(土) 18:17:17.53ID:ujWIoPOW0
メソッドとの比較という意味であれば、php の foreach はキーワード
https://www.php.net/manual/ja/reserved.keywords.php
意識する必要はあるけど、意識しなければならない頃には自然に覚えてると思う

キーワードは標準関数とは異なる記述や法則で動くことが多い
よく例としてあげられるのは echo
標準関数である print() との比較は各所でされているので調べてみるといい
0820デフォルトの名無しさん (ワッチョイ 097b-J/z0)
垢版 |
2022/07/23(土) 18:27:40.07ID:I3z/bn4K0
>>818
その用途で質問するのは5chの使い方としては正しい。
ただ、それやるならPHPではなくもっとマシだとされてる言語、
一般的にはRustかC#あたりを参考にした方がいい。
多分それなりに整備されてる。
0821デフォルトの名無しさん (ワッチョイ 937c-VsAj)
垢版 |
2022/07/23(土) 19:00:05.73ID:PpxI5rKd0
javascriptのforeachはarrayのメソッド
PHPのforeachと似たようなものがjavascriptにはfor ofがあるし
構文とメソッドは書き方がそもそも違うし結構はっきり分かれている気がするのだけどね
0830デフォルトの名無しさん (ワッチョイ 13f0-TDXn)
垢版 |
2022/07/23(土) 23:36:22.72ID:tL21WNHO0
PHPはオブジェクト指向を学ぶのに向いていない。
なんといってもオブジェクト指向を学びやすいのはRuby。

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

こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
0831デフォルトの名無しさん (ワッチョイ 0b97-R4TS)
垢版 |
2022/07/24(日) 03:30:00.48ID:JeAOJgnu0
>>828
ありがとう。私にはすごくためになる。

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

初心者はJavaから始めるべき。
0833デフォルトの名無しさん (ワッチョイ 110e-c45x)
垢版 |
2022/07/24(日) 11:29:54.56ID:Q/Hqw/pT0
Rubyは日本人が作った糞言語で世界では使っている人は全くいない。
われわれプログラマーに余計な学習コストをかけさせて害しかない。
0834デフォルトの名無しさん (ワッチョイ 110e-c45x)
垢版 |
2022/07/24(日) 11:30:29.94ID:Q/Hqw/pT0
>>831
そのとおり。
全くの正論。
0835デフォルトの名無しさん (ワッチョイ 292c-ofYn)
垢版 |
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は簡単に出来るはずだという固定概念があるから、客が安く叩いてくる。
客の質が悪いので、どうにもならない
0840デフォルトの名無しさん (ワッチョイ d305-TDXn)
垢版 |
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/
0842デフォルトの名無しさん (ワッチョイ 1363-VsAj)
垢版 |
2022/07/25(月) 11:34:40.96ID:TD+9RuG80
Javaは制約が大きいから、PHPのように自由に書けない
その分書きやすいと言える
他人が書いたコードも解読しやすい
Cobolの様に大勢で手分けしてシステムを組むなら都合が良いかもしれない
0845デフォルトの名無しさん (ワッチョイ 8bbb-JtV0)
垢版 |
2022/07/25(月) 13:12:57.08ID:9nSm/doa0
初心者から中級者へのステップアップが難しい言語かもねぇ
例えば、最近だと静的型付け言語ばりにかけるけど、その辺ってphpが最初の言語だとちょっと混乱する
common.phpとかdb.phpみたいな関数まとめたファイルの世界からの脱却も少し難しいよね
0846835 (ワッチョイ 292c-ofYn)
垢版 |
2022/07/25(月) 23:14:50.76ID:gTrk2zFk0
PHP の客筋が悪い。傲慢で値切る

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

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

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

こういう客を相手にしない方が良い。
PHPには、こういう客しかいない
0851デフォルトの名無しさん (ワッチョイ 8bbb-JtV0)
垢版 |
2022/07/26(火) 04:06:22.85ID:9Xrhj23S0
>>850
そのレベルのパフォーマンスを気にするなら、インタプリタを選択してはだめだと思うよ
逆に言うと、インタプリタを選択した時点でそのレベルは誤差になる
むしろキャッシュとかを気にしたほうがいい
0852デフォルトの名無しさん (ワッチョイ 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年、フリーランスのトレンドは「移住&テレワーク」と予測
0861デフォルトの名無しさん (ワッチョイ 1363-VsAj)
垢版 |
2022/07/27(水) 00:13:58.29ID:epkXPlT/0
昔、MSの翻訳サービスAPIを使って、テキスト入力した日本語を各国語に翻訳するシステム作ったことがあるが
構文解析部分でPythonを利用した
全体はPHPを使ってた
0865835 (ワッチョイ 292c-bldA)
垢版 |
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 を取ればよい
0867デフォルトの名無しさん (ワッチョイ 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 を取ればよい
0868デフォルトの名無しさん (ワッチョイ 15ba-NzPP)
垢版 |
2022/08/02(火) 10:53:47.89ID:P6wsYTww0
vscodeを使用してPHPの学習をしていますが、
文末のセミコロンを打つのにendキーや矢印キーで
文末まで移動してから打ち込むのが手間に感じます。
文中に次の行にctrl+enterのショートカットで移動しつつ
文末のセミコロンを自動的に打つような機能はあるのでしょうか?
0873デフォルトの名無しさん (ワッチョイ 6501-G1eK)
垢版 |
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していくしかないですか?
0874デフォルトの名無しさん (ワッチョイ 5d01-G1eK)
垢版 |
2022/08/02(火) 18:56:04.05ID:3Auutz710
検索してみた。

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

って出てきた。
0875デフォルトの名無しさん (ワッチョイ 3a7c-dSCr)
垢版 |
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);
とでもすればいいかと
0878デフォルトの名無しさん (ワッチョイ 6501-p5jC)
垢版 |
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配列がない状態ならこのままでもいけるのですが、配列いれた場合どうしたらよいですか?
0881デフォルトの名無しさん (ワッチョイ da47-dSCr)
垢版 |
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()) {} みたいな書き方が必要
0882デフォルトの名無しさん (ワッチョイ d101-9Xv3)
垢版 |
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>
0891デフォルトの名無しさん (ワッチョイ e95f-FYqT)
垢版 |
2022/08/13(土) 13:25:21.27ID:SX+jBaiR0
スクラッチのPHPをHTMLに埋め込む(言い方あってるかな?)時、HTMLとPHPのインデント分けろって聴いたんだけど理由はHTMLとPHPでちゃんと区別するためってことでいいの?

あと他に記述ルールってある?
0892デフォルトの名無しさん (ワッチョイ aebb-ETcs)
垢版 |
2022/08/13(土) 13:35:24.86ID:Sx7fwAOx0
> HTMLとPHPのインデント分けろって聴いたんだけど理由はHTMLとPHPでちゃんと区別するためってことでいいの?

言ったやつに聞け

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

ビューとロジックを分けて書け
テンプレートエンジンを使うのが普通
0893デフォルトの名無しさん (ワッチョイ fd6e-Gxju)
垢版 |
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/
0896デフォルトの名無しさん (ワッチョイ 8206-O3lh)
垢版 |
2022/08/18(木) 10:03:03.04ID:hYUN2Kgy0
初心者です。教えて下さい。
PHPでSQLのWHERE句を作成中ですが、 str_replaceが思うように機能せず
WHERE句の整理ができません。
$sql = str_replace(") )", ")", $sql);

なんで?
0920デフォルトの名無しさん (ワッチョイ ffe7-oOo3)
垢版 |
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/
0931デフォルトの名無しさん (ワッチョイ 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
0933デフォルトの名無しさん (ワッチョイ 7f47-tEjH)
垢版 |
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')
を使ってみるとか
0934デフォルトの名無しさん (ワッチョイ 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ですよね?
0935デフォルトの名無しさん (ワッチョイ 7f47-tEjH)
垢版 |
2022/08/26(金) 17:35:03.11ID:a/x93rb70
「ですよね」と言われても、マニュアルに書いてある以上の情報なんて持ってないしな
てか、なんで試さないの? var_dump()してstringが返ってくるかどうか、30秒で確認できるっしょ
0941デフォルトの名無しさん (ワッチョイ 9f01-oOo3)
垢版 |
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/
0946デフォルトの名無しさん (ワッチョイ 2102-f2QG)
垢版 |
2022/08/27(土) 10:53:28.68ID:jzDPthdr0
誰を名乗っても問題ありませんので誰でも良いですが
まあ、完全なアホというのは良くないですよ
というか、アホは完全でないからアホですよね
つまり私はある種完全性を肯定されました
ありがとうございます
0949デフォルトの名無しさん (ワッチョイ 6e10-fFoX)
垢版 |
2022/08/31(水) 13:21:22.49ID:RpICLcti0
WordPressの管理画面にログインもしていないのに
サイト更新が完了しましたメールが届きます。

これってどういう仕組みで実現してるんですか?
Cronで実行用のファイルを動作させないと無理ですよね?
0956デフォルトの名無しさん (ワッチョイ 6e10-fFoX)
垢版 |
2022/09/01(木) 08:27:02.20ID:5Hoki9RX0
>>953
つまり、考え方としては
1)WordPressの公開画面に誰かがアクセスする
2)Ajaxなどで非同期処理して更新チェック
3)更新する必要がある場合は、自動更新

って仕様なんですかね?
であるならば、WordPress以外のPHPアプリでもできそうですね
0960デフォルトの名無しさん (ワッチョイ eaa9-Mjbb)
垢版 |
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()
のような使い方をすればいいのでしょうか?
0961デフォルトの名無しさん (ワッチョイ e6bb-VPVD)
垢版 |
2022/09/10(土) 20:11:18.23ID:MysCJx+R0
PDOStatement::execute() の戻り値は成否を表すboolなので
$result = $stmt->execute();
は結果セットの取り出しとは無関係です

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

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

2019年に最新版は出ているみたいですが、新しい資料じたいがあまり無いゆえ。
0966デフォルトの名無しさん (ワッチョイ eaa9-Mjbb)
垢版 |
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
0968デフォルトの名無しさん (ワッチョイ 1e66-JoGj)
垢版 |
2022/09/13(火) 01:04:23.23ID:k/lRopxK0
文字列の連結に使ってるからでしょ。
文字変数と、文字列を返す関数、この2つの項の文字列としての連結と区分けが付かなくなるじゃん。

インスタンス自体も文字列評価可能なんだし。
0970デフォルトの名無しさん (ワッチョイ 1e66-JoGj)
垢版 |
2022/09/13(火) 03:02:48.59ID:k/lRopxK0
アローもドットも:: も全部C++由来では。
C++自体別から引用してるだろけど、
3つか揃い踏みしたトップランクな有名言語はC++だろう。

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

結局分けないPythonやC#みたいな言語の方が書きやすいという...
0977デフォルトの名無しさん (ワッチョイ 157b-hFL5)
垢版 |
2022/09/13(火) 12:58:34.49ID:d4v/1ArY0
>>976
COBOLは & らしい。気持ちは分かるが今となっては糞仕様だな。

>>974
それはJSのことを言ってるのか?
ただそれはない。
数値型の変数はほぼ全部のケースで変数名で数値だと明確であり、そこはバグらない。
countやlength、num_of_xxxを文字列で扱う馬鹿はそれ以前の問題だ。
0980デフォルトの名無しさん (ワッチョイ ff97-W3aP)
垢版 |
2022/09/19(月) 12:37:28.97ID:TYV9CYn40
PHPの学習で、トランザクション勉強していますが。
おおざっぱに、「一連のクエリ処理を一つの処理と見立てて、途中失敗したら最初からなかったことにする」
機能かと思います。
で、課題として、簡単なECサイト作っています。
一般の利用者が商品を選択しカートを入れ、お金を払って買い上げるのようなものです。
テーブルは「カート」「商品情報」「利用者」「在庫情報」です。(ほんとは英字です。)
利用者が購入に失敗したら、ロールバックで購入が無かったことにします。
ここで、一連のクエリ処理というのは、「商品を選びカートに入れる」というところから始まるのでしょうか?
「商品を選びカートに入れる」という行為と、「カートにある商品を買う」という行為を
わけて、「カートにある商品を買う」について、トランザクションを設定するものでしょうか?

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

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

入門書で記述されるトランザクションとついでにプリペアドステートメント(プレースホルダ)処理はデータベース側の処理なので入門書から離れてデータベース側の処理をデータベースの公式を参照しながら学習すると良い
0986デフォルトの名無しさん (ワッチョイ 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失敗";
}
0991デフォルトの名無しさん (ワッチョイ ff97-W3aP)
垢版 |
2022/09/20(火) 15:44:19.38ID:Sb2Kpzh+0
ありがとうございます。

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

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

でも、処理毎にエラー文を配列に格納して、
最後の処理の後に、配列の内容の有無を確認して、
トランザクションの判断をすればいいですね。
0992デフォルトの名無しさん (ワッチョイ 9f63-E+l9)
垢版 |
2022/09/20(火) 15:59:12.72ID:Sk0Tcp2N0
トランザクション処理でその様なエラーを拾わせるって
まずくね?
たぶん、クライアントから受け取ったデータだと思うし、
それって単独で許容値かどうかを判断出来ると思うんだよ
Web画面経由なら、クライアント画面にエラー表示させて
再入力を促せると思うんだ
そうすればどう言うエラーか判断する必要もないよね
0993デフォルトの名無しさん (ワッチョイ 9f7c-E+l9)
垢版 |
2022/09/20(火) 15:59:16.45ID:r8LO5qc30
バリデーション
 問題があればここでエラーを返し下の処理はしない
try{
トランザクション開始
SQL実行
コミット
}catch(Exception e) {
ロールバック
DBでエラーが発生した事を返す
}
正常終了
0998デフォルトの名無しさん (ワッチョイ 97da-E+l9)
垢版 |
2022/09/20(火) 23:33:16.97ID:k4MHQr8J0
クラスのファイル名の拡張子に .inc を使うのは
今の時代では許されてないの?
許されるなら .inc を使い続けたい
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を超えています。これ以上書き込みはできません。

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