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

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ cfe8-+65u)
垢版 |
2018/11/28(水) 17:08:46.02ID:Nb5yTkdM0
PHPに関する質問スレです

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

次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2020/04/22(水) 22:18:15.55ID:K1Lxy7X30
>>917
constがコンパイル時でdefineは実行時でしょ?

https://ideone.com/SgC9Eu
2020/04/22(水) 23:55:38.61ID:kEPjMBTM0
すみませんできました
defineだと変数渡しで定数を作れました
単にPHP5.6でdefineで定数に配列を入れられないため正常動作しなかったようです
PHP7.3の環境では動作しました
お手数おかけしました
920デフォルトの名無しさん (ワッチョイ a601-ZzZR)
垢版 |
2020/04/23(木) 08:33:15.04ID:n33m75pH0
ドットインストールでCakePHP勉強するお
2020/04/23(木) 08:59:23.02ID:C0/pHZNH0
CakePHP, Spring Boot などは、Ruby on Rails のコピーだから、

Rails を学んだ方が速いと思う
922デフォルトの名無しさん (ブーイモ MMed-enkp)
垢版 |
2020/04/23(木) 09:41:57.79ID:RRYW82KBM
x ドットインストールでCakePHP勉強するお
o ドットインストールでCakePHP勉強するよ

正しい日本語。
最近の日本人は気持ち悪い言葉づかいをする。
923デフォルトの名無しさん (ワッチョイ a601-ZzZR)
垢版 |
2020/04/23(木) 10:24:36.69ID:n33m75pH0
>>921
Webアプリの仕組み(裏でどう動いているか)を理解したくて、LaravelかCakePHPかで迷ってCakePHPを勉強しようと思ったんだけどLaravelはどう?
2020/04/23(木) 13:03:21.20ID:9QHb+xSV0
>>922
体言止めに句点打つのめちゃくちゃ違和感あるんだが
2020/04/23(木) 23:07:52.02ID:C0/pHZNH0
web アプリの作り方を学ぶのは、Ruby が最適!

本当は、Sinatra が良いけど、web 上の教科書が少ないから、
Rails になるかな?

ただし、Rails は、半年ぐらい掛けて学ぶぐらい高機能。
本は、10冊ぐらい出てる

web サイトでは、日本語版・Rails チュートリアルの1つ古いバージョンなら、無料で読めるけど、
あまりに難しいので、初心者は本から始めるのが良い
2020/04/23(木) 23:15:49.37ID:l5RZFi5J0
RubyをNGワードに入れるのはデフォなんですかね?
927デフォルトの名無しさん (ワッチョイ e2ad-h7Ku)
垢版 |
2020/04/24(金) 02:12:49.04ID:rM9gQYtA0
>>926
次からテンプレに入れよう
2020/04/24(金) 02:24:32.60ID:nHNgt9zS0
単に使い方を学びたいと言ってるだけなら別にフルスタックでもいいけど
ソースコードレベルで仕組みを理解したいならフルスタックは疲れるだけ
slimあたりのマイクロフレームワークのソースコード読むといい
2020/04/24(金) 05:55:46.89ID:cuZ5QlOgr
なんで荒らしの相手をするんや。

ホントにRubyが優れとるなら、PHPで書かれた有名ソフトがRubyで書かれなかった理由を提示させるべきや。

WordPressもNextCloudもPHPなんや。Facebookも元はPHPで書かれてた。

PHPerは胸を張って堂々としておけ。小バエが顔の前をうろちょろしても気にするな。
2020/04/26(日) 16:06:33.45ID:EH1DMWp5r
小さなグループのための連絡帳づくりには便利だな
自分も使って現在5人くらいで使っておおむね合格点しかし
「こういう風になってたらもっといいなあ」多数w
2020/04/26(日) 16:37:45.80ID:QChGrgCL0
RubyってPHPと張り合うものだったんだ?
あれはPerlと競合するものだと思ってた
2020/04/26(日) 22:04:15.59ID:NZagGUNV0
PHPはごった煮のテンプレートエンジンってイメージだな。
スクリプトのパースがコードではなくテキスト出力から始まるしな。
そこが他のスクリプトと比べてもweb向きに使い勝手がいいところだと思う。
933デフォルトの名無しさん (ワッチョイ a7f1-trzR)
垢版 |
2020/05/02(土) 15:59:18.74ID:riUeVpMT0
https://www.youtube.com/channel/UCoRxcaATU1N9QdXXgmQLBFQ

