PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 8
http://mevius.5ch.net/test/read.cgi/tech/1489506082/
次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
【PHP】下らねぇ質問はここに 9
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 538a-od5V)
2017/12/20(水) 18:00:20.28ID:1xaO/YRR0271デフォルトの名無しさん (ワッチョイ 5ed5-uzwL)
2018/07/16(月) 06:50:46.92ID:S86tTn750 >>270
とりあえず思い当たることをざっくり。
・SQLインジェクション対策
・セッションハイジャック対策
・HTTPSの確認
・管理者のうっかり対策
・スパムメール基地化の防止
前2つはこの言葉と PHP で検索すれば出てくると思うけど、SQLインジェクション対策にはPDOのプリペアドステートメントとバインドを使うとか、セッションハイジャック対策は個人的には問い合わせフォーム程度ならセッションなんて使わずhiddenでたらい回しにするかな。
HTTPSの確認は、HTTPでアクセスされた場合に受け付けないとかHTTPSにリダイレクトするとかの施策だけど、シンプルなサーバ構成なら $_SERVER['HTTPS'] が 'on' かどうかを見ればいいものの、webサーバの前段に何か(AWS の ELBとか)入れてるとそれじゃダメなこともある。
開発前に HTTP と HTTPS でのアクセス時の違いを phpinfo を diff 取って確認しておくのがいいんじゃないかな。
管理者のうっかり対策ってのは、問い合わせ内容に悪意あるURLなんかが書かれていてもうっかり踏まないようにするとか。
悪意あるURLじゃなくても、管理画面なんかからリンクを直接踏めると referer とかで管理画面のURLが漏れることがある。
スパムメール基地ってのは、もし受け付け時にユーザーにメールを送信する場合、他人のメールアドレスを入力されるとそっちへメールが飛ぶことを悪用されること。
文面に悪意あるURLを書かれると、それを踏まされちゃうかもしれない。
対策はいろいろあると思うけど完璧な対策は難しく、どこかを妥協することになると思う(メール送るのやめるとか)。
とりあえず思い当たることをざっくり。
・SQLインジェクション対策
・セッションハイジャック対策
・HTTPSの確認
・管理者のうっかり対策
・スパムメール基地化の防止
前2つはこの言葉と PHP で検索すれば出てくると思うけど、SQLインジェクション対策にはPDOのプリペアドステートメントとバインドを使うとか、セッションハイジャック対策は個人的には問い合わせフォーム程度ならセッションなんて使わずhiddenでたらい回しにするかな。
HTTPSの確認は、HTTPでアクセスされた場合に受け付けないとかHTTPSにリダイレクトするとかの施策だけど、シンプルなサーバ構成なら $_SERVER['HTTPS'] が 'on' かどうかを見ればいいものの、webサーバの前段に何か(AWS の ELBとか)入れてるとそれじゃダメなこともある。
開発前に HTTP と HTTPS でのアクセス時の違いを phpinfo を diff 取って確認しておくのがいいんじゃないかな。
管理者のうっかり対策ってのは、問い合わせ内容に悪意あるURLなんかが書かれていてもうっかり踏まないようにするとか。
悪意あるURLじゃなくても、管理画面なんかからリンクを直接踏めると referer とかで管理画面のURLが漏れることがある。
スパムメール基地ってのは、もし受け付け時にユーザーにメールを送信する場合、他人のメールアドレスを入力されるとそっちへメールが飛ぶことを悪用されること。
文面に悪意あるURLを書かれると、それを踏まされちゃうかもしれない。
対策はいろいろあると思うけど完璧な対策は難しく、どこかを妥協することになると思う(メール送るのやめるとか)。
272270 (ワッチョイ 2ad0-kMcx)
2018/07/16(月) 14:33:10.45ID:HXh/vnsc0273デフォルトの名無しさん (ワッチョイ c576-4qPP)
2018/07/16(月) 15:47:41.60ID:+45YTdov0274270 (ワッチョイ 2ad0-kMcx)
2018/07/16(月) 15:53:45.47ID:HXh/vnsc0275デフォルトの名無しさん (ワッチョイ c576-4qPP)
2018/07/16(月) 16:20:11.41ID:+45YTdov0276270 (ワッチョイ 2ad0-kMcx)
2018/07/16(月) 19:00:14.50ID:HXh/vnsc0277デフォルトの名無しさん (ワッチョイ ead2-1dqK)
2018/07/16(月) 21:18:00.33ID:UPJrQacm0 書きっぷりから本人の気がするな
278デフォルトの名無しさん (ワッチョイ 6d5d-LQig)
2018/07/16(月) 21:23:20.97ID:ui8Qw0tX0 練習なら色々気を遣うトレーニングになるからいいけど, 実際に公開する場合にはよく使われてるメールライブラリを使うべきだろうな
279デフォルトの名無しさん (ワッチョイ b5b3-Y8gp)
2018/07/16(月) 21:31:31.14ID:KfOaKyfW0280デフォルトの名無しさん (ワッチョイ 5ed5-uzwL)
2018/07/16(月) 22:09:49.12ID:S86tTn750 >>279
それはライブラリでどうこうできる問題じゃなさそうだよね。
個別にトレードオフ見て仕様化してる。
送信されることを緩和するならボットチェック(と言うのか知らんが)入れるとか、本文の悪用防止ならメールに入力本文は転記しないとか入力本文中のURLを伏せて転記するとか、
あるいはそもそもメール送らないとか、悪用元が分かってるならIPアドレスチェックして内部処理変えるとか。
本文転記のニーズは高いから難しいのよね。
それはライブラリでどうこうできる問題じゃなさそうだよね。
個別にトレードオフ見て仕様化してる。
送信されることを緩和するならボットチェック(と言うのか知らんが)入れるとか、本文の悪用防止ならメールに入力本文は転記しないとか入力本文中のURLを伏せて転記するとか、
あるいはそもそもメール送らないとか、悪用元が分かってるならIPアドレスチェックして内部処理変えるとか。
本文転記のニーズは高いから難しいのよね。
281デフォルトの名無しさん (ワッチョイ 89e9-Y8gp)
2018/07/17(火) 15:39:21.70ID:7HO9UDJa0 自動投稿系のスパムはハニーポットしかけるのが楽
<input type="text" name="mail" value="">
みたいなよくあるname値をもたせたダミーの<input>タグをcssとかで非表示にして
GETやPOSTメソッドでnameの値が飛んできたらスパム扱いにするだけ
初心者でも簡単に実装できるのがメリット
<input type="text" name="mail" value="">
みたいなよくあるname値をもたせたダミーの<input>タグをcssとかで非表示にして
GETやPOSTメソッドでnameの値が飛んできたらスパム扱いにするだけ
初心者でも簡単に実装できるのがメリット
282デフォルトの名無しさん (ワッチョイ bfe9-ljVq)
2018/07/24(火) 16:30:53.54ID:noMJmsz30 クラスAを継承したクラスA1、クラスA2を作りました
クラスA1ではB1、クラスA2ではB2クラスをuse Bx as Bとして読み込み
クラスAにクラスBを操作する処理を書けばクラスA1、A2に共通の処理を書かなくて済むかと思ったのですが、名前空間的にnew BとするとクラスAを基準としたパスで読み込もうとしてnot foundになってしまいます
親クラス側から子クラスで読み込む前提のクラスに対しての操作を書く方法はありますでしょうか?
クラスA1ではB1、クラスA2ではB2クラスをuse Bx as Bとして読み込み
クラスAにクラスBを操作する処理を書けばクラスA1、A2に共通の処理を書かなくて済むかと思ったのですが、名前空間的にnew BとするとクラスAを基準としたパスで読み込もうとしてnot foundになってしまいます
親クラス側から子クラスで読み込む前提のクラスに対しての操作を書く方法はありますでしょうか?
283デフォルトの名無しさん (アウアウカー Saab-egWL)
2018/07/24(火) 21:31:33.69ID:hRNBzg1Ya >>282
コード無いからエスパーするとinterface使え
コード無いからエスパーするとinterface使え
284デフォルトの名無しさん (ワッチョイ ffb8-2T1L)
2018/07/25(水) 23:37:30.51ID:DQL2gxnr0 エスパーすると設計がおかしい
285デフォルトの名無しさん (ワッチョイ f2ab-53i4)
2018/07/26(木) 12:53:46.16ID:kn/Cla8U0 少しマニアックな可能性はありますが
シーサーブログへの自作エディタを作成したいと思っています。
プルダウン方式で時刻を簡単に選んだり
その他を大分楽にすすめる事ができるのが目的です。
PHPでライブドアへの投稿ツールを少し作成してみたり
PHP、pythonあたりを少しだけ知っている、というのが
現状の自分かと分析していますが
ネットで少し検索してもシーサーブログへの投稿のためのプログラムは
PHPであまり引っかかりませんでした。
最終的には、タイトル変更、カテゴリ選択、時刻設定、定型文の挿入あたりの出来る
ツールを目指しているのですが、
スレッドのPHPとは離れますが
もし良いツールが出来るならPerl、Rubyなどもチャレンジしてみるしかないのか、
と思うのですが、
現状、攻めれそうな言語、もしくは方法を・・
本当にすみませんが、大まかなアドバイスでもいただけたら有難いです・・
よろしくお願いします。
シーサーブログへの自作エディタを作成したいと思っています。
プルダウン方式で時刻を簡単に選んだり
その他を大分楽にすすめる事ができるのが目的です。
PHPでライブドアへの投稿ツールを少し作成してみたり
PHP、pythonあたりを少しだけ知っている、というのが
現状の自分かと分析していますが
ネットで少し検索してもシーサーブログへの投稿のためのプログラムは
PHPであまり引っかかりませんでした。
最終的には、タイトル変更、カテゴリ選択、時刻設定、定型文の挿入あたりの出来る
ツールを目指しているのですが、
スレッドのPHPとは離れますが
もし良いツールが出来るならPerl、Rubyなどもチャレンジしてみるしかないのか、
と思うのですが、
現状、攻めれそうな言語、もしくは方法を・・
本当にすみませんが、大まかなアドバイスでもいただけたら有難いです・・
よろしくお願いします。
286デフォルトの名無しさん (ワッチョイ d3e9-tjON)
2018/07/26(木) 14:21:12.96ID:YpwlC3d50 >>285
結局APIをAPIの仕様に沿って叩くだけなんだから
言語なんか別に何でもいい
SeesaaのAPIはXML-RPC互換らしいが
XML-RPCを採用しているPHP製CMSで有名なのはWordPress
だから情報は豊富にあるかと
結局APIをAPIの仕様に沿って叩くだけなんだから
言語なんか別に何でもいい
SeesaaのAPIはXML-RPC互換らしいが
XML-RPCを採用しているPHP製CMSで有名なのはWordPress
だから情報は豊富にあるかと
287デフォルトの名無しさん (ワッチョイ f2ab-53i4)
2018/07/26(木) 14:36:09.87ID:kn/Cla8U0 >>286
有難うございます。なるほど、そういう事ですか…。
確かにWordPressのそういう解説はある程度あると思われますし、
まずそこを自分も作って、それをシーサー向きにカスタマイズ、
という方向にもっていってみるのが得策ですかね。
プログラム等々色々しっかり理解できていないので
例えば、テストのワードプレスに投稿がうまくいっても
それをシーサーに対応させる、その箇所でいかにも自分はつまずきそうですが…
やってみようと思います!ありがとうございました!
有難うございます。なるほど、そういう事ですか…。
確かにWordPressのそういう解説はある程度あると思われますし、
まずそこを自分も作って、それをシーサー向きにカスタマイズ、
という方向にもっていってみるのが得策ですかね。
プログラム等々色々しっかり理解できていないので
例えば、テストのワードプレスに投稿がうまくいっても
それをシーサーに対応させる、その箇所でいかにも自分はつまずきそうですが…
やってみようと思います!ありがとうございました!
288デフォルトの名無しさん (ワッチョイ d68a-tjON)
2018/07/26(木) 19:50:32.44ID:3rgn08oe0 formからfileタイプでファイルを送信するとき、一緒にカスタムデータも渡したいんですが
phpでカスタムデータを取得するにはどうすればいいんでしょうか
phpでカスタムデータを取得するにはどうすればいいんでしょうか
289デフォルトの名無しさん (ワッチョイ 1ed5-Q2wQ)
2018/07/26(木) 20:08:56.19ID:scJUypQr0 カスタムデータってなに
290デフォルトの名無しさん (オイコラミネオ MM33-QTTq)
2018/07/26(木) 23:45:01.90ID:IPVWqDZwM ほんと質問の意味が全く分からんなw
291デフォルトの名無しさん (アウアウイー Sa87-Gcp3)
2018/07/27(金) 01:47:39.64ID:Cv6I99asa カスタムデータはバックエンドやのうてフロントエンドで使うもんや
292デフォルトの名無しさん (ワッチョイ 92d2-YcwS)
2018/07/27(金) 04:29:13.10ID:2LlMOc7f0 javascript じゃないの?
MDNとにらめっこするよろしー
https://developer.mozilla.org/ja/docs/Web/API/File/Using_files_from_web_applications
MDNとにらめっこするよろしー
https://developer.mozilla.org/ja/docs/Web/API/File/Using_files_from_web_applications
293デフォルトの名無しさん (ワッチョイ 16b8-/DSX)
2018/07/28(土) 03:40:13.45ID:zAnhzC560 html5の属性にdata-がつくってやつ?
submitを動作のない通常のbuttonにしてjsでsubmitするようにして
submitの前にjsでdata-要素を探して中身を
hiddenフィールドに追加する処理書けば渡せる
onsubmit時にやってもいいけどjavascriptオフだと想定したデータを受け取れない
buttonにしてjsでsubmitすればjavascriptオフだとsubmit自体ができなくなるが
そっちのほうが開発者には都合がいい
submitを動作のない通常のbuttonにしてjsでsubmitするようにして
submitの前にjsでdata-要素を探して中身を
hiddenフィールドに追加する処理書けば渡せる
onsubmit時にやってもいいけどjavascriptオフだと想定したデータを受け取れない
buttonにしてjsでsubmitすればjavascriptオフだとsubmit自体ができなくなるが
そっちのほうが開発者には都合がいい
294デフォルトの名無しさん (ワッチョイ 92d2-YcwS)
2018/07/28(土) 19:53:18.72ID:lnl3z2ED0 スレチ
295デフォルトの名無しさん (ワッチョイ 16b8-/DSX)
2018/07/28(土) 21:32:05.50ID:zAnhzC560 スレチちゃうやろー
296デフォルトの名無しさん (ワッチョイ 4b81-53i4)
2018/07/28(土) 21:36:21.75ID:aLrZyGnX0 質問内容がPHPに関してではないし
回答もjavascriptを使用してと言うことだし
Web製作板なら全般に渡って質疑しても良いけど
プログラム板に設置したPHPスレとしては
ちょっと違う感じを否めない
回答もjavascriptを使用してと言うことだし
Web製作板なら全般に渡って質疑しても良いけど
プログラム板に設置したPHPスレとしては
ちょっと違う感じを否めない
297デフォルトの名無しさん (ワッチョイ 16b8-/DSX)
2018/07/28(土) 22:21:44.16ID:zAnhzC560 webprogのほうは手取り足取りしてほしけりゃこっちこいって
初心者こっちに丸投げしてんだよな
だから多少ズレててもしょうがない
初心者こっちに丸投げしてんだよな
だから多少ズレててもしょうがない
298デフォルトの名無しさん (ワッチョイ 4b81-53i4)
2018/07/28(土) 22:36:05.72ID:aLrZyGnX0 難民受け入れる?
嫌がる人がいないなら、自分は反対はしない
嫌がる人がいないなら、自分は反対はしない
299デフォルトの名無しさん (アウアウイー Sa87-Gcp3)
2018/07/29(日) 00:42:21.80ID:5d6XvWgua 開発者都合を優先する愚か者がいると聞きまして
300デフォルトの名無しさん (ワッチョイ 16b8-/DSX)
2018/07/29(日) 09:07:26.00ID:6Xs8CgHh0 今どきレガシーIE使ってるのとJavaScript使えない環境なんて考慮する必要ある?
そういう人たちの考えを改めさせるためにも甘やかしてはだめだ
あと広告ブロッカーなど入れてる人間にはおかえりいただくのだ
そういう人たちの考えを改めさせるためにも甘やかしてはだめだ
あと広告ブロッカーなど入れてる人間にはおかえりいただくのだ
301デフォルトの名無しさん (ワッチョイ 1222-Hl5m)
2018/07/31(火) 22:09:39.35ID:jEXf5efo0 IE11は新機能も追加されないのに
2025年10月までサポート続く
頭の固い奴がいつまでも使い続けそう
2025年10月までサポート続く
頭の固い奴がいつまでも使い続けそう
302デフォルトの名無しさん (アウアウイー Sa87-Gcp3)
2018/08/01(水) 00:53:10.63ID:BvwC4qZXa そのレベルまで言うならサーバサイド使う必要性あるか?
303デフォルトの名無しさん (ワッチョイ 16b8-/DSX)
2018/08/01(水) 07:58:48.60ID:Vw19BKKS0304デフォルトの名無しさん (アウアウイー Sa87-Gcp3)
2018/08/01(水) 14:08:02.83ID:/ct8Nmlma JS書けないオジサンだな
305デフォルトの名無しさん (ワッチョイ d3e9-tjON)
2018/08/01(水) 17:38:42.26ID:bHIdHVss0 うむ
306デフォルトの名無しさん (ワッチョイ 4b81-53i4)
2018/08/01(水) 17:48:51.49ID:a1G0tkY30 オジサンだとPHPも難しいと思う
307デフォルトの名無しさん (ワッチョイ 2346-gKJj)
2018/08/01(水) 18:05:25.96ID:zQceqn770 cakePHP3を使ってます。
mysqlに保存する場合、メールアドレスも暗号化した上で保存したほうがいいの?
mysqlに保存する場合、メールアドレスも暗号化した上で保存したほうがいいの?
308デフォルトの名無しさん (ワッチョイ d3e9-tjON)
2018/08/01(水) 18:07:30.41ID:bHIdHVss0 CakePHPの名前を出す意味が分からんが
動かす環境や設計思想によるとしか
動かす環境や設計思想によるとしか
309デフォルトの名無しさん (アウアウウー Sa43-53i4)
2018/08/01(水) 21:49:19.72ID:leTOpWGGa curl_setoptをphp.iniの中で設定したいのですが、そんなこと出来ますか?
310デフォルトの名無しさん (アウアウウー Sa43-53i4)
2018/08/01(水) 23:56:12.68ID:leTOpWGGa curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'ecdhe_ecdsa_aes_256_sha');
と同じ設定をiniファイルで設定できるかと
curl.ssl_cipher_list="ecdhe_ecdsa_aes_256_sha"
とcurl.iniに書いてみましたが、うまくいきませんでした
iniファイルで設定するのはやはり無理なのでしょうか?
と同じ設定をiniファイルで設定できるかと
curl.ssl_cipher_list="ecdhe_ecdsa_aes_256_sha"
とcurl.iniに書いてみましたが、うまくいきませんでした
iniファイルで設定するのはやはり無理なのでしょうか?
311デフォルトの名無しさん (アウアウイー Sac7-DU3o)
2018/08/02(木) 00:00:30.23ID:YVITecbMa curl使うタイミングで関数使ってやってください
312デフォルトの名無しさん (アウアウウー Saa7-Xflc)
2018/08/02(木) 00:10:24.86ID:ZUaPNP+za そうですか
VPSで動かしているTinyTinyRSSで、HTTPSのスクレイピング時にエラーが出ていて
CURLOPT_SSL_CIPHER_LISTを設定すればいいということまでは分かったのですが
コードを書き換えたとしてもアップデートで上書きされてしまう可能性があるので
設定ファイルでデフォルト値を設定できないかと思ったのですが、残念です・・
ありがとうございました
VPSで動かしているTinyTinyRSSで、HTTPSのスクレイピング時にエラーが出ていて
CURLOPT_SSL_CIPHER_LISTを設定すればいいということまでは分かったのですが
コードを書き換えたとしてもアップデートで上書きされてしまう可能性があるので
設定ファイルでデフォルト値を設定できないかと思ったのですが、残念です・・
ありがとうございました
313デフォルトの名無しさん (ワッチョイ 5381-Xflc)
2018/08/02(木) 00:37:20.93ID:xZR22mJ60 >>310
自前のiniファイルを適当に用意し、parse_ini_file関数で読み込む
自前のiniファイルを適当に用意し、parse_ini_file関数で読み込む
314デフォルトの名無しさん (アウアウウー Saa7-lVen)
2018/08/02(木) 02:01:14.88ID:ZUaPNP+za それだとcurl呼び出し部分のコードを結局書き換えないとですよね?
設定ファイルで設定したいと言ったのは
コードに手を加えずに挙動を変えたいという意味でした
目的じゃなくて手段です
設定ファイルで設定したいと言ったのは
コードに手を加えずに挙動を変えたいという意味でした
目的じゃなくて手段です
315デフォルトの名無しさん (ワッチョイ a35d-Xflc)
2018/08/02(木) 11:54:14.81ID:G7lRGrKt0316デフォルトの名無しさん (ワッチョイ a35d-Xflc)
2018/08/02(木) 11:56:18.56ID:G7lRGrKt0 infoじゃねぇや curl -v だわ
317デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/02(木) 12:20:37.41ID:VtR7nk5s0318デフォルトの名無しさん (ワッチョイ f39d-Eno9)
2018/08/02(木) 14:47:11.29ID:mV4uuTxi0 curl直接使うよりguzzle通じて使った方が良いよね?
よっぽどシンプルなプログラムとかでも無い限り
AWS SDK for PHPでも内部で使ってた
よっぽどシンプルなプログラムとかでも無い限り
AWS SDK for PHPでも内部で使ってた
319デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/02(木) 15:22:19.78ID:VtR7nk5s0 手続き型の書き方しかできないcURL関数群をラッピングして
オブジェクト指向型のインターフェースを提供するライブラリは色々とあるから
実用的にはそっち使った方がいい(もちろん今ならguzzleが第一選択肢)
車輪の再発明をする必要はないが
guzzleみたいにガッツリじゃなくて
cURLのうすーいラッパークラスを作っとくと
ちゃちゃっと何かしたい時に便利ではある
オブジェクト指向型のインターフェースを提供するライブラリは色々とあるから
実用的にはそっち使った方がいい(もちろん今ならguzzleが第一選択肢)
車輪の再発明をする必要はないが
guzzleみたいにガッツリじゃなくて
cURLのうすーいラッパークラスを作っとくと
ちゃちゃっと何かしたい時に便利ではある
320デフォルトの名無しさん (ワッチョイ a35d-Xflc)
2018/08/02(木) 15:39:52.12ID:G7lRGrKt0321デフォルトの名無しさん (スププ Sd1f-9bbN)
2018/08/02(木) 15:46:53.52ID:qudvT6qVd TinyTinyRSSの中でguzzleを使った方がいいよねなんて話は誰もしてないかと
322デフォルトの名無しさん (ワッチョイ 635b-0PbX)
2018/08/02(木) 16:04:41.08ID:j3ZbymyT0323デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/02(木) 16:20:05.83ID:VtR7nk5s0 >>322
例えば、http://example.com/の出力結果を取りたいってだけなら
file_get_contents('http://example.com/');
だけでいいけど、もう少しだけ色々としたい時
例えば、POSTメソッドで「hage=fuge」を投げつつ
ユーザーエージェント「Mona」、リファラ「http://2ch.net/」にした時の
http://example.com/のステータスコードを取りたいなんて時
$status = Curl_Wrapper::getInstance()
->requestPost('hage', 'fuge')
->setUserAgent('Mona')
->setReferer('http://2ch.net/')
->getStatusCode('http://example.com/');
こんな風に書けるクラスを用意しとくと気持ちいいってだけの話
大した話じゃないから意味不明ならスルーでw
>>321
うん
例えば、http://example.com/の出力結果を取りたいってだけなら
file_get_contents('http://example.com/');
だけでいいけど、もう少しだけ色々としたい時
例えば、POSTメソッドで「hage=fuge」を投げつつ
ユーザーエージェント「Mona」、リファラ「http://2ch.net/」にした時の
http://example.com/のステータスコードを取りたいなんて時
$status = Curl_Wrapper::getInstance()
->requestPost('hage', 'fuge')
->setUserAgent('Mona')
->setReferer('http://2ch.net/')
->getStatusCode('http://example.com/');
こんな風に書けるクラスを用意しとくと気持ちいいってだけの話
大した話じゃないから意味不明ならスルーでw
>>321
うん
324デフォルトの名無しさん (ワッチョイ 635b-0PbX)
2018/08/02(木) 16:38:35.04ID:j3ZbymyT0 >>323
なるほど
やりたい事を書いた文章がそのままPHPのソースになってる感じですごく分かりやすい
->setUserAgent('Mona')
->setReferer('http://2ch.net/')
こういう書き方ははじめて見た
;のつけ忘れではないよね?
なるほど
やりたい事を書いた文章がそのままPHPのソースになってる感じですごく分かりやすい
->setUserAgent('Mona')
->setReferer('http://2ch.net/')
こういう書き方ははじめて見た
;のつけ忘れではないよね?
325デフォルトの名無しさん (ワッチョイ a35d-Xflc)
2018/08/02(木) 16:40:40.32ID:G7lRGrKt0326デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/02(木) 16:52:37.54ID:VtR7nk5s0 >>324
$curl = new Curl_Wrapper;
$curl->setUserAgent();
$curl->setReferer();
$status = $curl->getStatusCode();
普通はこう書くけど面倒くさいから
Curl_Wrapperクラス内のメソッド(setUserAgentやsetReferer)で
Curl_Wrapper自身のインスタンス(PHPなら$this)をreturnする
そのメソッドを鎖のように繋ぐから「メソッドチェーン」って呼ばれる
「PHP メソッドチェーン」とかでググってみるといい
上手く使えばすっきり書けるけどデメリットもあるのでケース・バイ・ケースで
$curl = new Curl_Wrapper;
$curl->setUserAgent();
$curl->setReferer();
$status = $curl->getStatusCode();
普通はこう書くけど面倒くさいから
Curl_Wrapperクラス内のメソッド(setUserAgentやsetReferer)で
Curl_Wrapper自身のインスタンス(PHPなら$this)をreturnする
そのメソッドを鎖のように繋ぐから「メソッドチェーン」って呼ばれる
「PHP メソッドチェーン」とかでググってみるといい
上手く使えばすっきり書けるけどデメリットもあるのでケース・バイ・ケースで
327デフォルトの名無しさん (ワッチョイ 635b-0PbX)
2018/08/02(木) 17:07:33.04ID:j3ZbymyT0328デフォルトの名無しさん (ワッチョイ cf8a-9e/1)
2018/08/05(日) 11:19:39.90ID:EoLQ53rz0 質問です
/aaa.php
/bbb.php
/ccc.php
/ddd.php
... ばらばらに作って使うのと
/xxx.php?aaa
/xxx.php?bbb
/xxx.php?ccc
/xxx.php?ddd
... 一枚にまとめて使うのと
どっちがパフォーマンスいいでしょうか?
よろしくお願いします
/aaa.php
/bbb.php
/ccc.php
/ddd.php
... ばらばらに作って使うのと
/xxx.php?aaa
/xxx.php?bbb
/xxx.php?ccc
/xxx.php?ddd
... 一枚にまとめて使うのと
どっちがパフォーマンスいいでしょうか?
よろしくお願いします
329デフォルトの名無しさん (ワッチョイ 5381-Xflc)
2018/08/05(日) 11:27:52.65ID:ekimy5CU0 まとめても数百行程度なら、性能上は変わらないと思うが
メンテナンスする上では、機能別に分けて置く方が楽かも
メンテナンスする上では、機能別に分けて置く方が楽かも
330デフォルトの名無しさん (ワッチョイ a35d-Xflc)
2018/08/05(日) 11:31:24.74ID:gTgyUF8y0 実体は別ファイルにしてエントリポイントからrouterで振り分ける
331デフォルトの名無しさん (ワッチョイ 6fd5-IwSV)
2018/08/05(日) 13:40:30.63ID:Klpi4erd0 バラした方が各スクリプトのサイズが小さいなら、物理的な読み取りとパースの分速くはなるんじゃね。
でもそんな細かいことよりメンテ性のいい方を選んだ方がいいんじゃないかな。
でもそんな細かいことよりメンテ性のいい方を選んだ方がいいんじゃないかな。
332デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 10:30:49.64ID:933yDlcJ0 >>328
よく100万回ループ回した時の実行速度の差を比較したりする人がいるけど
ハッキリいってやるだけ時間の無駄
そんな事を気にするならそもそもPHPなんか使わない方がいい
webアプリのボトルネックというのは
大抵はDB周りだったりするわけで
そのボトルネックを正確に計測し解決する手段を身につける事が遥かに大事
というかそんな事を気にしてるって時点で
何かしらのフレームワークは使ってないんだろうけど
なぜ使わないの?
よく100万回ループ回した時の実行速度の差を比較したりする人がいるけど
ハッキリいってやるだけ時間の無駄
そんな事を気にするならそもそもPHPなんか使わない方がいい
webアプリのボトルネックというのは
大抵はDB周りだったりするわけで
そのボトルネックを正確に計測し解決する手段を身につける事が遥かに大事
というかそんな事を気にしてるって時点で
何かしらのフレームワークは使ってないんだろうけど
なぜ使わないの?
333デフォルトの名無しさん (ワッチョイ cf8a-9e/1)
2018/08/06(月) 11:23:57.83ID:zcUvwpke0334デフォルトの名無しさん (ワッチョイ 6fd5-IwSV)
2018/08/06(月) 12:20:51.12ID:ng9YxNhi0 PHPに関してフレームワーク使って良かったと思える場面て正直ほとんど無いな。
PHP自体がごった煮状態にしてまでいろいろできるようにしてある中で、フレームワークで実現しようとしている目標がいまいちわからん。
生産性にも得してるように思えないどころか、フレームワーク自体のメンテがだるい。
まあそれほどフレームワーク使ったわけでもなく、古くはSmarty、ちょっと前はCakePHP使ったくらいで、それも他所のベンダが作ったのを引き継いだくらいだから偏見に満ちてる可能性はある。
PHP自体がごった煮状態にしてまでいろいろできるようにしてある中で、フレームワークで実現しようとしている目標がいまいちわからん。
生産性にも得してるように思えないどころか、フレームワーク自体のメンテがだるい。
まあそれほどフレームワーク使ったわけでもなく、古くはSmarty、ちょっと前はCakePHP使ったくらいで、それも他所のベンダが作ったのを引き継いだくらいだから偏見に満ちてる可能性はある。
335デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 12:22:54.58ID:933yDlcJ0 >>333
そか
フレームワークに頼らずに作るのも
DBに頼らずテキストベースで読み書きするのも
とても良い経験にはなるから頑張って
ただ○万回ループした時の実行時間の差を気にするなんてのは
本当にただの無駄でしかないから
コードの見通しの良さとか管理のしやすさとか
そっちを最優先で
root.php?mode=aaa ⇒ mode/aaa.phpを読む
root.php?mode=bbb ⇒ mode/bbb.phpを読む
root.php?mode=ccc ⇒ mode/ccc.phpを読む
なんて作り方もある
今これがベストだと思って設計しても
どうせ1年後にはもっと良い設計が閃くさ
だから色々と試してみるといい
そか
フレームワークに頼らずに作るのも
DBに頼らずテキストベースで読み書きするのも
とても良い経験にはなるから頑張って
ただ○万回ループした時の実行時間の差を気にするなんてのは
本当にただの無駄でしかないから
コードの見通しの良さとか管理のしやすさとか
そっちを最優先で
root.php?mode=aaa ⇒ mode/aaa.phpを読む
root.php?mode=bbb ⇒ mode/bbb.phpを読む
root.php?mode=ccc ⇒ mode/ccc.phpを読む
なんて作り方もある
今これがベストだと思って設計しても
どうせ1年後にはもっと良い設計が閃くさ
だから色々と試してみるといい
336デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 12:33:44.81ID:933yDlcJ0 >>334
大規模開発をした経験がないとそうなるかもね
PHPはとてもいい加減な言語なんで
”正しく”書くにはかなりの知識と経験が必要
ネット上のPHPコードの多くが糞なのを見てもよく分かる
だから特定の規則さえ覚えれば”正しく”書ける
フレームワークってのは大規模開発では必須になる
あとは生産性の問題やね
スクリプト言語なんてものはいかに短時間で簡単にものを生産するかが鍵なので
個人開発であっても何かしらのフレームワークは使え
ってのが俺の意見
俺々マイクロフレームワークでもいいからさ
大規模開発をした経験がないとそうなるかもね
PHPはとてもいい加減な言語なんで
”正しく”書くにはかなりの知識と経験が必要
ネット上のPHPコードの多くが糞なのを見てもよく分かる
だから特定の規則さえ覚えれば”正しく”書ける
フレームワークってのは大規模開発では必須になる
あとは生産性の問題やね
スクリプト言語なんてものはいかに短時間で簡単にものを生産するかが鍵なので
個人開発であっても何かしらのフレームワークは使え
ってのが俺の意見
俺々マイクロフレームワークでもいいからさ
337デフォルトの名無しさん (ワッチョイ 5381-Xflc)
2018/08/06(月) 12:38:09.33ID:Xt7Beabr0 フレームワークの選択を誤ると、
数年後「まだそんなの使っているのか!」
ってエラーが頻発して苦労する
数年後「まだそんなの使っているのか!」
ってエラーが頻発して苦労する
338デフォルトの名無しさん (スププ Sd1f-j3zu)
2018/08/06(月) 12:48:26.08ID:UALza30Cd ネット上のソースのカオスさはPHPとJavaScriptが抜きん出てるよな
本ですら平気で間違った事を書いてるから
初心者ならこれを読めって本がなかなかない
if ($_POST['foo'] == 'var')
こんなコードを見ると目眩がする
>>337
それはあるな
ただ今はLaravel使っとけば間違いはないんじゃないかと
本ですら平気で間違った事を書いてるから
初心者ならこれを読めって本がなかなかない
if ($_POST['foo'] == 'var')
こんなコードを見ると目眩がする
>>337
それはあるな
ただ今はLaravel使っとけば間違いはないんじゃないかと
339デフォルトの名無しさん (ワッチョイ 6fd5-IwSV)
2018/08/06(月) 12:48:56.87ID:ng9YxNhi0 >>336
フレームワークを使うにしても、それをどう使うかは結局設計して周知しないといけないわけで、その手間ってフレームワーク使わない場合とそう変わらなくない?
むしろフレームワークが足かせになってそこから外れる部分をトリッキーに遠回りに書くことになったりのデメリットの方が目についてくる感じだ。
工数削減は俺々ライブラリでやれるし、それを周知する手間も前述の周知に比べて多大なわけでもなく、必要ならライブラリを好き勝手に育てられるから、むしろ身軽で早いと思うがな。
この辺はとりわけ既にいろいろお膳立てされてるPHPならではというか。
大規模開発だとどんなメリットが効いてくると考えてるかについては興味あるけどね。
フレームワークを使うにしても、それをどう使うかは結局設計して周知しないといけないわけで、その手間ってフレームワーク使わない場合とそう変わらなくない?
むしろフレームワークが足かせになってそこから外れる部分をトリッキーに遠回りに書くことになったりのデメリットの方が目についてくる感じだ。
工数削減は俺々ライブラリでやれるし、それを周知する手間も前述の周知に比べて多大なわけでもなく、必要ならライブラリを好き勝手に育てられるから、むしろ身軽で早いと思うがな。
この辺はとりわけ既にいろいろお膳立てされてるPHPならではというか。
大規模開発だとどんなメリットが効いてくると考えてるかについては興味あるけどね。
340デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 13:00:50.54ID:933yDlcJ0 >>338
フレームワークを使わずに
リクエストパラメータを変数に入れて比較してみましょう
って超初歩的な事でも
$foo = (string) filter_input(INPUT_POST, 'foo');
if ($foo === 'var') {}
と正しく書けてる本が何冊あることやら…
$foo = (isset($_POST['foo'])) ? $_POST['foo'] : NULL;
と書けてたらまだマシで酷いのになると
$foo = $_POST['foo'];
だからPHPはヤバすぎる…
フレームワークを使わずに
リクエストパラメータを変数に入れて比較してみましょう
って超初歩的な事でも
$foo = (string) filter_input(INPUT_POST, 'foo');
if ($foo === 'var') {}
と正しく書けてる本が何冊あることやら…
$foo = (isset($_POST['foo'])) ? $_POST['foo'] : NULL;
と書けてたらまだマシで酷いのになると
$foo = $_POST['foo'];
だからPHPはヤバすぎる…
341デフォルトの名無しさん (ワッチョイ 5381-Xflc)
2018/08/06(月) 13:13:28.36ID:Xt7Beabr0 PHPがヤバいのではなく、使う奴がいい加減なだけだろう
きちんと書ける奴は、何使っても大丈夫
きちんと書ける奴は、何使っても大丈夫
342デフォルトの名無しさん (スププ Sd1f-j3zu)
2018/08/06(月) 13:19:55.19ID:UALza30Cd フレームワークの重要性が理解できない内は3流以下と自覚すべき
php以外の言語を書けない人に多い
php以外の言語を書けない人に多い
343デフォルトの名無しさん (ワッチョイ 6fd5-IwSV)
2018/08/06(月) 13:21:13.75ID:ng9YxNhi0 >>340
強制的に string でキャストして情報落とすのが正しいと言われてもなって感じだし、
$foo = $_POST['foo']; がダメというのもそんなの条件次第だろって気もするし、
大事なのは画一的な書き方じゃなくてやり方を適切に選べることなんじゃないの?
強制的に string でキャストして情報落とすのが正しいと言われてもなって感じだし、
$foo = $_POST['foo']; がダメというのもそんなの条件次第だろって気もするし、
大事なのは画一的な書き方じゃなくてやり方を適切に選べることなんじゃないの?
344デフォルトの名無しさん (ワッチョイ 5381-Xflc)
2018/08/06(月) 13:28:14.07ID:Xt7Beabr0 オレはこんな感じで書いてるな
$foo = "";
if (array_key_exists('foo', $_POST)){
$foo = $_POST['foo'];
}
$foo = "";
if (array_key_exists('foo', $_POST)){
$foo = $_POST['foo'];
}
345デフォルトの名無しさん (ワッチョイ 6fd5-IwSV)
2018/08/06(月) 13:33:40.11ID:ng9YxNhi0 >>344
そのケースなら isset 使ってる。
100万回ループのパフォーマンスなんて気にするなという話の後で言うのもアレだけど、isset の方が速いし短いから。
多重配列の時もそのまま書けるし。
そのケースなら isset 使ってる。
100万回ループのパフォーマンスなんて気にするなという話の後で言うのもアレだけど、isset の方が速いし短いから。
多重配列の時もそのまま書けるし。
346デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 13:37:32.22ID:933yDlcJ0347デフォルトの名無しさん (スププ Sd1f-j3zu)
2018/08/06(月) 13:50:50.84ID:UALza30Cd >>346も書いてるが
?foo[]=1&foo[][]=2&foo[][][]=3
の時の$_GETの中身を見れば$fooがスカラー型になると決めつけていたらだめだと分かるはず
頭の良い人がせっかくフレームワークってのを作ってくれてるんだから我々凡人はそっち使えばいい
だからPHPerって馬鹿にされんだよw
?foo[]=1&foo[][]=2&foo[][][]=3
の時の$_GETの中身を見れば$fooがスカラー型になると決めつけていたらだめだと分かるはず
頭の良い人がせっかくフレームワークってのを作ってくれてるんだから我々凡人はそっち使えばいい
だからPHPerって馬鹿にされんだよw
348デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 14:07:27.66ID:933yDlcJ0 >>347
応用パターンとしては
<input type="checkbox" name="foo[]" value="1">
<input type="checkbox" name="foo[]" value="2">
<input type="checkbox" name="foo[]" value="3">
というフォームがあった時に
$_GET['foo']が一次元配列になると決めつけてしまってるケース
$_GET['foo']がスカラー型にも二次元にも三次元にもなる可能性を考慮してないから
バリデーションなんかでエラーをだす残念コードがネット上にはたくさん転がってる
そういうのを初心者が真似してしまうのが問題なんだよね
応用パターンとしては
<input type="checkbox" name="foo[]" value="1">
<input type="checkbox" name="foo[]" value="2">
<input type="checkbox" name="foo[]" value="3">
というフォームがあった時に
$_GET['foo']が一次元配列になると決めつけてしまってるケース
$_GET['foo']がスカラー型にも二次元にも三次元にもなる可能性を考慮してないから
バリデーションなんかでエラーをだす残念コードがネット上にはたくさん転がってる
そういうのを初心者が真似してしまうのが問題なんだよね
349デフォルトの名無しさん (ワッチョイ 635b-0PbX)
2018/08/06(月) 14:19:09.94ID:Hk1kxuZq0 filter_inputというものをはじめて知った(´・ω・`)
issetでチェックしなさいというのは最近覚えたけどこっちの方が短く書けるね
勉強になるなあ
issetでチェックしなさいというのは最近覚えたけどこっちの方が短く書けるね
勉強になるなあ
350デフォルトの名無しさん (ワッチョイ 6fd5-IwSV)
2018/08/06(月) 14:21:43.09ID:ng9YxNhi0 >>346
最後については同意。
ただ細かい話、キャストの件は filter_input のオプション無しなら配列は取得されないんじゃないかと。
元々値があったのかどうかの判定が出来なくなるのもまた問題じゃないかね。
だからフレームワークにやってもらえばいいじゃんという立場だとは思うけどさ。
>>347
その程度のバリデーションライブラリも書けない凡人のために(ありものの)フレームワークがあるということであれば、やはりあまり縁の無い話かなと思えてくる。
隣のコンビニになら歩いて行けばいいのに、なぜ車を用意してナビまでセットする?みたいな。
フレームワークってのは、端的に言えば誰が書いても同じ書き方になる仕組みで細かいこと周知しなくてもそうなるから多人数で書いても認識が共有できる、という思想なのかと思ってたよ。
思想通りに実現されるならよさそうだが、現実はそうでもないなって感じてるけど。
PHPみたいにWebに特化してない他の言語なんかは、イチからやるよりはフレームワーク使うのが現実的だと思うし、
PHPでも俺々マイクロフレームワークの話であればその実態は必要ライブラリと雛型くらいのものだろうから、そういうのに異論は無いけどね。
最後については同意。
ただ細かい話、キャストの件は filter_input のオプション無しなら配列は取得されないんじゃないかと。
元々値があったのかどうかの判定が出来なくなるのもまた問題じゃないかね。
だからフレームワークにやってもらえばいいじゃんという立場だとは思うけどさ。
>>347
その程度のバリデーションライブラリも書けない凡人のために(ありものの)フレームワークがあるということであれば、やはりあまり縁の無い話かなと思えてくる。
隣のコンビニになら歩いて行けばいいのに、なぜ車を用意してナビまでセットする?みたいな。
フレームワークってのは、端的に言えば誰が書いても同じ書き方になる仕組みで細かいこと周知しなくてもそうなるから多人数で書いても認識が共有できる、という思想なのかと思ってたよ。
思想通りに実現されるならよさそうだが、現実はそうでもないなって感じてるけど。
PHPみたいにWebに特化してない他の言語なんかは、イチからやるよりはフレームワーク使うのが現実的だと思うし、
PHPでも俺々マイクロフレームワークの話であればその実態は必要ライブラリと雛型くらいのものだろうから、そういうのに異論は無いけどね。
351デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 14:46:52.11ID:933yDlcJ0 >>349
Filter関数は意外と浸透してないっぽい
$foo = filter_input(INPUT_POST, 'foo');
は
$foo = (isset($_POST['foo']) && is_string($_POST['foo'])) ? $_POST['foo'] : false;
と書くのとほぼ同じ意味になる
上の方が楽だよね
Filter関数は意外と浸透してないっぽい
$foo = filter_input(INPUT_POST, 'foo');
は
$foo = (isset($_POST['foo']) && is_string($_POST['foo'])) ? $_POST['foo'] : false;
と書くのとほぼ同じ意味になる
上の方が楽だよね
352デフォルトの名無しさん (ワッチョイ 635b-0PbX)
2018/08/06(月) 15:06:29.57ID:Hk1kxuZq0 >>351
下の?を使う書き方が苦手なんよね
頭がわるいからこう書かないと理解できない(´・ω・`)
if(isset($_POST['foo'])){
$foo = $_POST['foo'];
}else{
$foo = false;
}
下の?を使う書き方が苦手なんよね
頭がわるいからこう書かないと理解できない(´・ω・`)
if(isset($_POST['foo'])){
$foo = $_POST['foo'];
}else{
$foo = false;
}
353デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 15:40:31.71ID:933yDlcJ0 >>352
PHP7からはもっと短く
$foo = $_POST['foo'] ?? false;
と書けたりもする
三項演算子は別に無理して使わなくていいけど
他の言語を経験してると$fooを初期化せずに
if (isset($_POST['foo'])) {
$foo = $_POST['foo'];
} else {
$foo = false;
}
と$fooをif〜elseの中に入れてしまうのはとても気持ち悪い
三項演算子を使わないなら自分はこう書くかな
$foo = false;
if (isset($_POST['foo'])) {
$foo = $_POST['foo'];
}
細かい話なのであまり気にしないくてOK
PHP7からはもっと短く
$foo = $_POST['foo'] ?? false;
と書けたりもする
三項演算子は別に無理して使わなくていいけど
他の言語を経験してると$fooを初期化せずに
if (isset($_POST['foo'])) {
$foo = $_POST['foo'];
} else {
$foo = false;
}
と$fooをif〜elseの中に入れてしまうのはとても気持ち悪い
三項演算子を使わないなら自分はこう書くかな
$foo = false;
if (isset($_POST['foo'])) {
$foo = $_POST['foo'];
}
細かい話なのであまり気にしないくてOK
354デフォルトの名無しさん (ワッチョイ 635b-0PbX)
2018/08/06(月) 15:58:25.55ID:Hk1kxuZq0 ifとelseの中に書くのはあまりよくないのか(´・ω・`)
全部こうやって書いてた。。。
理由が理解できないあほですまんけど次からはfilter_inputを使うから許して
全部こうやって書いてた。。。
理由が理解できないあほですまんけど次からはfilter_inputを使うから許して
355デフォルトの名無しさん (スププ Sd1f-j3zu)
2018/08/06(月) 16:05:18.97ID:UALza30Cd if (条件A) {
$foo = 'a';
} elseif (条件B) {
$foo = 'b';
}
var_dump($foo);
条件AもBも満たさなかった時にエラーになるわな
まずはvar_dumpが参照できるレベルで$fooを定義して必ず参照できることを保証しろってこと
phpしか書けないPHPerだとelseを書けばいいだろと思うかもしれんがそうじゃないそうじゃないんだ
$foo = 'a';
} elseif (条件B) {
$foo = 'b';
}
var_dump($foo);
条件AもBも満たさなかった時にエラーになるわな
まずはvar_dumpが参照できるレベルで$fooを定義して必ず参照できることを保証しろってこと
phpしか書けないPHPerだとelseを書けばいいだろと思うかもしれんがそうじゃないそうじゃないんだ
356デフォルトの名無しさん (ワッチョイ 635b-0PbX)
2018/08/06(月) 16:29:32.52ID:Hk1kxuZq0 >>355
$test = "c";
if ($test == "a") {
$foo = 'a';
} elseif ($test == "b") {
$foo = 'b';
}
var_dump($foo);
エラーはでずにNULLと出るんだが。。何か間違ってる?
$test = "c";
if ($test == "a") {
$foo = 'a';
} elseif ($test == "b") {
$foo = 'b';
}
var_dump($foo);
エラーはでずにNULLと出るんだが。。何か間違ってる?
357デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 16:39:22.00ID:933yDlcJ0 >>356
<?php
の次の行に
error_reporting(-1);
ini_set('display_errors', 1);
を書こう。大雑把にいうとエラーを全部出力するって意味になる
Notice: Undefined variable: foo($fooっていう変数が定義されてない)
ってエラーが出力されるはず
あと条件式は
($test == "a") じゃなくて
($test === "a") と「=」3つ使って比較しよう
理由は「PHP 型 比較」とかで適当にググって
<?php
の次の行に
error_reporting(-1);
ini_set('display_errors', 1);
を書こう。大雑把にいうとエラーを全部出力するって意味になる
Notice: Undefined variable: foo($fooっていう変数が定義されてない)
ってエラーが出力されるはず
あと条件式は
($test == "a") じゃなくて
($test === "a") と「=」3つ使って比較しよう
理由は「PHP 型 比較」とかで適当にググって
358デフォルトの名無しさん (スププ Sd1f-j3zu)
2018/08/06(月) 17:11:21.74ID:UALza30Cd >>356
エラーレベルってのがあってデフォの設定だとnoticeレベルのエラーとかは出ないようになってる
http://php.net/manual/ja/errorfunc.configuration.php#ini.error-reporting
undefineってのは未定義ってエラーなんで消したいなら最初に
$foo = null; なり $foo = ""; なりまずは$fooを定義(define)しろって事
エラーレベルってのがあってデフォの設定だとnoticeレベルのエラーとかは出ないようになってる
http://php.net/manual/ja/errorfunc.configuration.php#ini.error-reporting
undefineってのは未定義ってエラーなんで消したいなら最初に
$foo = null; なり $foo = ""; なりまずは$fooを定義(define)しろって事
359デフォルトの名無しさん (ワッチョイ 635b-0PbX)
2018/08/06(月) 17:25:08.30ID:Hk1kxuZq0 エラーが出たし理由もなんとなく分かったよ サンクス
でも今まで書いたやつにもエラーが出まくり 本を写しただけなのに(´・ω・`)
買う本を間違えたかな。。。初心者は何を買えばええんや。。。
でも今まで書いたやつにもエラーが出まくり 本を写しただけなのに(´・ω・`)
買う本を間違えたかな。。。初心者は何を買えばええんや。。。
360デフォルトの名無しさん (ワッチョイ f3e9-0Uuo)
2018/08/06(月) 17:36:11.38ID:933yDlcJ0 >>359
エラーの設定ってのは学習時に一番最初にやるべき事で
本来はphp.ini(PHPの設定ファイル)の方へ設定すべき事なので
それについて書かれてないのならその本はハズレだろうねw
あと本を写したって書いてるけど
ソースコードを見たまままま打ち込む(写経と呼ばれる)作業は
何かしらの言語をもう少し書けるようになってからでいいと思う
(決して無駄ってわけじゃないけど)
今の段階だとソースが付録として付いてたり
ウェブからダウンロードできるようになってる方が良いんじゃないかな
具体的にこの本が良いと答えられたらいいんだけど
知らないんだ…すまない
エラーの設定ってのは学習時に一番最初にやるべき事で
本来はphp.ini(PHPの設定ファイル)の方へ設定すべき事なので
それについて書かれてないのならその本はハズレだろうねw
あと本を写したって書いてるけど
ソースコードを見たまままま打ち込む(写経と呼ばれる)作業は
何かしらの言語をもう少し書けるようになってからでいいと思う
(決して無駄ってわけじゃないけど)
今の段階だとソースが付録として付いてたり
ウェブからダウンロードできるようになってる方が良いんじゃないかな
具体的にこの本が良いと答えられたらいいんだけど
知らないんだ…すまない
361デフォルトの名無しさん (スププ Sd1f-j3zu)
2018/08/06(月) 17:42:18.16ID:UALza30Cd 最近はネットで動画を見ながら学習できるサービスが色々とあるからそういうのもいいんじゃね?
本は俺も知らん
phpのまともな本を探すのってウンコの山から金の塊を探すようなもんだ
本は俺も知らん
phpのまともな本を探すのってウンコの山から金の塊を探すようなもんだ
362デフォルトの名無しさん (ワッチョイ 8395-j3zu)
2018/08/06(月) 20:26:24.27ID:FCdiHJQQ0 未だにフレームワークを使う意味が分かんないとか言ってるのは中小零細の底辺ペチパーやろな
SQLとかを生で書いて文字列結合とかやってるんだぜきっと
LaravelあたりのモダンなFWを理解する頭もなさそう
SQLとかを生で書いて文字列結合とかやってるんだぜきっと
LaravelあたりのモダンなFWを理解する頭もなさそう
363デフォルトの名無しさん (ワッチョイ 5381-Xflc)
2018/08/06(月) 21:01:33.08ID:Xt7Beabr0 ウンコはすぐ分かる
まずそれを踏まないようにしよう
まずそれを踏まないようにしよう
364デフォルトの名無しさん (ササクッテロレ Spc7-gWEw)
2018/08/07(火) 06:40:30.60ID:TazhAm3Np 「サーバーを書く」っていうのはどういう意味?phpで書いたプログラムをサーバーに置いて動作するようにすることも含むの?まったく違う概念?
365デフォルトの名無しさん (ワッチョイ c376-SA/8)
2018/08/07(火) 07:57:29.50ID:fqjZQqpG0 サーバーサイドプログラムを書くってことじゃないかな
基本的には動作するところまでも含むと思うが、
そんな表現使う人の気持ち次第ってところもあるかと
基本的には動作するところまでも含むと思うが、
そんな表現使う人の気持ち次第ってところもあるかと
366デフォルトの名無しさん (ワッチョイ ff7f-gWEw)
2018/08/07(火) 08:28:33.60ID:uocr6YSL0 >>365
ありがとう
ありがとう
367デフォルトの名無しさん (ワッチョイ 6f17-j3zu)
2018/08/07(火) 10:42:59.89ID:5VqtIgbz0 サーバーサイドという言葉でくくってしまうとPHPはサーバーサイドで動くものなので語弊があるが
PHPは得意とするフロントを作る以外に例えばProxyサーバとして動作するものを短い行数で書いたりもできる
サーバーを書くってのはそういうものをPHPなり他の言語なりで書く時に使う表現かと
PHPは得意とするフロントを作る以外に例えばProxyサーバとして動作するものを短い行数で書いたりもできる
サーバーを書くってのはそういうものをPHPなり他の言語なりで書く時に使う表現かと
368デフォルトの名無しさん (ワッチョイ ff7f-gWEw)
2018/08/07(火) 10:50:55.53ID:uocr6YSL0 >>367
例えばオンライン要素(マルチプレイ)のあるゲームを作る際に、サーバーにあるDBにアクセスしてデータを出し入れするプログラムをPHPで書いた場合は「サーバーを書く」と言っていいの?
例えばオンライン要素(マルチプレイ)のあるゲームを作る際に、サーバーにあるDBにアクセスしてデータを出し入れするプログラムをPHPで書いた場合は「サーバーを書く」と言っていいの?
369デフォルトの名無しさん (ワッチョイ 8395-j3zu)
2018/08/07(火) 11:02:53.49ID:7NW2zIgs0 >>368
そういう用途では使わないと思う
Proxyみたいにサーバ上でスタンドアローンで動作するアプリと言えばいいかな?そういうものを書くイメージ
例えばwebminはhttpサーバ機能をperlで書いてるがそういうものをサーバーを書いたと言うのはしっくりと来る
そういう用途では使わないと思う
Proxyみたいにサーバ上でスタンドアローンで動作するアプリと言えばいいかな?そういうものを書くイメージ
例えばwebminはhttpサーバ機能をperlで書いてるがそういうものをサーバーを書いたと言うのはしっくりと来る
370デフォルトの名無しさん (ワッチョイ ff7f-gWEw)
2018/08/07(火) 11:04:40.27ID:uocr6YSL0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- コウメ太夫のネタ考えたから評価してくれ
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- vipこのままでいいの?なんか盛り上げる方法ないの?
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
