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

■ このスレッドは過去ログ倉庫に格納されています
2020/06/05(金) 14:25:26.87ID:RQhNy1WS0
PHPに関する質問スレです

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

次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2021/02/01(月) 22:49:32.06ID:HNpq86jA0
Rubyガイジって頭悪そうだよね
bootstrapも5になるとjquery不要になるし
レガシーガイジにはついて行けなくなるか
2021/02/02(火) 11:58:53.33ID:Dp19tSrM0
ERB とJSX も、書きやすい

埋め込みRuby のERB、a.html.erb から、
React コンポーネントのFoo.jsx へ、インスタンス変数などを渡せる

サーバー側のRubyで、HTMLを作って、GUI はReactと、役割分担も明確
2021/02/02(火) 12:15:30.15ID:Dp19tSrM0
Rails には、API モードもあるので、
サーバーからHTML ではなく、JSON を返す事もできる

この場合は、Rails, React, GraphQL とか

JSONにする利点は、スマホアプリにも対応できる点
2021/02/02(火) 20:51:05.74ID:C68jPC2ir
気持ち悪い
だからRuby信者は嫌われてるんだよ
750デフォルトの名無しさん (テテンテンテン MM3e-kyke)
垢版 |
2021/02/03(水) 01:52:21.65ID:vIRw3p5/M
自作検索フォームでキーワードごとに条件分岐させて検索結果にそれぞれ違うコンテンツを実装したいんですが、
キーワードごとに分岐させることは可能でしょうか?
調べたんですが、どこにも書いておらず本も何を参考にすればよいかわからず。教えてくださいお願いします。
2021/02/03(水) 10:56:38.05ID:CubQB6aCd
https://blog.codecamp.jp/php_get_post
2021/02/08(月) 17:25:08.00ID:BQbySsyl0
いまからPHPを勉強しようと思って、
このページを参考にしようかなと思っているのですが、情報が古いですか?

https://gihyo.jp/dev/serial/01/start-php/
2021/02/08(月) 17:33:27.60ID:MYyBpjYR0
>>752
めちゃ最新情報だな
これは参考になる
2021/02/08(月) 18:39:10.94ID:85k1cla3M
>>752
そのページのPHP5.2.5は古い。PHPの最新は8.0。
ウィンドウズXP使ってるなら参考になるかもだけど古い
2021/02/08(月) 19:25:12.71ID:YmxwiogA0
PHP7を勉強していれば問題は無いかと
2021/02/08(月) 20:23:10.13ID:ayLQs4lP0
5から7だと色々違いがある
最初から覚えるなら、7からで良いと思う
余裕があったら、5も覚えてみれば
757デフォルトの名無しさん (テテンテンテン MM8f-bIIU)
垢版 |
2021/02/08(月) 20:30:29.64ID:mgsZQSHEM
RSS2.0を自作しているのですがチェックしてもこのサイトで重大なエラーが表示されましたと表示されどこが間違っているのか分かりません。
エラー原因を突き止める場合はどのような事をすれば良いのでしょうか?
構文のエラーはチェックしましたが問題ありませんでした。
2021/02/08(月) 20:36:26.83ID:X6cUa6MG0
>>757
ほんとに「このサイトで重大なエラーが表示されました」なんて表示されたのか?

お前の提供する情報は全く信用できないんで、まず「構文のエラーはチェックしましたが問題ありませんでした。 」の根拠から提示しろ
2021/02/08(月) 20:38:22.41ID:0fSH6U0R0
最も単純で間違いようがない、1文だけのRSS を作って、やってみれば?

それでエラーになるなら、システムのどこかがおかしいから、エラーログを見る
760デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 20:44:52.90ID:mgsZQSHEM
https://freelancer.hatenablog.jp/entry/2017/05/03/%E6%84%8F%E5%A4%96%E3%81%A8%E7%B0%A1%E5%8D%98%E3%81%ABphp%E3%81%A7RSS2.0%E3%81%A8Atom%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%82%92%E7%94%9F%E6%88%90%E3%81%A7%E3%81%8D%E3%81%9F

https://www.gekkoseisaku.com/blog/product/4302/

こちらの2つを参考にしました。