このふるちゃんという女の子が超絶にかわいいのだけど
このYoutuberってなにもの?
2020/05/02(土) 21:47:33.77ID:ogKtp69S0
慶應法法からWebって…
2020/05/03(日) 11:44:53.69ID:eurrHnV60
下記のような、空以外のstringだけを通し、それ以外はnullを返すメソッドを作りたいんですが、
この処理に最適なメソッド名ってありますか? 暫定のfilterStringは何となく違う気がしてます

function filterString($var): ?string
{
return is_string($var) && $var !== '' ? $var : null;
}
2020/05/03(日) 12:32:50.65ID:cPyz4pxla
nullifyInvalidInputとか
2020/05/04(月) 04:41:53.17ID:zTC9x9sUp
nullifyって見たことないけどいい名前だな
2020/05/04(月) 11:40:37.27ID:au6sJ5VU0
GCのためにでかいオブジェクトをnullにするのならわかるけど
エラーハンドリング用途でnullじゃない値をnullにして返すってのはbad practice
2020/05/04(月) 17:10:17.02ID:PenCHXzY0
>>936
ありがとうございます

>>938
デフォルト値が必要ないんでnullが都合いいです
2020/05/05(火) 02:01:57.19ID:2JXMMGLu0
各ページa,bからcページへの遷移を各ページのボタンa,bからとしたときに、ページbのボタン名をページaのものにブラウザのデバックモードかなんかで変更した場合に、
ページcから見るとisset(ボタンA)がtrueとなると思いますが、こういうパターンを見分ける方法ってありますでしょうか
2020/05/05(火) 03:32:16.49ID:abcVn/0z0
>>940 難しいと思う
ボタン名をbtn_A,btn_Bみたいにa,bで変えて
cで、aからの遷移だったら… bからの遷移だったら…
と処理わけするのが現実的
2020/05/05(火) 03:53:04.29ID:abcVn/0z0
と思ったけど、結局リファラも改ざんできちゃうから難しいね
JavaScriptで小細工も出来るけどそれすら改ざんされるのも想定してるなら
まあノーダメならそんな物好きなこと想定する必要はないと思うけど
ダメージあるなら設計変えればいいし
2020/05/05(火) 16:36:02.14ID:2JXMMGLu0
ありがと➰。入力された値の正統性を確かめるのって難しいですね。自分しか使わないやつだから気にしないでおきます
2020/05/05(火) 21:57:50.74ID:ZggaRwfV0
ページを表示する毎にランダム値を埋めて、submitされたページ名とその値とを検証したらどうかな。
945デフォルトの名無しさん (ワッチョイ ea02-7oqX)
垢版 |
2020/05/06(水) 19:48:47.60ID:KQs5P28n0
$a = [1, 2, 3];
と言う配列があったとして、そこから
$b[1][2][3] = '何か入れる';
と言う配列を作る簡単な方法はありませんでしょうか?
2020/05/06(水) 19:53:23.20ID:x/qfttvN0
$b[$a[0]][$a[1]][$a[2]] = '何か入れる';

とか?
2020/05/06(水) 20:03:27.90ID:KQs5P28n0
ごめんなさい、質問の仕方が悪かったです
元の配列の長さは可変で、出来上がる配列の深さも深くなっていく感じです

$ary = [1,2,3]; //長さは可変
$val = '何か';
$ret = func($ary, $val);
var_dump($ret);
---
array (size=1)
 1 =>
  array (size=1)
   2 =>
    array (size=1)
     3 => string '何か' (length=3)
