X



PHP質問・雑談スレ6【初心者お断り(ROM歓迎)】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
垢版 |
2019/05/12(日) 18:21:04.82ID:Bj6LHkP3
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。

PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
https://mevius.5ch.net/tech/ (【PHP】で板内を検索)

前スレ
https://medaka.5ch.net/test/read.cgi/php/1538639036/

その他リンク
・PHPマニュアル
 https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
 https://ideone.com/
・プログラミングのお題スレ (求PHPer参戦)
 https://mevius.5ch.net/tech/ (お題スレで板内を検索)

このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
 (FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼

このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
 (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0386nobodyさん
垢版 |
2021/08/23(月) 00:47:23.43ID:???
問い合わせフォーム程度のセキュリティなんざたかが知れてるのだが
普段からフレームワークに頼りきってると難しいのかな
0387nobodyさん
垢版 |
2021/08/23(月) 01:07:07.74ID:???
難しくはないよ、めんどくさいだけ
バリデーションとかCSRF用トークンとか今更自分で書きたくない
0388nobodyさん
垢版 |
2021/08/23(月) 06:30:44.07ID:???
問い合わせフォームのセキュリティって、SPAM対策じゃないの?
バリデーションとかトークン生成より、そっちのほうが全然めんどくさいと思うけど
0389nobodyさん
垢版 |
2021/08/23(月) 09:41:41.90ID:???
>>387
だったらそこだけZendFrameworkでも使えば?
軽量フレームワークっていうと定番はCodelginiterかSlimだろうけど
それを使うまでもない

つか金曜日に質問して月曜日になってもまだ作れてないのに笑うw
こんなもん小一時間で作って時給○万円のお仕事あざーっす!ってもんだろうに
0390nobodyさん
垢版 |
2021/08/23(月) 10:01:15.01ID:???
てか、PHP勉強する時にある程度フォーム関係のことは学ぶだろ
その時のデータはないのかよ

基礎学習せずにいきなりフレームーワーク使うほうが怖いだろ
0391nobodyさん
垢版 |
2021/08/23(月) 10:49:06.96ID:???
その気になれば作り込みは普通にできるけど
自分で作ると抜けもあるから 出来合いのものを使いたい
なんかいいやつなーい? という話では?

お前が使っててお勧めするものを信頼したいという気持ち
大事にしたいよね
0392nobodyさん
垢版 |
2021/08/23(月) 12:41:25.84ID:???
スパム対策はリキャプチャ入れて終了だと思ってたけど、何か忘れてるかな
ていうかやりきろうと思っても終わりのないものだし、どこまでやるかだけど
0393nobodyさん
垢版 |
2021/08/23(月) 12:59:10.50ID:???
>>391
そもそもフレームワークも自分で設定しないと使えないぞ
あくまで道具を用意されてるだけで、それで組み立てるのには知識が必要
0394nobodyさん
垢版 |
2021/08/23(月) 13:11:22.02ID:???
>>390
どういうことだ?初心者の学習時に作ったコードを本番で使えと?
0395nobodyさん
垢版 |
2021/08/23(月) 13:18:08.10ID:???
>>389
もちろんその気になればすぐ作れるけどさ、車輪の再発明みたいなことあんまりやりたくないなーと思ったのと
こういう時みんなどうしてるのかなーと思って
普段はFW使わない案件なんてないし、ここまでシンプルな依頼10年以上やってて初めてだったから
見積もまだ通ってないから着手まで検討できる時間あるし、でもまあこの流れならFW使わずに自作かなあ
0396nobodyさん
垢版 |
2021/08/23(月) 14:06:57.62ID:???
>>394
学習って書いたろ。そのまま使えって一切書いてないぞ
0397nobodyさん
垢版 |
2021/08/23(月) 14:09:55.37ID:???
>>395
俺も同じ考えしてたが、結論としては車輪の再発明でも
”今”正しいと思うことをするべきだ

ピュアPHPだけの方が正しいと思えば再発明でも作り直せばいいし、
それだと時間がかかると思うなら、どんな規模でもFWを使えばいい。

仕事で大切なのはクライアントの希望通りの物を提供することであり
開発の理念や価値観は関係ない
0398nobodyさん
垢版 |
2021/08/23(月) 16:47:41.61ID:???
>>395
codeigniter やろうぜ
本当は fuelphp をお勧めしたいけど、お勧めできない
0399nobodyさん
垢版 |
2021/08/23(月) 16:54:51.42ID:???
codeigniterってライセンス問題は解決したの?ググらず聞いてすまないが
0400nobodyさん
垢版 |
2021/08/23(月) 17:00:01.50ID:???
>>399
したよ
ドキュメントの日本語翻訳はグダグダのままだったと思うけど
0401nobodyさん
垢版 |
2021/08/23(月) 17:35:35.87ID:???
マイクロフレームワークの需要ってあると思うんだけど、
世に出てるものって、たいていややこしいよな。Slimとか
0402nobodyさん
垢版 |
2021/08/24(火) 07:13:54.07ID:???
欲しい機能を集約、自由に好きなようにカスタマイズするのに、
10年ぐらい前フリーランスやってたころは自家製の超軽量フレームワーク作ってやってたな。
クライアントはその後移行に苦労しただろうがね。
0403nobodyさん
垢版 |
2021/08/24(火) 08:57:34.44ID:???
俺も自家製作ってたけど、カスタマイズが必要ない一点物だったな
(フォームとか、カレンダーとか、画像集みたいな
0404nobodyさん
垢版 |
2021/08/24(火) 16:41:11.94ID:???
簡単なものならフレームワークと言うほどのものは要らないけど
最近はどんなに簡単なものでもLaravelにしているわ
やっぱり多くの人が使っているものを使う方が安泰な気がする

composer使えて、テンプレートエンジン(Smarty、Twigなど)ぐらいは導入するけど
DBはPDOでアクセスみたいなのを大昔は採用してた
0405nobodyさん
垢版 |
2021/08/24(火) 17:35:26.52ID:???
フレームワークもテンプレートエンジンも使わず、1つのPHPソース内にロジックもビューも
ごちゃごちゃに書いてあるWebシステムをメンテしてます。
PDOも使っておらずDBのネイティブ関数を使ってるし。
0406nobodyさん
垢版 |
2021/08/24(火) 21:40:41.14ID:???
Laravelスレや5ちゃん以外の掲示板でも似たような質問したことがあるけど、
そのときも「どんなに小さなものでもフレームワークを使うべき」って言われたな
今はファイルサイズで困ることはないし、極端に重くなるわけじゃないからな
0407nobodyさん
垢版 |
2021/08/25(水) 10:13:35.57ID:???
別に使わなくてもいいよ
どうせ誰かと共用するコードじゃないんだから
0409nobodyさん
垢版 |
2021/08/25(水) 12:01:49.95ID:???
むしろフレームワークで納品したら、蔵が設置できなくて終わると思うw
composerとか使えると思えない
0410nobodyさん
垢版 |
2021/08/25(水) 15:11:30.68ID:???
誰かと共用しなくても自分とは共用するだろ
いくら自作でも数年前に作ったものなんて覚えてないぞ
0411nobodyさん
垢版 |
2021/08/25(水) 15:12:10.62ID:???
>>409
普通にファイルをZIPで圧縮して渡すだけじゃないのか?
0412nobodyさん
垢版 |
2021/08/25(水) 16:21:44.84ID:???
だからそれを受け取った蔵が鯖にデプロイできないってことだよ
0414nobodyさん
垢版 |
2021/08/25(水) 17:45:48.74ID:???
そもそもクライアントなら設置してやれよ
0415nobodyさん
垢版 |
2021/08/25(水) 18:55:37.17ID:???
まぁサーバ案件まで一緒に取ってこれないのは無能の証拠でもある
0416nobodyさん
垢版 |
2021/08/26(木) 00:56:48.01ID:???
>>410
それFW使ってようが同じこといえね?
自分で書いたコードが何やってるかわからないなんてそらねーわw
0419nobodyさん
垢版 |
2021/08/26(木) 10:34:22.45ID:???
俺もやったことあるけど、売るだけってパターンはしんどいぞ
知識あるクライアントばかりじゃないから、サポートの負担が増える
サーバ設置まで込みで受けたほうがよっぽど楽だよ
0420nobodyさん
垢版 |
2021/08/26(木) 11:12:04.23ID:???
鯖関係全然わからんPHPプログラマも多いみたいで
同業の蔵からそいつらが開発したLaravelのデプロイだけ頼まれたことあるわw
アホらしすぎて見積いくら取ったら良いかだけ困ったわ
0421nobodyさん
垢版 |
2021/08/26(木) 12:09:07.81ID:???
>>420
そういうの頼んだことあるわ

自分でやってやれないことはないけど、ちゃんと金を払ったら
どういう観点でテストとか調査とかするのか知りたかったので
あえて頼んでみた。
気付いてなかった点とかやたら洗い出せてめっちゃ役立ったし
0422nobodyさん
垢版 |
2021/08/26(木) 12:23:53.03ID:???
鯖案件まで一緒に引っ張ってこれないと、その場限りの仕事になるからなぁ
ましてやフリーを名乗っていて(まぁ実際はただのバイトレベルでしょw)鯖ができないとか無能以外の何者でもない
0423nobodyさん
垢版 |
2021/08/26(木) 12:54:28.79ID:???
もともとの380はクラウドワークスとかの話っぽく見えたw
もし看板(HPで受注)上げて見積り依頼受けたとしたら恐ろしい綱渡りやってんだなと
0424nobodyさん
垢版 |
2021/08/31(火) 12:19:00.74ID:???
複数のログインなどが必要なサイトにアクセスするための情報群をサーバにおいて
PHPからその情報を使ってアクセスします
この情報は本当に人に見られて悪用されたらまずいレベルのものなのですが
PHPから重要情報にアクセス可能な方法で重要情報の最適な隠蔽方法を教えて下さい
0425nobodyさん
垢版 |
2021/08/31(火) 12:36:40.89ID:???
明らかにヤバいことしてるのに、そのことに気づいてないアホっているよな
0426nobodyさん
垢版 |
2021/08/31(火) 14:16:51.31ID:???
ヤバい情報はネットに置くな
0427nobodyさん
垢版 |
2021/09/01(水) 02:19:27.60ID:???
一生懸命にガッタガタの車輪を作ろうとしてる様にみえる
0428424
垢版 |
2021/09/01(水) 08:30:14.60ID:???
サンプルなんかではスクリプト中に書いてるんですが本当にそれでいいんですかねえ…
サーバがバグってphpがtextやらダウンロード可能なものとして表示されるようなことがなければいいのですが
0429nobodyさん
垢版 |
2021/09/01(水) 09:08:32.02ID:???
例えばwebサーバーのbasic認証のユーザーとパスワードが書かれたファイルってどこに置いてる?
0430nobodyさん
垢版 |
2021/09/01(水) 09:25:23.84ID:???
サーバがバグるってなんやねんw
勝手にバグるんじゃなくて、バグらせるからバグるんだろ
0431nobodyさん
垢版 |
2021/09/01(水) 11:08:49.43ID:???
自信ないならやるな
もしくは対価払って知識ある人に頼め
0432424
垢版 |
2021/09/02(木) 15:59:42.51ID:???
ようはサーバ含めて外部のソフトウェアが信頼しきれないということに帰結してしまいそうなので
みんなそういうのを信頼して使ってるということで自分も気にしないことにしますね
0433nobodyさん
垢版 |
2021/09/02(木) 17:06:46.63ID:???
少なくとも自分が完璧だって思って作った成果物よりもバグや不具合は無いと思って使ってる
例えば自分が作ったプログラムがnginxより完成度が高いとはとても考える事ができない
だからその部分を心配するよりも自分の能力を上げる方に頭を使う様にしてる
0434nobodyさん
垢版 |
2021/09/02(木) 21:23:38.57ID:???
>>424
426に一票。
ネットの怖さを知っている人ほど426を推すと思う。

433の気持ちもわかるけど。
0435nobodyさん
垢版 |
2021/09/02(木) 21:48:52.52ID:KZocfUaE
PHPを勉強している者です。
教えてください。

あるページで、<a href="php/mkKobetsuP.php?id=100">個別ページに移動</a>として、
個別ページへのリンクが書いてあるとします。
mkKobetsuP.phpには、データベースに接続して必要情報を取得してhtml文書を生成するコードが書いてあります。
できれば、最初のページにあるリンクを、<a href="php/mkKobetsuP.php#bikou?id=100">のように、
name属性まで指定したいのですが、うまくいきません。
個別ページの内容じたいname属性も含めて、phpでこれから生成するのに、そのまえにname属性まで
リンク先に指定するのは可能なんでしょうか?
こういうことをやりたいという発想じたいセンス悪いでしょうか?
0436nobodyさん
垢版 |
2021/09/02(木) 22:18:38.70ID:???
>>434
横だが433は
424から感じる超初心者特有の「俺が間違えるはずがない」という馬鹿な思いこみを嗜めてるだけだぞ。
0437nobodyさん
垢版 |
2021/09/02(木) 22:24:55.00ID:???
>>434
ヤバいのレベルにもよると思うんだけど
自分が想定してたものって
AWSの認証キーとか複数サイトに対してログインする際に必要な情報で
その情報がサーバーとかのバグで閲覧可能にならないか?って事に対しての返答だけど
その手の情報も置かない感じ?
0438nobodyさん
垢版 |
2021/09/02(木) 22:31:33.05ID:???
どんな情報も取られたら困るものは置くなよ
0439nobodyさん
垢版 |
2021/09/02(木) 22:32:07.75ID:???
そのサーバによりけりでは?
ぶっちゃけ、何があっても責任とれるなら置けばいい
0440nobodyさん
垢版 |
2021/09/02(木) 22:50:04.85ID:???
ECサイトのクレカ決済代行に必要なアクセストークンはどこに保存するの
0441nobodyさん
垢版 |
2021/09/02(木) 23:30:00.85ID:???
メモリに置いておけば?
0442nobodyさん
垢版 |
2021/09/02(木) 23:42:31.02ID:???
認証情報はセッション変数にセットしとけばいいじゃない。セッションが続く限り保持されるしセッション切れれば消える。
0443nobodyさん
垢版 |
2021/09/03(金) 05:02:58.40ID:???
自分が作ったプログラムが取られたくない場合はどうしたらいいですか?
0445nobodyさん
垢版 |
2021/09/03(金) 10:17:56.52ID:???
>>443
ローカル環境で開発して、ローカル環境で運用

てか、プログラム取られるって何を想定してるの?
一人で鯖借りるなりしたら普通は取られることないでしょ
0447nobodyさん
垢版 |
2021/09/03(金) 11:06:41.69ID:???
物事は常に最悪の事態を想定しておくべき
ど素人がどうやったら取られる、取られないとかそんなことを考えても意味がない
技術があって悪意のあるやつにはかなわない
盗まれて困るもの、責任取れないものはとにかく置かない
盗まれても困らない、責任取れるものなら置いとけば良い
シンプルに考えようよ
0448nobodyさん
垢版 |
2021/09/03(金) 14:12:17.79ID:???
置かなきゃサービスにならんのに矛盾してないか
0449nobodyさん
垢版 |
2021/09/03(金) 14:17:28.28ID:???
何の責任も負わずにサービスしたいならそれは甘え
0450435
垢版 |
2021/09/04(土) 14:29:15.81ID:???
>>435です。
質問を取り下げます。お邪魔しました。
0451nobodyさん
垢版 |
2021/09/07(火) 14:56:08.22ID:???
php5.5のシステムを7.4に移行することになりマニュアルを読んでいます

https://www.php.net/manual/ja/migration70.incompatible.php
> 値渡しの foreach は、配列のコピーを使って操作を進める

どのようなコードが下位互換がないコードに該当するか教えていただけないでしょうか
0452nobodyさん
垢版 |
2021/09/07(火) 15:22:40.74ID:???
その文章の続きに書いてあるあるじゃん
0453nobodyさん
垢版 |
2021/09/07(火) 15:31:45.04ID:???
>>451
値渡しの foreach は挙動に変更無いように見えるね
なんで記述があるんだろ。わからん
0454nobodyさん
垢版 |
2021/09/07(火) 15:31:55.51ID:???
>>452
具体的な例がないまま、参照渡しの話になっているかと
参照渡しのほうは新旧での挙動の違いは理解できましたが、値渡しのほうがわからないのです
0455nobodyさん
垢版 |
2021/09/07(火) 15:43:15.18ID:???
手元の環境で試してみればよくね?
1分もあれば結論分かる
0456nobodyさん
垢版 |
2021/09/07(火) 15:56:13.05ID:???
>>455
試すためのコード例と出力結果の記載がないので、どのようなコードであれば試せますか?という質問です
0457nobodyさん
垢版 |
2021/09/07(火) 16:31:57.68ID:???
値渡しにして中で配列いじって試せば良いだけじゃん…
そんなんで本当に移行作業なんかできるの?
てか、まずはPHP7の開発環境作って、そこで実際のソースコード置いて試すのが一番早い
0458nobodyさん
垢版 |
2021/09/07(火) 16:55:31.99ID:???
>>457
試せば良いだけ、のコードがわからないので質問しているのです
>>453 さんにしか質問が伝わっていないのかな
0459nobodyさん
垢版 |
2021/09/07(火) 17:53:03.10ID:???
>>458
> デフォルトの値渡しモードの場合の foreach は、 配列そのものではなくそのコピーを使って反復処理を進めるようになりました。 つまり、処理中に配列を書き換えた場合でも、反復処理の対象となる値には影響が及びません。

確実じゃないから間違えてたら申し訳ないのだけれど
内部的に仕様がこうなりましたって報告の為に書いてるだけじゃないかな?
5.6と7.4で何パターンか試してみたけど違いは無さそうだったよ
0460nobodyさん
垢版 |
2021/09/07(火) 18:24:46.27ID:???
php7は独学では無理みたいだからまだphp5.6使ってるわ

php7使うにはコンサルタント必要で
コンサルタントにカモられるだけや
0462nobodyさん
垢版 |
2021/09/07(火) 18:49:35.80ID:???
8になったらどうなってしまうんだw
0463nobodyさん
垢版 |
2021/09/07(火) 19:36:20.54ID:???
50歳過ぎたら頭の切り替えが難しいのかな?
0464nobodyさん
垢版 |
2021/09/07(火) 19:48:52.30ID:???
最近5.6以来8をみたら俺の知ってるphpじゃなかった
別の言語だろ
0465nobodyさん
垢版 |
2021/09/07(火) 20:05:56.24ID:???
>>464
そやね
随分型に拘れるようになった
おれも結構ビビってるw
0466nobodyさん
垢版 |
2021/09/07(火) 23:19:01.01ID:???
型意識するとやたらキャストの多い汚いコードになっちまうのだが
0467nobodyさん
垢版 |
2021/09/08(水) 08:17:02.18ID:???
>>459
ありがとうございます
挙動に違いがないならわざわざ下位互換性のない変更点として記載するのはおかしいしなぁとも思ったりもやもやしています
0469nobodyさん
垢版 |
2021/09/08(水) 10:52:23.40ID:???
foreachで参照使ったときにおかしなことになるやつって
直ったの? それとも仕様扱いでそのまま?
0470nobodyさん
垢版 |
2021/09/08(水) 10:53:47.94ID:???
>>466
きちんと型を意識しているなら、キャストの回数は激減するよ
ソースは俺
0471nobodyさん
垢版 |
2021/09/08(水) 13:06:27.65ID:???
>>468
横だがそれはその上の
> foreach は内部の配列ポインタを変更しない
の説明だろう。ただし結果は意味不明だが。
(php.netの方の結果は理解出来る)
0472453
垢版 |
2021/09/08(水) 13:20:25.23ID:???
>>468
ふぇー。面白いね
勉強になった
0473nobodyさん
垢版 |
2021/09/08(水) 23:48:27.69ID:o/WSWUAW
laravelでcsv読み込みがうまくいきません
csvファイルや実行ソース、出力結果については以下の通りです
どなたか対処方法わかる方は教えてください

・csvファイルの内容[C:\hope.csv]
希,望

・tinkerで以下を入力
$file = new SplFileObject("C:\\hope.csv");
$file->setFlags(\SplFileObject::READ_CSV |\SplFileObject::READ_AHEAD |\SplFileObject::SKIP_EMPTY);
$collection = collect($file);
$collection // 配列を出力

・理想の出力結果
["希","望"]

・実際の出力結果
["希,望"]
0474nobodyさん
垢版 |
2021/09/09(木) 06:37:29.06ID:???
そのcsvが本当に1行なのかどうかは知らないけど複数行と過程して
file()で読み込んだのをforeachして1行ずつexplode()したの返せばいいんじゃね
csvが長くなるようならジェネレーター使ってな
0475nobodyさん
垢版 |
2021/09/09(木) 09:30:16.44ID:???
>>474
他の文字はちゃんと分かれるんですが
なぜか希,望だけカンマが認識されないんです
0476nobodyさん
垢版 |
2021/09/09(木) 09:55:25.22ID:???
文字コード処理の話じゃないの?
「SplFileObject 文字コード」
0478nobodyさん
垢版 |
2021/09/09(木) 10:36:54.68ID:???
一気に解決しようとせずに切り分けて調べなさい
原因切り分けのためのシンプルなcsvファイルを別に作って
一つ一つ原因を確かめていけばわかるでしょ
文字コードなのか改行コードなのか知らんけど、
自分の環境で起きることは他人の環境でおきるとは限らない
人に聞いても無駄なこともある
0479nobodyさん
垢版 |
2021/09/09(木) 23:01:20.31ID:???
実はそのカンマが全角だったとかな
0480nobodyさん
垢版 |
2021/09/11(土) 20:14:23.10ID:???
オープンソースのライブラリ作ってるんだけど、
PHPUnitのコードカバレージHTMLレポートも含めるもんかね? 含めないもんかね?
0481nobodyさん
垢版 |
2021/09/11(土) 20:31:25.35ID:???
csvはカンマで分割した時に最後の箇所に改行コードが入って動作しない経験あり。
だからtrim()する。
0482nobodyさん
垢版 |
2021/09/11(土) 22:52:54.96ID:???
MacのExcelで作ったCSVなのか、サーバサイドのエンジニアがダメなのかしらんけど、
たまにCR単体が入ってるCSVがあって、
PHPのパーサで正常にパース出来ないケースがあったなぁ…。
Microsoftはやらかすから、どっちが悪いのかは知らない。
RFC 4180ではCSVの改行コードはCRLFと決まっている。
0483nobodyさん
垢版 |
2021/09/12(日) 18:36:48.97ID:???
世界的にはPHPは完全にPythonに食われちまったようだけど
日本でPythonっていうほどWebでは流行ってないよね
0484nobodyさん
垢版 |
2021/09/12(日) 19:18:24.34ID:???
Webアプリでは圧倒的にPHPだろ
0485nobodyさん
垢版 |
2021/09/12(日) 21:58:04.10ID:???
元々、PHPはHTMLテンプレートエンジンだったのが便利なので機能拡張された結果、
WEBしかできないプログラミング言語化し、
更に使われまくった結果、GUI以外なら大抵なんでも出来る言語化したのがPHP。
■ このスレッドは過去ログ倉庫に格納されています

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