ライブラリの読み込みは
https://ドメイン/wp-content/themes/hueman_child/Feed.php
https://ドメイン/wp-content/themes/hueman_child/Item.php
https://ドメイン/wp-content/themes/hueman_child/RSS2.php

// エイリアスの作成
use \FeedWriter\RSS2;
よくわからなかったのでただコピーしました

// ファイルの保存場所を設定
https://ドメイン/home/aaa/bbb/rss2.xml

public_html/home/aaa/bbb ここにrss2.xmlというファイルを作りました
2021/02/08(月) 21:01:57.29ID:X6cUa6MG0
>>760
ヒアリングまでするつもり無いから指摘だけするけど、お前のそれは自作じゃない
WordPressにライブラリを使ってRSSを導入しようとしたって書け
で、多分構文チェックも「吐き出されたRSS」に対してのものじゃなくて、phpのsyntax errorが出てないとかそんな話だろ?
まず質問を「正確な情報に整理」しろ
762デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 21:15:57.71ID:mgsZQSHEM
>>761
すみません。
wordpressで前も質問したのですが結局ライブラリの読み込みに失敗してうまくいかなかったのですが、画像パスと同じようにフォルダまでのパスを書けば通常読み込み可能なのでしょうか?
エラーもどのようにチェックすればよいか分かりません。
763デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 21:18:59.07ID:mgsZQSHEM
w3cでチェックしたのですが構文にエラーはなく内部サーバーエラー 未定義のルート要素:エラーと出てきます。
2021/02/08(月) 21:20:58.62ID:0fSH6U0R0
WordPress の質問は、web制作管理板の方へ書き込んでください!

たぶん、この板よりも、やってる人が多いはず
2021/02/08(月) 21:23:26.20ID:0fSH6U0R0
結局は、WordPress の本・説明書を読むしかない

個別のアプリの使い方を聞かれても、やっていない人には分からない
766デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 21:30:27.36ID:mgsZQSHEM
php.iniでRSSを開いた場合error on line 2 at column 1: Extra content at the end of the document
と表示されています。
767デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 21:45:25.18ID:mgsZQSHEM
>>764
すみません。おそらくwordpress関係なくパスのエラー構文エラーです。
768デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 22:26:53.47ID:mgsZQSHEM
ライブラリの読み込みを
require_once "Item.php" ;
require_once "Feed.php" ;
require_once "RSS2.php" ;

参考サイト様のように戻すとエラーが一つ解消されました。
http://weble.org/2011/06/18/php-simplexml_load_string 不要な文字列が出てるのが問題だというエラーでした。

新たにInvalid argument supplied for foreach() 
/home/cwfpagfn/public_html/wp-content/themes/hueman_child/feed-rss2.php</b> on line <b>23</b> 

23行目のforeach()に無効な引数が指定されましたとエラーが出てきました。
2021/02/08(月) 22:40:05.99ID:0fSH6U0R0
この板で聞いても、WordPress をやってる人がいないのでは?

基本的に、WordPress の本・説明書を読むしかない。
その説明を理解して作るしかない

他のサイトからコピペして動かせるのは、既に勉強して、仕組みを分かっている人だけ。
仕組みを分かっていないのなら、WordPress の本・説明書から始めるしかない
770デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 22:45:52.99ID:mgsZQSHEM
今まで使えなかった原因がわかりました。レンタルサーバーの仕様でhome/契約時のパス/フォルダ名にしていなかったためパスが通っていなかったみたいです。