2020/05/06(水) 23:50:59.56ID:cMx2hlKH0
そういうあり得ないくらい複雑な何かを実装しようとするときは、
実はやりたいことを実現するもっと簡単な方法があることが多い
配列$bは常に1つの次元に1つの要素しか持たないまま深さだけ深くなってくのは無駄というか意味不明
やりたいこと自体を書いた方がいいと思う
2020/05/07(木) 01:58:37.98ID:T+6y7YdL0
元の配列の値をキーの深さとする配列ができれば、あとはなんとかなるのでその部分だけの質問としたのですが、わかりにくくてすみませんでした
やりたかったことはLaravelのRouteの真似事です
木構造のクラス書いてデータ保持するのも面倒だったので配列でなんとかしようと思いました
ただあまりゴリ押しで書いても見ずらいので既存の関数などで簡潔に書けたらと思い質問した次第です
結局、参照代入をforeahで回すと言う方法で落ち着きました

public static int get($uri, $action)
{
if ($uri == '/') {
$paths[] = '/';
} else {
$paths = explode('/', $uri);
}

$tmp = &static::$routings;
foreach ($paths as $path) {
$tmp = &$tmp[$path];
}
$tmp = $action;

return static::$instance;
}
2020/05/07(木) 10:33:19.60ID:n2/pzMnbM
>>947
そのコードで言うところの func は一応実現してて、もっとシンプルな方法があるかを確認したいの?
それともまだ func を実現できてないの?
参照と再帰を使えば簡単なはずだけど、参照とループを使ってもできるはずだよ。
2020/05/07(木) 10:35:14.85ID:n2/pzMnbM
>>949
もう答え出してたかw
2020/05/10(日) 13:00:56.09ID:R/KKgKZH0
CORSがさっぱり分からんので教えてください
2020/05/10(日) 16:35:05.72ID:vZKWBupI0
ざっくり

ブラウザがセキュリティのために(あくまでも独自に)設定している、
同一オリジンポリシーというものがある。
同一オリジンってのは同じプロトコル 同じホスト 同じポートのことで、
同一ドメインでもこれらが違ったら別オリジンということになる。
ブラウザはJavaScriptのXMLHttpRequest(XHR)やFetchAPIから、
別オリジンのサイトには意図的にアクセスしないようにしてある。

その制限を超えるのがCORSで、
あるサイトを開いた時、別オリジンのサイトにXHRなどからアクセスしようとしてたら、
ブラウザは追加のOriginヘッダをつけて、その別オリジンに対して確認作業を行う。
そのサイトがAccess-Control-Allow-Originというヘッダを返してこれば、
意図したものと把握し、制限を超えてアクセスすることになる。

Access-Control-Allow-Originは、
よそのサイトのXHRから呼び出し可能なAPIを提供してる時はつけるべきだが、
よくわかってない人が、自サイトの掲示板でつけてしまった場合、
悪意あるサイトにアクセスするだけで、CSRFが成立して、犯罪予告を書いてしまったりする。
2020/05/11(月) 04:19:24.53ID:VLhDUqRop
>>953
わかりやすい
すばらしい
955デフォルトの名無しさん (アウアウエー Sa52-1T3V)
垢版 |
2020/05/21(木) 20:00:19.93ID:yfswt4qEa
ファンキーさが足りないね
2020/05/21(木) 20:50:27.91ID:HuNUoNoV0
CORS は、ブラウザでアクセスする人を保護するもの。
サーバー経由にすれば、クロスドメインでもアクセスできる

自分のPC にサーバーを立てて配信する、一番簡単な方法は、
VSCode の拡張機能のLive Server
2020/05/22(金) 02:32:27.59ID:1xmyMtu40
肝はあくまでもブラウザの機能ってところだな
それに頼って無策ではいけないよ
実行前最後のプロセスで再ログイン求めるとかやるべき対策はちゃんとやる
958デフォルトの名無しさん (ワッチョイ 5bf1-D4L3)
垢版 |
2020/05/26(火) 12:57:20.59ID:DWJQ5IJN0
<?php
の閉じタグをそれが文末にくるときは省略が奨励されてるのは
どういう理由からですか?
2020/05/26(火) 16:21:28.80ID:aOYHLQ64M
>>958
閉じタグの後に空行を入れちゃったりすると、それが出力されちゃうからだと思ってる。
ファイルの最後に空行を入れちゃうのは結構やりがちだから。
2020/05/26(火) 17:00:18.40ID:Be8LwKLh0
あれそうだったの?
閉じた直後の改行コードもNG?

>[改行]
[改行]
[EOF]

じゃなくて

>[改行]
[EOF]

もダメで、

>[EOF]

じゃないとダメだとか?
2020/05/26(火) 19:29:00.77ID:aOYHLQ64M
>>960
閉じた直後の改行はおk
2020/05/26(火) 19:30:28.09ID:jhkc2VSZ0
閉じタグ直後の改行1つだけは例外だが閉じない方がミスを減らせる
2020/05/26(火) 19:39:01.88ID:J1Rp1kon0
ドハマりしたなあ
2020/05/26(火) 20:04:54.09ID:vo31pS1W0
何故ダメなのかその理由が理解出来ないと
「閉じタグを付けるな」が一人歩きしそう
2020/05/26(火) 20:40:57.98ID:7EF4fRQa0
マニュアルにも明記されてるんだよなぁ

https://www.php.net/manual/language.basic-syntax.phptags.php

ぶっちゃけ紛らわしいので"PHPだけ書くなら"閉じタグを付けるなでいいじゃろ
2020/05/26(火) 20:47:29.05ID:aOYHLQ64M
short_open_tag はデフォルト On にしてほしい
2020/05/26(火) 21:01:26.17ID:Be8LwKLh0
>>961
なるほどthx!
2020/05/26(火) 22:08:09.51ID:vo31pS1W0
逆に言えば、
"PHPを埋め込みで使うなら"閉じタグは必須ってことだな
いちいちそんな判断するなら、付けておけば安心
2020/05/26(火) 23:31:42.74ID:7EF4fRQa0
捻くれてんなぁ
2020/05/26(火) 23:37:24.18ID:f5esX2180
IDE使ってたらその辺の面倒見てくれるんじゃないの
2020/05/27(水) 00:30:46.50ID:/hEgymZm0
埋め込みで使う時に閉じタグを書かないってのが不可能なわけで。
972デフォルトの名無しさん (ワッチョイ 51f1-Jx8k)
垢版 |
2020/05/28(木) 23:49:50.69ID:rxZlNEYS0
ENT_QUOTESのENTとは何の英単語の略でしょうか?
2020/05/29(金) 00:53:17.52ID:laUVUDFGr
>>972
エンティティ
974デフォルトの名無しさん (アウアウエー Sa23-hNtB)
垢版 |
2020/05/30(土) 19:49:27.83ID:556K1q3ea
なんで汎用性のある言語はCでできてPHPではできないの?
2020/05/30(土) 20:00:27.98ID:bnqGe2Mx0
特定言語で出来て、他の言語で出来ない事なんてそんなにない
2020/05/30(土) 20:08:51.95ID:5AFCcPcpd
>>974
PHPからWin32やLinuxのシステムコールを呼び出す方法が面倒だし、コスト最小ではないから、C/C++が優位。
2020/05/30(土) 20:12:53.11ID:5AFCcPcpd
例え、PHPで汎用言語を作ったとしても、PHPの実行時モジュールが邪魔なコストになる。
2020/05/30(土) 20:22:04.21ID:bnqGe2Mx0
Win32やLinuxのシステムコールを呼び出す方法は
どの言語でも面倒くさいだろう
2020/05/30(土) 21:18:51.46ID:Ef5WX5UN0
高級言語であればあるほど向いてない
2020/05/31(日) 14:51:06.35ID:DtypBXIf0
「汎用性のある言語」の意味するところが分からんとなぁ
「CでできてPHPではできない」も, 「汎用性のある言語」をCやPHPで実装する話なのか, CやPHP自体の汎用性の話なのか分からん

前者なら別にどっちでも書けるけどコンパイルするなら最終的にセルフホスティングするだろうし仮想マシンやインタプリタで実行するなら処理系の速度が重要だからCが選ばれるだろう