Invalid argument supplied for foreach() エラーが出ているのは構文を変えなさいと警告されてました。
771デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/09(火) 01:41:52.35ID:rcWBANw5M
Invalid argument supplied for foreach() エラーは
foreach ($list as $key => $value){ が配列の形式で文を実行していたため起こったので
(arry)を付け加えましたforeach ((arry)$list as $key => $value){ 

w3cで確認したところ最後のエラーが書いてありXML parsing error: <unknown>:1:0: no element found
とあったのですが、記事をWP SHOW POSTSプラグインで上げているためかRSSが認識されず真っ白になります。
2021/02/09(火) 07:57:37.02ID:fL1ri4wnM
WordPressならローカルで動かしてデバッグ実行したほうが解決しやすいんじゃないの?
レンタルサーバーのphpにXdebugも設定されてたらそれ使ってデバッグもできるかも
2021/02/11(木) 17:27:04.74ID:ZgxDXcht0
>>771
それ、全然解決になってない

Invalid argument supplied for foreach()って書いてるよね?
つまり、foreach() には「配列」や「オブジェクト」を渡せるけど、
$listはforeach()で扱える型にはなってないってこと

だったらまずは
var_dump($list);
とでも書いて、中身がどうなってるか確認しないと…
たぶん、中身はNULLか(boolの)falseになってるのでは?

あと>>770に今更気づいたってことは、PHPのエラー設定がおかしいってこと
PHPはエラー内容を細かく出力したりログに残したりできるから、それを見れば>>770なんてすぐ気づく

だからまずはエラー設定から見直すべき
WordPressぐらい「本当にPHPが書ける人なら」どうにでもできるけど、WordPress云々以前の話
2021/02/11(木) 17:28:12.36ID:ZgxDXcht0
で、PHPのエラー設定を変えるには

1. php.iniに書く
2. (WebサーバがApacheなら) .htaccessに書く
3. プログラム内に直接書く

といった方法があるけど、(質問レベルも考慮して)WordPressならとりあえず「wp-config.php」の先頭あたりに

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', 'エラー記録ファイルまでのパス'); // PHPからの書き込み権限を与えること

と書けばいい
本番で一般公開させる場合は
ini_set('display_errors', 0);
に変えること
2021/02/11(木) 17:51:36.62ID:g9TEo0CEr
めんどくさすぎ
他の言語はもっと楽なのに
2021/02/11(木) 18:05:47.23ID:JFRx/R+g0
そのめんどくささがPHPのクセになるところなのかもしれんぞ
2021/02/11(木) 18:25:03.56ID:+w8UzDs60
>>775
で、他の言語はどう楽なの?w
PHP以上に楽な言語は無いやろ
2021/02/11(木) 18:41:36.81ID:JGCs/qQB0
ログはデフォで出力してたな
ただ、レベル設定して
一定の数値未満は出力しないようにしてた
779デフォルトの名無しさん (オッペケ Src7-JbIh)
垢版 |
2021/02/12(金) 20:28:11.62ID:i+ggZI+2r
あれから考えてデフォルトのRSSを書き換えることにしたんですが、<description><![CDATA[<p>
</description>のなかにいくつものサイズの画像が出力されておりそいつが邪魔してるようです。
通常RSSの<description><![CDATA[のなかには画像が1つしか出力されないはずがプラグインWP POST SHOWSの仕様?で複数表示されてます。
スマホ用とPC用で記事を分けてサイズを変えると2重に表示されるのでしょうか?12パターンも表示されてます。スマホとpcで記事を分けてるといってもサイズは2パターンだけです。
780デフォルトの名無しさん (オッペケ Src7-JbIh)
垢版 |
2021/02/12(金) 20:29:14.80ID:i+ggZI+2r
>>773>>774
ありがとうございます。検索欄を作るときに実践してみます。
2021/02/12(金) 20:30:33.76ID:WC9JZZt5d
正規表現で画像をひょひょっと抽出できない?
2021/02/12(金) 20:31:53.04ID:/dc2BdDj0
>>779
君アホなの?誘導されたんだからそっちいけ
783デフォルトの名無しさん (オッペケ Src7-JbIh)
垢版 |
2021/02/12(金) 20:32:29.75ID:i+ggZI+2r
同じ記事をPCとスマホで分けて480px以下の時はdisplay:noneで消したんですがこれが悪かったんですかね…
2021/02/12(金) 21:10:36.12ID:RpqVOpxf0
>>779
アクセスされた、すべての画面サイズの画像を作るのかも?
そういうのは、WordPress(WP)の設定で決まるのでは?

web制作管理板のWPのスレで聞いた方がよい。
PHP とは関係ないから
785デフォルトの名無しさん (スフッ Sd1f-+/RN)
垢版 |
2021/02/20(土) 22:56:29.84ID:oJuwQSR9d
PHP初心者なのですが質問よろしいでしょうか?
現在PHPで掲示板を作成しています
CSVを読み込んで取得した書き込みを2次元配列$listに入れています。
それをforeachでテーブルに出力したいのですが上手くテーブル状に出力できません。
foreachの処理の順番がよく分かってないのですが1つ目の処理で$listの[0]を$key1に格納して次の処理で$key1を$key2に格納して…と考えてコードを書いたのですがそこが間違ってるのでしょうか?
汚いですがコードも載せておきます

https://imgur.com/gallery/YwgAn0c
2021/02/20(土) 23:06:08.51ID:VmESNyRid
>>785
ループ内でTRタグも出力
2021/02/20(土) 23:08:03.93ID:nR8iJ2Ee0
ファイル読み込みの時点で間違ってる
csvなのに'\n'でexplodeしてるよ
2021/02/20(土) 23:12:44.84ID:oJuwQSR9d
>>786
ありがとうございます
という事はやはりforなどとは違ってループというよりは一括で処理してるのですかね?

>>787
ありがとうございます
ほんとですね…お恥ずかしい限りです
2021/02/20(土) 23:17:53.47ID:VmESNyRid
>>788
NiziUループ
790デフォルトの名無しさん (ワッチョイ 6fad-pQAD)
垢版 |
2021/02/21(日) 09:57:53.72ID:Veab3ZZ00
>>785
https://i.imgur.com/7tX0gep.png
2021/02/21(日) 18:50:04.48ID:+K5rDgeQd
>>790
ありがとうございます
こんなに綺麗にできるんですねお恥ずかしい限りです
参考にさせていただきます
2021/02/21(日) 21:41:33.85ID:x7XX42Aa0
Ruby で書いた
https://paiza.io/projects/_naoN2p3jNU96323k6gU7Q

質問は画像ではなく、ソースコードを実行できるサイトに書いてください!
画像だと、コードをコピペできないので

正しくは、erb ファイルに書いた、ERB::Util のh メソッドで、
<>& などのHTML の特殊文字をエスケープしないといけない

テキストの「&lt;犬&gt;」が、HTMLでは「<犬>」と表示される

ERBでは、<% 〜 %> は単に、Rubyで実行されるだけ。
一方、<%= 〜 %> は実行されて出力される
2021/02/22(月) 00:57:45.91ID:OSdGx0+YM
php勉強したいんですがおすすめありますか?
2021/02/22(月) 08:16:51.77ID:1S2EHAN9a
またrubyガイジ湧いてるよ
2021/02/22(月) 18:12:03.35ID:odQJAm3K0
>>792
>質問は画像ではなく、ソースコードを実行できるサイトに書いてください!
じゃねーよカス
人にあれこれ言う前に回答は質問者の使ってる言語で書け
2021/02/22(月) 18:17:34.08ID:jHjYO/cMr
ガイジだらけで嫌になるこの業界
2021/02/22(月) 18:42:42.30ID:DfVti/3y0
足を洗いなさい
2021/02/22(月) 23:33:51.39ID:OSdGx0+YM
誰も教えてくれないので気づいたらプロ並みphp買いましたプンプン
2021/02/23(火) 00:55:04.17ID:qVJDFfo90
多分だけど、今時は本とか買わないんだよ
ググれば大抵の情報はあるし、俺なんかPHPの本は買ったことが無い
アセンブラ,C,C++,C#,Java等既にやってたというのもあるけど
Vue.jsの本は買ったけど、あんまり読まずに結局ググって調べて作ってた感じ
PHPだとLaravelを使った開発になることが多いけど
普及しているから調べたら大抵やりたい事のヒントは見つかるし本買うことは無いかな
2021/02/23(火) 01:00:56.36ID:d8QqA7+U0
初学者がググって調べていくのはおすすめせんな
断片的な知識になりすぎる
2021/02/23(火) 10:53:22.13ID:oVEFpcof0
>>799
他言語をやってプログラミングの基礎が身に付いてればググった知識で新しい言語を覚えたり必要ならリファレンス等を自分で調べることも可能だけど、まったくの初心者がネットの情報だけで学ぼうとしても断片的な寄せ集めだけで基礎を積み上げられず、いつまでたっても上達しないって奴を良く見かけるよ
2021/02/23(火) 11:31:39.10ID:RAnqGNmxM
サンプル付きのphp.netで文法見てcomposerで入れたパッケージのソースで実用例を学ぶので良いよ。
プログラミング初心者ならVisualStudio CommunityでWindows用UWPアプリ作ったほうがGUIで楽しいと思う。
2021/02/23(火) 11:45:22.41ID:mpn62w9K0
いまからPHPを勉強しようと思ったら、
いまでも、XAMPPをインストールするのがベスト?

オンラインエディタもあるけれど、きっとファイルのアップロードとかダウンロードとか、
あと、データベース周りなんかまではきっとサポートしていないよね・・・?
2021/02/24(水) 01:14:52.42ID:uy5QqvKW0
XAMPPがベストかどうかは何とも言えないけどWindows環境なら割とお手軽ではある
VSCodeなどでデバッグする場合はphp.iniを編集してxdebugを有効にしたりする必要はあるけど
設定方法が分からなければxdebug wizardでググれば出てくる一番上のサイトに
php -iの出力を貼り付ければおおまかなやり方を教えてくれる
2021/02/24(水) 06:45:13.56ID:8KHpZqCx0
今も昔も言われてるけど
初学者はPHPマニュアルを1から読んでいけばいいんだよ
プログラムに対してある程度知識あるなら
いきなりフレームワークからいってもいいけど
PHPマニュアルに書いてることがある程度理解できないと
フレームワークのチュートリアル読んでても意味わからんと思うわ
806デフォルトの名無しさん (ワッチョイ 2320-W5tZ)
垢版 |
2021/02/24(水) 23:16:31.63ID:nWjYyUo00
配列の存在の高速チェックをいまからやってみる
2021/02/25(木) 13:38:38.66ID:t62XNbsY0
phpでユーザー関数の勉強をしているのですが引数に2次元配列は入れれないのでしょうか?
2次元配列とその他のデータを入れようとしても上手く読み込んでくれずFatal error: Unsupported operand types inという変数の型が違う?エラーが起きてしまうのですが
2021/02/25(木) 13:58:52.53ID:2tM1o+7i0
>>803
xamppは脳死者向け
Vagrant辺りを使えば昔に比べてかなり簡単に環境構築できる

今更xamppで環境構築云々書いてるようなサイトは
内容も古くて間違いだらけだったりするから気をつけた方がいい
そういうサイトって運営者自身がまず間違いなく素人だし
2021/02/25(木) 14:11:10.89ID:2tM1o+7i0
>>807
2次元だろうが3次元だろうが渡せる

Unsupported "operand" types in
って書いてるよね?
operand の意味が分からないならそこから調べないと駄目だわな

$hoge + $fuge
$hoge / $fuge
operand(被演算子)ってのは上記でいえば$hogeや$fugeのこと

それに対して「+」や「/」はoperator(演算子)だ

まぁたぶんその関数内での2次元配列の扱いがおかしいんじゃね?
本来 int型 + int型 しかできないのに、array型 + int型 してるとかさ
2021/02/25(木) 15:01:48.29ID:qs8lYnNk0
>>807
どんなコード書いてるの?
2021/02/25(木) 20:05:51.71ID:J2N9XFhZM
最近php勉強してるけどコード古臭さ感じてきついわ
2021/02/25(木) 20:11:34.69ID:ZW7ncKwI0
新鮮なコードを書けば宜しい
2021/02/25(木) 21:01:54.59ID:t62XNbsY0
>>809
ありがとうございます
コード見直して勉強します!

>>810
自力で見直してそれでもダメだったらコード上げて質問させて頂きます🙌
普通最初からコードあげといた方がみなさんも分かりやすくて良かったですよねすいません
2021/02/26(金) 11:11:31.39ID:NNIhhmgo0
互換性無視すればそれなりに洗練したコードが書ける
815デフォルトの名無しさん (ワッチョイ 0f89-PsV7)
垢版 |
2021/02/27(土) 17:17:12.21ID:SVsFsbb50
MacにXAMPP入れて動かしているのですが、
フォルダやファイルを作成してFinderで削除しようとすると毎回パスワードの入力を求められます。
どうすれば回避することができるでしょうか?
2021/02/28(日) 23:08:27.68ID:E6BQP/ET0
PHPを使って外部ファイルの指定行を読み取りたい場合ってfor文を使って
for($n=0;$n<$line;$n++)
とするのが1番ベターでしょうか?
もう少し効率の良い方法はないかと探したのですが見つからなかったので教えて頂きたいです
2021/02/28(日) 23:11:59.25ID:+Fm9mKrm0
$file = new SplFileObject('sample.txt');
$file->seek(10);
echo $file->current();
2021/02/28(日) 23:14:43.05ID:E6BQP/ET0
>>817
ありがとうございます!自分が無知でした!
調べて使わさせて頂きます!
2021/03/01(月) 12:54:41.13ID:85EsPG4p0
n行目をseek使って読みたいなら
seek(n - 1)してから
current()
だけどね
2021/03/01(月) 14:38:07.21ID:a7k6+LlLr
優しすぎて泣けた
821デフォルトの名無しさん (ワッチョイ 0b10-NAmc)
垢版 |
2021/03/02(火) 14:59:48.81ID:VmJreu3J0
ttps://www.sejuku.net/blog/97648

↑この記事の一番下のコードをコピペしてhtdocsフォルダにbord.phpで保存、
xamppでテストしたら文字化けかつ最初の書き込みしか表示されません。
どこを修正したら正しく表示されるのでしょう?
2021/03/02(火) 15:41:46.48ID:IEC/D8c+0
>>821
ここじゃなく、ブログ主に質問してみ
2021/03/02(火) 15:54:47.96ID:AJdtAKNA0
>>821
UTF-8やSJISといった文字コードの事ぐらいは理解してるのか?
理解してないならPHP云々以前の話だが
2021/03/02(火) 16:44:47.96ID:VmJreu3J0
>>822
それが正しいと思いますがツイッターやっていないです
>>823
文字コードは分かります。
825デフォルトの名無しさん (エムゾネ FFea-RATT)
垢版 |
2021/03/02(火) 16:49:12.46ID:2RCjcGnLF
sejukuは糞だから参考にしない方が良い
2021/03/02(火) 16:52:06.27ID:IEC/D8c+0
>>824
貼ったURL読んですぐ分かると思うが
こんなものコピペしたって動かないぞ
セキュリティどうのって書いてあるが、
それ以前の問題だから
何故動かないのかを調べて修正するって言うなら良い勉強になる
2021/03/02(火) 17:02:21.40ID:x2ugzWK70
文字化けは知らんがおそらく"\t"と"\n"が"t","n"に化けてるな
828デフォルトの名無しさん (ワッチョイ 0b10-NAmc)
垢版 |
2021/03/02(火) 17:13:42.91ID:VmJreu3J0
>>825-827
了解です、もう少し勉強します
ありがとうございました。
829デフォルトの名無しさん (ワッチョイ 0b10-NAmc)
垢版 |
2021/03/02(火) 17:28:08.43ID:VmJreu3J0
>>827
9行目を
"\n"にしたら出来ました。
ありがとうございました。
830デフォルトの名無しさん (ワッチョイ ffb1-CIDx)
垢版 |
2021/03/03(水) 12:07:35.32ID:Q1I7E9kV0
ブレークポイントを使用する事が出来ません。
phpinfoのページを開くと、REMOTE_PORTの番号が数秒おきに変更されて居る様なんですが、これが原因でしょうか?

・lounch.jsonに「"port": 9001」を追加
・php.iniに「xdebug.remote_port = 9003」を追加

この二点を追加したのですが、相変わらず、REMOTE_PORTの番号が数秒おきに変更されています。
原因をご存知の方いらっしゃいましたら教えて下さい。
お願い致します。

【開発環境】
Windows10
XAMPP
VSCode
2021/03/03(水) 21:42:25.96ID:B/P/kl5ZM
同じポート番号を指定する。番号は何でも良い。
xdebugはxdebugのバージョンでポート指定の項目名が変わる。
832デフォルトの名無しさん (ワッチョイ a2b1-RMRD)
垢版 |
2021/03/17(水) 22:07:36.32ID:1mKdTkii0
PHPやRails系のフレームワークを
理解出来ず、使いこなすことが出来ずに何度も挫折しています。
ちなみにデータベースは直接使いこなすことが出来、
SQLも問題なく書けます、オラクルマスターも取得しています。
HTML CSS JavaScriptにも困っていません。
フレームワークを使わずに直接SQLを組み立てるアプリなら
開発したことがあり、作成出来ます。
node.jsやexpressなら理解できるレベルです

しかし、PHP系のフレームワークのドキュメントを呼んでも
意味が理解できません。
問題点としては、連想配列をやたら大量に定義する部分で
毎回意味がわからなくなり挫折します。
オブジェクト指向は苦手なタイプです。
MVCのモデルがなんなのか未だに理解出来ていません。
私が思うに、この手のフレームワークのドキュメントは
既に同じようなフレームワークを使いこなしている人を
想定して説明されており、私は一度も使いこなせていないので
理解できないのだと思います。
なぜSQLをここまで隠蔽して連想配列が沢山出てくるのか
私には分かりません。

とても悩んでいるので誰かアドバイスよろしくお願いします。
2021/03/17(水) 22:23:09.00ID:68UBebHxa
>>832
MVCを理解できないだけでしょ
php関係無い
834デフォルトの名無しさん (ワッチョイ a2b1-RMRD)
垢版 |
2021/03/17(水) 22:30:45.66ID:1mKdTkii0
>>833
そうかもしれません
node.jsはmodelがないから使えるのだと思います
Railsも苦手です
modelと連想配列を使った
メソッドについて理解することが出来ません。
2021/03/17(水) 22:32:17.67ID:W80ESG/m0
>>832
ある意味慣れみたいなものだと思う。取りあえずLaravelの話をするけど
まずはルートを定義するroutes/web.phpみたいなファイル
ここにどういうURLでアクセスされたらどのコントローラを呼ぶかと定義する
実際に特定のURLがアクセスされると定義されているコントローラを呼ぶ
コントローラはapp/Http/Controllersに配置するのが一般的で
そこにコントローラのコードを書く
流儀に従うとDIやら色々あるけどそこは省略してコントローラに全てのコードを書いて取りあえず構わない
(ファットコントローラーが悪いという奴もいるが取りあえず気にしない)
returnするときに、HTMLを返すような作りならbladeというテンプレートのファイルと
その表示に必要なデータを指定すれば、webページが表示される
そのbladeのテンプレートは一般的にはresources/views以下に配置しファイルの命名規則は
テンプレート名.blade.phpとなる
SQLの部分が一番不満?に思っているかもしれないがこれも慣れで
Laravelでは別にモデルを必ず使わなければならないと言う訳でも無く
素のSQLを書いても動くのだが(PHPのPDOクラスを使うような感じでパラメータをバインドするような使い方)
基本的にはEloquentのクエリビルダを使うのが一般的だ
この方が慣れると非常に楽になると思う
ただ、Laravelの場合idというオートインクリメントのプライマリーキーがデフォルトで全てのテーブルに
存在するという考え方で私は好きなのだがサロゲートキーが嫌いみたいな人も時々いるのでその場合は
モデルの定義を若干書き換えれば対応は可能ではある

簡単には説明できないな。この辺で少しは掴んでもらえたらと思う
また質問されたら書けることがあれば書いてみる
836デフォルトの名無しさん (ワッチョイ a2b1-RMRD)
垢版 |
2021/03/17(水) 22:39:27.72ID:1mKdTkii0
>>835
ありがとうございます。
ララベルも触ったことがありますが、
例えばURLとcontrollerのルーティングや
Viewをレンダーする部分は理解できます。

ただ、やはり「DI」?というものと、
Eloqent、クエリビルダーなどというものが
よく分からず挫折しています。
2021/03/17(水) 23:04:27.69ID:W80ESG/m0
>>836
DIは今はどうでもいいのでパスして
MVCのModelの部分が納得いかないという事なのは分かるので取りあえずLaravelの話をすると
Laravelが採用しているEloquentというのは、railsのactiverecordとか一般的になORMとは結構違う部分があり
Eloquentでは、特にカラム名の定義を書く必要はありません
(キャストしたりする場合やidがプライマリーキーじゃないなど設定を変更する場合は書く必要があるが)
ただ、モデルを扱う上ではキャメルケースで単数形のクラスの定義だけは必要です
(テーブル名は基本的に複数形とするが、このルールに従わない場合は、モデル内に実際のテーブル名を指定出来る)

モデルクラスを用意しておけば、コントローラから例えばplayersテーブルにアクセスするPlayerクラスのモデルを利用して
id=1のデータを取るなら
$player = Player::find(1);
のような形で取れます。これはselect * from players where id=1 limit 1と同等です
検索キーが違う場合は、Player::where('key',1)->first()みたいな形で一つだけ取って来れます
これはselect * from players where key=1 limit 1と同等です
find()やfirst()で終わった場合は、結果は一つだけなので、Playerのインスタンスが返されます
そのインスタンスには他のカラムのデータ全てが入っている為、player->idやらplayer->keyなどで
それぞれのカラムが取得できます
複数になりうる条件の場合、例えばresult = Player::where('key','>',1)->get()みたいな場合は
結果は配列となり帰ってきます
この場合、結果が0でも空の配列になるし、結果が一つでも1個の配列になります
ですので1個目の結果がいるならresult[0]->idみたいな形でカラムにアクセスしますが
通常ならforeach()等で回ってそれぞれを処理する形になるでしょう
2021/03/17(水) 23:08:35.38ID:W80ESG/m0
配列と書きましたがLaravelの場合はCollection型というものがありそれで帰ってきますので
厳密には説明と違う部分がありますが、概要と言う事でご勘弁ください
(toArray()など配列に変換したりも出来はします)
2021/03/18(木) 00:53:34.81ID:/B4L4J97r
>>837
なんでおめーそんなに親切なんだよ
カッコいいじゃねえか
840デフォルトの名無しさん (アウアウカー Sa09-RMRD)
垢版 |
2021/03/18(木) 08:55:57.53ID:oZnP+M9ua
>>837
なるほど、
ではModelとは
SQLより書きやすくするために
オブジェクト指向を使ってDBアクセスをする
構文を再定義したものということですか?
2021/03/18(木) 12:38:10.33ID:VjRMlHUp0
YouTube で有名な、雑食系エンジニア・KENTA のサロンは、千円で日本6位。
KENTAは初心者は、学習環境が整っている、Ruby on Rails をやるべきって言ってる

Java, PHP はやる必要がない。
Python も含めて、これらはサラリーマンで、金をもらいながらやるもの

無料で勉強するものじゃない。
時間が掛かるだけで、他に転用できる技術が身につかない

一方、Railsは、Rails 6 の本だけでも数冊出てるし、
Railsガイド・Rails Tutorial もある

ほとんどの学校・サロンも、Rails
2021/03/18(木) 12:44:51.90ID:Usc7ZYS2M
>>840
再定義と言うよりDBをポスグレからMySQLに変えやすくしてるとかそんな感じ。
migrationでテーブル作成する際に外部キー制約付けると、そのキーのデータも自動で取得してくれてModelアクセスできたりしていろいろ便利機能がある
2021/03/18(木) 12:46:20.75ID:VjRMlHUp0
Rails の本とか、学校・サロンへ行っても、
ルールが分からない香具師は、よほどの馬鹿

Railsなんて皆、KENTA・東京フリーランスのとだこうきとか、
前職が営業職などの、文系がやってるのに
2021/03/18(木) 12:56:18.21ID:VjRMlHUp0
オラクルの資格も持っているのか

時間がもったいない。
KENTA のサロンに入れば良いだけ

勉強方法なんて、KENTAみたいな専門家に聞けばよいだけ。
Java, PHP, Python などを独学でやろうとするから、皆挫折する

KENTAが、Java, PHP, Python などを初学者に勧めないのだから、明らか。
Rails 以外は、無理という結論
845デフォルトの名無しさん (ワッチョイ 0202-9blg)
垢版 |
2021/03/18(木) 13:03:06.46ID:iVSdYPhB0
頭悪そうw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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