後者ならCだって何でも出来るのは確かだけど, 低レベルプログラミングには向いてても例えばWebアプリケーション開発には向いてない
Cは汎用的な「システムプログラミング言語」で, PHPは(今は)汎用的な「スクリプト言語」だからそもそも目的が違うとしか
981デフォルトの名無しさん (ワッチョイ 1689-K9ci)
垢版 |
2020/06/03(水) 09:41:53.03ID:Dz3eZEWL0
質問いいでしょうか?
ローカル環境で動かしています。
昨日macのOSを更新したところ、USBからのデータの取得ができなくなりました。
Warning: file_get_contents(URL): failed to open stream: Operation not permitted
対応方法をご存知の方がいらっしゃいましたら教えていただけると幸いです。
URLの打ちミスやphp.iniの「allow_url_fopen = On」も確認済みです。
macOSはバージョン10.15.5です。
982デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/03(水) 10:12:12.14ID:/BExPaqE0
>> 981
だめだ
質問の許可を確認してからしたまえ
2020/06/03(水) 10:24:20.75ID:jHJSY4FJ0
どの窓口に並べば良いんでしょうか?
2020/06/03(水) 20:16:47.05ID:HabAm56lr
Htmlタグとphpが混在するとソースコードが
見づらく感じるのですが、なにかいいコツはないものでしょうか
985デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/04(木) 01:20:43.78ID:OPvY9Lkv0
>>984
コツコツがんばるんだ
2020/06/04(木) 01:21:34.69ID:II78yWAWd
>>984
WordPress使おうよ
2020/06/04(木) 01:38:03.72ID:ZQetHFOna
>>984
テンプレートエンジンを使ってみては?
2020/06/04(木) 05:17:00.76ID:TkjFvET+0
今思いついたが、<?php ?>の前後に改行2つ入れると、見やすくなる気がする。
2020/06/04(木) 13:31:57.31ID:O8iG8kTh0
>>984
そもそも今はそういう事をやらない
テンプレートエンジンを使おう
2020/06/04(木) 13:39:52.83ID:Rfl/DppQM
PHPそのものがテンプレートエンジンみたいなものじゃん
2020/06/04(木) 18:09:53.35ID:5+4XWaYg0
ありがとうございます。
改修なんで選択の余地はないです。
あと、cakephpというフレームワークは
マイナーなんですか?
2020/06/04(木) 18:11:07.81ID:ph5uM4S6r
マイナーではないけどLaravelにしといたほうがいい
2020/06/04(木) 19:30:46.27ID:O8iG8kTh0
>>991
日本では一番メジャー(だった)
今はLaravelが強いけど

昔からCake使ってる人はテンプレエンジンを使わない傾向があるかな
Cakeにも載せる事はできるんだけどね
Laravelには始めからBladeっていうテンプレートエンジンがついてる
2020/06/05(金) 10:12:29.56ID:DlwrMm/y0
>>984
おそらくecho "<html>";
レベルのことしてるんだろうけど
書き方が悪いとしか
995デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/05(金) 13:01:16.90ID:td6kQI8l0
なぜ人はMacBookProをすすめるのですか?
わたしはずっとWindows使いで新たな学習コストを消費したくないのですが。
2020/06/05(金) 13:04:55.57ID:BhXHxLMP0
・デバイスとして高品質、見た目も良い
・高解像度ディスプレイが標準のモデルが多い
・デュアルブートが可能で環境選択の幅が広がる

こんなとこじゃない?
使いたくないなら使わなきゃいいじゃん。
学習コストが〜とか言って無駄な書き込みしてる時間的コストはどうでもいいのかな?
997デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/05(金) 13:10:00.56ID:td6kQI8l0
Windowsでも同じ条件を満たしてるじゃないか。
998デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/05(金) 13:11:25.62ID:td6kQI8l0
Macは滅びたほうがいい。
使っている人といない人が混在したら互換性の問題が甚大になる。
2020/06/05(金) 13:51:16.73ID:BhXHxLMP0
そうなるといいね。
ただ、実現性の薄い可能性に思いを巡らす想像コストwに配慮しつつ
自分のやりたいことに戻った方がいいよ。
1000デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/05(金) 14:20:12.90ID:td6kQI8l0
↑この人ハゲ!
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 554日 21時間 11分 27秒
レス数が1000を超えています。これ以上書き込みはできません。