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の改造
0071nobodyさん
垢版 |
2019/06/04(火) 14:14:00.01ID:rH3aLVue
転送量での課金があるのってサーバーからインターネットへの送信だけでしょ

そんな大人気のサイトでも無い限り1TBも転送しなくね?
CloudFlareでも使っとけば更に転送量を抑えられる
0072nobodyさん
垢版 |
2019/06/04(火) 20:30:01.39ID:???
cloudflareってなにで儲けてんだ
ほとんどの人が無料プランで済んじゃわないか
0074nobodyさん
垢版 |
2019/06/06(木) 18:03:40.95ID:???
>>73
ありがとう!
裏に何かあるかもしれないけど、CEOが答えてるなんてこれ以上のソースないわ。
0076nobodyさん
垢版 |
2019/06/20(木) 17:57:11.83ID:???
コンストラクタは静的メソッドなのかなあ。
コンストラクタを継承するときに
parent::__construct();
というふうに->でなく::を使うので。
0077nobodyさん
垢版 |
2019/06/21(金) 13:32:37.25ID:???
>>76
だってオブジェクトないじゃん
0078nobodyさん
垢版 |
2019/06/22(土) 17:03:18.55ID:???
でも $this->でメンバにアクセスできるじゃん
0079nobodyさん
垢版 |
2019/06/22(土) 22:50:24.16ID:???
>>76
ただの記法なのであんま深く考えなくていいぞ。コンパイラか言語仕様上そうなってるだけやろ。
0081nobodyさん
垢版 |
2019/06/25(火) 10:46:11.68ID:???
変数名の$の次に数字はふつう使えないけど、
<?php
${1} = 1;
echo ${1},PHP_EOL;
というふうにすると問題なく動くね。
0082nobodyさん
垢版 |
2019/06/25(火) 15:44:25.21ID:???
PHP_EOL って初めて知った
0083nobodyさん
垢版 |
2019/06/25(火) 23:32:18.67ID:???
出来るできない以前にそんな変数名つけてたら張り倒されるわ
0084nobodyさん
垢版 |
2019/07/02(火) 09:09:43.06ID:???
ビルトインウェブサーバいじってて自分でPHPで作ってみたくなったんですけど
静的コンテンツの配信は簡単なのですが
PHPを動かせるサーバってどういうふうに書くんですか?

if ($file['extension'] == 'php')
{
$document = passthru("php -f {$file['name']}");
}

こんな感じでいいんですかね?
0086nobodyさん
垢版 |
2019/07/02(火) 15:18:33.21ID:???
>>85
ありがとうございます
requireしたのとかはまだ実験してないけど
とりあえず単純なものなら動きそうですね
0087nobodyさん
垢版 |
2019/07/14(日) 09:45:16.22ID:x6XB8Dua
Swooleとmysqliの非同期APIを使えば
PHPでも最速目指せる?
0088nobodyさん
垢版 |
2019/07/15(月) 13:09:42.44ID:???
Googleドライブにアップした動画をHTML5のvideoタグを使って自サイトに貼り付け
再生させたいと思っています。以下の様にリンクを作成すれば動画を無劣化で
貼り付けることができるのは分かっています。

<video controls>
<source src="https://drive.google.com/uc?export=download&;id={Google動画のID}" type="video/webm">
</video>

ただこの方法が通用するのは動画の容量が数十MBまで。
それ以上の容量の動画は上記の方法では埋め込み再生できません。
完全には把握できてはいませんがGoogleは巨大ファイルのダウンロードに際して
ワンクッションページを挟む仕様のようです。
たとえば800MB超のファイルをダウンロードしようとすると、
https://drive.google.com/uc?export=download&;id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A
上記のようなページに誘導され、そのページ中のダウンロードボタン;
https://drive.google.com/uc?export=download&;confirm=-8rW&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A
をクリックすると動画のダウンロードが始まります。
ダウンロードボタンのリンクには新たに"confirm=-8rW"というキーワードが追加され、
末尾の4文字"-8rW"はダウンロードページをリロードするごとに変更されます。

またダウンロードボタンのリンクをコピーして違うブラウザを開いてURLを入力して
みましたがダウンロードは始まらず、例のワンクッションページに誘導され新たな
"confirm=****"キーワードが生成されたことを考えるとcookieも使ってるような気がします。

そこでPHPの力を使ってGoogleドライブにアップした巨大動画ファイル埋め込み再生に
チャレンジしてみました。
0089nobodyさん
垢版 |
2019/07/15(月) 13:10:14.73ID:???
// ワンクッションページのURL
$cookie='https://drive.google.com/uc?export=download&;id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A';

//クッキー取得のためのアクセス
$ch=curl_init();//初期化
curl_setopt($ch,CURLOPT_URL,$cookie);//cookieを取りに行く
curl_setopt($ch,CURLOPT_HEADER,FALSE);//httpヘッダ情報は表示しない
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);//データをそのまま出力
curl_setopt($ch,CURLOPT_COOKIEJAR,'cookie.txt');//$cookieから取得した情報を保存するファイル名
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,TRUE);//Locationヘッダの内容をたどっていく
$html = curl_exec($ch);
curl_close($ch);//いったん終了

// confirm=**** のうち末尾4文字を$match["name"]に抽出
preg_match('/.*confirm\=(?P<name>\w+)\&amp.*/', $html, $match);

// 得られた"confirm=****"を使いダウンロードリンクを生成
$url='https://drive.google.com/uc?export=download&;confirm=' . $match["name"] . '&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A';

// HTML5のvideoタグを生成して動画の埋め込み再生
echo '<html><body><video controls><source src="';
echo $url;
echo '" type="video/webm"/></video></body></html>';

'cookie.txt'にcookie情報が取得できたのは確認できたのですが
残念ながらこの方法では動画の再生にはいたりませんでした。
方針が間違ってたのでしょうか?
0090nobodyさん
垢版 |
2019/07/15(月) 13:17:23.50ID:???
斜め読みしかしてないけど、閲覧側が google ドメインに対して cookie のセットができないんで、その方向性に解はないと思うよ。
0091nobodyさん
垢版 |
2019/07/15(月) 17:39:04.38ID:???
ドライブ自体がメディア配信用じゃない
009289
垢版 |
2019/07/15(月) 21:51:10.41ID:???
>>90
> 閲覧側が google ドメインに対して cookie のセットができないんで、その方向性に解はないと思うよ。

閲覧側の問題ですか・・
PHP使ってGoogleから発行されたcookieを閲覧側に横流しすることって出来ますか?

>>91
一応Googleドライブで動画の埋め込みコードを発行してたりするので(iframeを使ったコードですが)
メディア配信を意識してないわけでは無いようです
0093nobodyさん
垢版 |
2019/07/15(月) 23:11:15.79ID:???
CORSの問題にしか見えんのだが
0094nobodyさん
垢版 |
2019/07/16(火) 16:29:01.18ID:???
>>92
そのGoogleドライブが発行する埋め込みコードじゃダメなのか?
009589
垢版 |
2019/07/16(火) 22:29:54.65ID:???
>>94
「動画の埋め込み」機能で発行されるコードは再エンコードされた動画だったりします
(たとえ最高の1080pを選んでも)
元動画が60pでうpしたのに埋め込み再生される動画は30pに落とされるとかざらにあります

>>88
の方法はそれを回避して動画をオリジナルの画質で再生する方法なんですが
動画の容量が数十MBのものまでしか使えないのが問題でして・・・

>>93
CORS・・・初めて耳にしました
ちょっと調べてみます
009788
垢版 |
2019/07/17(水) 20:13:03.81ID:???
>>96
> PHPサーバーに動画をキャッシュしてストリーミングしてしまえ

無料レンタルサーバーなんですよね、
そんなことしたら怒られそうで・・・
0098nobodyさん
垢版 |
2019/07/18(木) 15:12:29.01ID:???
画像特化CDNのCloudinary最近動画配信機能強化してなかった?
無料枠で納まるか知らんが。
0099nobodyさん
垢版 |
2019/07/19(金) 18:02:04.79ID:???
よくわからんが1個の動画容量が数MBでも問題ないだろ
メタデータ作ってHLSで繋いで再生すればいいだけで
0100nobodyさん
垢版 |
2019/07/26(金) 11:59:46.48ID:???
PDOでのデータベース操作が上手くいかないので質問させてください

mysql> SELECT number FROM testtable;
+--------+
| number |
+--------+
| 204 |
| 226 |
| 234 |
| 246 |
+--------+
4 rows in set (0.00 sec)

このようなnumberカラムを持つtesttableで、特定の値(仮に今回は3番目の234とします)より大きいnumberを持つレコードのみ+1するということが目的なのですが、
直接mysqlで以下のstatement:
>UPDATE testtable SET number = number + 1 WHERE number > 234;
を実行すると

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT number FROM testtable;
+--------+
| number |
+--------+
| 204 |
| 226 |
| 234 |
| 247 |
+--------+

となり、目的が達せられます
0101nobodyさん
垢版 |
2019/07/26(金) 12:01:14.15ID:???
しかし、これをaxiosでPOST requestしたphpの関数上で行うとおかしな結果になります

======

try {

$connection = new PDO(
'mysql:host=' . $host . ';dbname=' . $dbname,
$username,
$password,
$options
);

$connection->exec(
'update testtable set number = number + 1 where number > 234'
);

echo 'run only once.';

} catch ~~~~

=====

上記がphp内のPDOで同じstatementを実行している部分で、
この実行の後に、numberカラムを確認すると
0102nobodyさん
垢版 |
2019/07/26(金) 12:01:52.20ID:???
mysql> select number from testtable;
+--------+
| number |
+--------+
| 204 |
| 226 |
| 234 |
| 249 |
+--------+
4 rows in set (0.00 sec)

このようになぜか + 2 されてしまいます
exec内のstatementが意図せず2回実行しているのかと疑って、

$connection->exec(
'update testtable set number = number + 1 where number > 234'
);

の [ number = number + 1 ] を [ number = number + 2 ]
として変更すると + 4 されるので、恐らくその点については疑い通りなのですが、
一方でaxiosのresponseは、'run only once.'と期待通りになっていて
echoの内容が重なっていたりはしないので、このブロック全体が2回実行されているわけでもないようです
結局何がどうなっての結果なのかさっぱり分かっていないという状態です

上記の挙動について、考え得る原因やなにか自分に落ち度があればその点ご指摘いただけますでしょうか
長々と質問してしまい申し訳ありませんが、どうぞよろしくお願いいたします
0103nobodyさん
垢版 |
2019/07/26(金) 12:09:46.76ID:???
たまにあるのが、ブラウザの拡張機能が悪さしているケース。
何故か、2回アクセスしてたりする。
アクセスログ見てみるといいよ。
0104nobodyさん
垢版 |
2019/07/26(金) 15:14:15.30ID:???
POSTが二回発行されてたら、echoじゃわからないんじゃね?
0105nobodyさん
垢版 |
2019/07/26(金) 15:37:13.70ID:???
formのsubmitとajaxが2つ動いてるパターンIEでよくある。
0106nobodyさん
垢版 |
2019/07/28(日) 19:18:24.72ID:???
遅くなってしまいすみません

>>103
まさにこちらがどんピシャリでchromeでは上のような挙動になるのに、Edgeだとちゃんと動きました
ですがchromeの何が悪さをしているかは謎のままなので、これからどのように特定すればいいのか少し調べてみます
ありがとうございました

>>104
axiosのresponseが2件重複しているかは最初に調べて、postの重複でないことは確認しておりました
0109nobodyさん
垢版 |
2019/07/30(火) 22:55:37.68ID:???
faviconちゃいます?
0110nobodyさん
垢版 |
2019/08/02(金) 19:19:39.72ID:???
指定したディレクトリ配下全ての拡張子jpegをjpgに書き換えるコード

function jpeg2jpg($path)
{
$array = glob($path.'/*',GLOB_ONLYDIR);
foreach ($array as $filename)
{
jpeg2jpg($filename);
}

$array = glob($path.'/*.jpeg');
foreach ($array as $filename)
{
$newpath = str_replace(".jpeg", ".jpg", $filename);
rename($filename, $newpath);
}
}

これをもっと綺麗なコードにしたいんですが何かありませんか?
0111nobodyさん
垢版 |
2019/08/04(日) 11:50:01.70ID:5btAphd0
>>110
それで十分綺麗だと思うけど。
ファイルの検索とリネームを分けるこんな方法もある。

function files($path)
{
yield from glob($path.'/*.jpeg');
foreach (glob($path.'/*', GLOB_ONLYDIR) as $dir) {
yield from files($dir);
}
}

foreach (files('images/') as $jpeg) {
$jpg = str_replace(".jpeg", ".jpg", $jpeg);
echo "rename($jpeg, $jpg);\n";
}
0113nobodyさん
垢版 |
2019/08/04(日) 16:02:34.71ID:???
>>111
yieldって構文は知らなかった。ありがとう
0114nobodyさん
垢版 |
2019/08/11(日) 13:43:40.86ID:yc7XMF1E
file_get_contentsで2chの過去ログ保管サイトをスクレイピングしてるんだが、なぜか連続で更新すると内容を取得できないことがある
これってサイト側がスクレイピング対策のブロッキングを施してるってことなのかな?
0115nobodyさん
垢版 |
2019/08/11(日) 21:01:01.13ID:???
>>114
そうかもしれないし、違うかもしれない
事実はサイトの運営者のみが知る
人間っぽくないリクエストを弾く方法はいくつもある

高負荷のリクエストを送るIPをブロックしたり、
ハニーポット置いたり

Facebookはマウスの動きまで見てるらしいが
そこまでしてる所は稀だろう

1分間のリクエスト数に制限かけたり、
Exponential Backoffで時間置いてからリトライしたら?
https://github.com/bandwidth-throttle/token-bucket
https://github.com/stechstudio/backoff
0118nobodyさん
垢版 |
2019/08/26(月) 12:27:40.91ID:???
>>116
変数に$を付けて回るだけでほとんど丸コピーで動くから
perlとかphpといったスクリプト系の無料ツールを使うと良いよ
0119nobodyさん
垢版 |
2019/08/26(月) 14:55:37.96ID:???
さすがにそれはねーわw
0122nobodyさん
垢版 |
2019/08/30(金) 03:38:37.57ID:???
HHVMがRustで書き直されるらしい
0123nobodyさん
垢版 |
2019/09/02(月) 04:26:01.03ID:???
↓こういうjson配列を
[
{id:0, name:"ああ", age:20,....},
{id:1, name:"いい", age:21,....},
{id:2, name:"うう", age:22,....},
];

idとname以外のデータ落として↓一次元の連想配列に変えたいんだけど
{0:"ああ",1:"いい",2:"うう",};

array_filterで一発変換みたいことは無理?
0124nobodyさん
垢版 |
2019/09/02(月) 07:07:50.73ID:???
json向けの組み込み関数は少ない
外部ライブラリ使えば可能だと思うが
関数1つにこだわる必要もないだろう
0125nobodyさん
垢版 |
2019/09/02(月) 09:35:13.96ID:???
array_columnとarray_combineでどうぞ
0126nobodyさん
垢版 |
2019/09/17(火) 01:53:23.96ID:???
preg_replaceで$1を$foo["$1"]に置き換えたいのですが
$1の意味が違うのでこれではundefined indexになってしまいます
ここはどう書くのが正しいですか?
0127126
垢版 |
2019/09/17(火) 02:01:17.23ID:???
すみません自己解決です
callbackじゃないとだめみたいですね
0128nobodyさん
垢版 |
2019/09/17(火) 12:34:12.78ID:???
CRで保存したファイルを読み込んで、
一部の\rとか\nとかtrimで除去してたらおかしくなってしまいました。
CR+LF、LFは問題ありません。
コードでどうにかするのはめんどくさそうなので、
CRのファイルだったらLFに内部で変換するようなことってできますか?
0129nobodyさん
垢版 |
2019/09/17(火) 14:05:13.65ID:???
>>128
簡単にできるよ!
じどうてきにCRをLFに変換する関数を呼ぶ仕組みが用意されてる
入出力ストリームとかストリームラッパーで検索しよう
0130nobodyさん
垢版 |
2019/09/18(水) 06:03:03.69ID:LxHdNOoK
>>128
CRで保存するってどういう事情でそうするの?
個人的に知りたい
0131nobodyさん
垢版 |
2019/09/18(水) 09:15:45.70ID:???
>>130
アホのマカーが作ったファイルとかでしょ
0132128
垢版 |
2019/09/18(水) 15:48:17.90ID:???
>>129
ありがとうございます。
頂いたヒントからたどり着いた答えは、php://filterですがあってますか?
ビルトインのフィルタを確認しましたが、文字コードを変えるものはありましたが、
改行コードを変えれそうなものはなさそうなので、自分で作って登録しろということでしょうか?

>>130-131
アホかどうかはおいといて、そういうことですねー
0133nobodyさん
垢版 |
2019/09/19(木) 05:43:59.95ID:jad6fnCm
>>132
str_replace(["\r\n","\r"],"\n",$subject)
でよくね
ストリームとか全然わからん
0134nobodyさん
垢版 |
2019/09/19(木) 09:26:58.26ID:???
Apacheってオワコン?
速度は静的コンテンツについてはnginxの完全勝利
動的ならApache+fpmでnginx+fpmと同程度

.htaccessでどのディレクトリでも
設定変更出来るのはDockerが一般的になった今や無意味
むしろセキュリティ上のリスクにもなり得る

preforkモジュールにすればsupervisordなしでDockerコンテナを一つに出来ると言うメリットは一応あるが
preforkモジュールはかなり遅い
0135nobodyさん
垢版 |
2019/09/19(木) 09:30:30.89ID:???
あとApacheの設定ってすごく読みづらくね?
nginxの方が直感的に理解しやすい
0136nobodyさん
垢版 |
2019/09/19(木) 10:06:18.06ID:FBUFJOFs
それを5chの僻地で主張することにどんな意味があるの?
0137nobodyさん
垢版 |
2019/09/19(木) 12:41:12.60ID:???
どっちもオワコンだろ
lswsを使ったらもう戻れない
0138nobodyさん
垢版 |
2019/09/19(木) 12:46:21.36ID:???
>>137
そんなもの流行りませんよ
apacheのデファクトぶりに震えて眠れ
0139nobodyさん
垢版 |
2019/09/19(木) 12:55:28.25ID:???
「〜はオワコン」って言ってるのは評価軸を決められない未熟なエンジニアか荒らし。
どっちゴミなんでほっとけばいい。
0141nobodyさん
垢版 |
2019/09/19(木) 17:53:36.03ID:???
nginxはここ数ヶ月で下落の兆候あり
apacheとiisは長期的に下落を続けている
かといってlswsが急上昇してるわけでもない
さて一体失われたシェアはどこへ行ったのやら
0142nobodyさん
垢版 |
2019/09/19(木) 18:42:10.84ID:eAWoBb1U
>>125
こういう関数がすっと出てくるのはすごいと思う。
mapしてzipしてcollectすればいいと考えても、そこからPHPの関数にたどり着くまでが大変。
覚えりゃいいんだけど、PHP離れるとすぐ忘れるし。
0143nobodyさん
垢版 |
2019/09/19(木) 21:02:25.41ID:???
International Semantic Web Research School?
0144nobodyさん
垢版 |
2019/09/19(木) 22:17:40.43ID:???
>>140
アイじゃなくてエル LiteSpeedWebServer
PHPはこのサーバ向けにカスタマイズされた特殊なものが使われてる
おかげで設定なしにPHPが導入出来るばかりか
優秀なリポのおかげもあって常に最新のPHPにアップデートされる
もちろん普通のPHPのコードが動くので心配はいらない
Web設定ツールはPHPで書かれているのでPHPとセットになってるし
特にWP向けに最適化されててWP配信ならWebServer界最速で
PHPerのためのサーバといっても過言じゃないわ
0145nobodyさん
垢版 |
2019/09/19(木) 22:59:29.63ID:???
何だ有料かよ…
どうりで流行ってないわけだ
0147nobodyさん
垢版 |
2019/09/20(金) 07:16:09.29ID:???
openlitespeedって公式dockerないの?
検索しても出ない
0148nobodyさん
垢版 |
2019/09/20(金) 15:08:57.50ID:???
dockerこそがオワコンなのでは・・・
0149nobodyさん
垢版 |
2019/09/22(日) 15:11:34.94ID:???
>>142
貧乏人だからセレロンに8GBのノートPC
これじゃあんま強力な環境を作れず
IDEよりもエディタで本当はフレームワーク勉強したいけど
開発環境作ると重いしピュアなPHPでゴリゴリ書いてる
だから俺はPHPの関数めっちゃ覚えてるよ
あーいいパソコンがほしい
0150nobodyさん
垢版 |
2019/09/23(月) 08:54:20.94ID:QSgTtzwO
メモリ8Gってすげえ高性能だな
俺なんかまだ716MBで頑張ってるよ
0151nobodyさん
垢版 |
2019/09/23(月) 12:30:25.95ID:???
>>148
同意します。
ブラックボックスは小さい方が良いと思う。
0152nobodyさん
垢版 |
2019/09/23(月) 13:20:41.47ID:???
>>150
linuxのコンソールからviでも起動してプログラムかいてんのか?
それだったら尊敬するわw
0153nobodyさん
垢版 |
2019/09/23(月) 13:25:22.22ID:QSgTtzwO
>>152
xp
5chとネットサーフィンだけだけど全然余裕
ブラウザはnewmoonってのを使ってる
0154nobodyさん
垢版 |
2019/09/23(月) 17:09:58.24ID:???
>5chとネットサーフィンだけだけど全然余裕
PHP書けよ
0155nobodyさん
垢版 |
2019/09/24(火) 00:42:30.94ID:???
Atomで書いてるけど、最近Visual Studio Codeに浮気しようか悩んでる
0157nobodyさん
垢版 |
2019/10/10(木) 15:06:45.91ID:6vRbT12P
htmlとcssが出来るようになった
次はjavascriptかphpを勉強したいと思ってる
どちらから先にやるべきだ?
分かりやすく教えろ。
0158nobodyさん
垢版 |
2019/10/10(木) 17:06:25.16ID:???
phpはブラウザで使えない
javascriptはサーバーで使うには素人は難しい
0159nobodyさん
垢版 |
2019/10/10(木) 18:00:37.97ID:???
次はxmlとxsltだ
異論は認めん
さぁ頑張ってこい
0160nobodyさん
垢版 |
2019/10/10(木) 23:12:46.80ID:???
$dbh = new PDO(
'mysql:host=localhost;dbname=db1;charset=utf8', $user, $pass
);
っていう、dbへの接続方法

$dbh の中身をどうやって実行するんや!?と思ってたんだけど、
new PDOでPDOが呼ばれた段階でPDO以降の実行結果が代入されるということだから、接続確立したって事でOK?
あほだからこんな事で丸一日悩んでしまったんだけど…
0161nobodyさん
垢版 |
2019/10/11(金) 01:08:56.63ID:???
JavaScript優先だろう
JavaScriptは今やhtml5を使うには必須スキルで代えは聞かない。
ブラウザあればすぐに試せるから実行環境が用意しやすい。
Googleドライブにあるスプレットシートなどのマクロ、Google Apps ScriptなんかもJavaScriptと同じ構文で動くし
RPGツクールMVなどのゲーム作成でも役に立つ。node.jsのようなサーバーサイドで動くJavaScriptもある。
JavaScript知識は活用範囲は非常に広い


phpは基本サーバーサイドでしか動かんし用途が限定的。
ライバル言語が非常に多く、別の言語でもいいってこともしばしば
他に代用がいくらでもあるので優先順位は低い
0162nobodyさん
垢版 |
2019/10/11(金) 01:15:16.16ID:???
java script とかはやりたい事ググってサンプルスクリプトを見つけて
コピペしてあまり理解せず使ってるわ
そんなもんでいいだろう
0166nobodyさん
垢版 |
2019/10/11(金) 02:46:57.19ID:leI7Cv7w
<script type="text/php">
$a = Document::getElementById('a');
$a->style(['background-color'=>'#fcf']);
$a->innerHTML('<p>hello</p>');
try {
 Core::ajax('http://example.com', 'get', function($text) {
 });
} catch (HttpError $e) {
}

こんなん探せばありそう
0167nobodyさん
垢版 |
2019/10/12(土) 10:54:07.93ID:8sBNDV+V
素のPHPでWebバックエンド周り(フォームとかセッションとかセキュリティとか)を一通りやるのは悪手とは思わん。
その後はさっさとPHPとおさらばして、他の言語に移るべき。
0168nobodyさん
垢版 |
2019/10/12(土) 11:56:12.79ID:???
>>167
MariaDB上のデータベースをネットから検索する簡単なフォームとPHPを書こうと思うんだけど、
面倒くさい。

データベースの構造を元に検索フォームとPHPの雛形を簡単に作ってくれるアプリは無いのかな?
0169nobodyさん
垢版 |
2019/10/12(土) 19:32:38.63ID:???
それこそWebフレームワークが最も得意なことじゃない
0170nobodyさん
垢版 |
2019/10/13(日) 01:09:28.72ID:???
>>169
ありがとうございます。試してみます。
0171nobodyさん
垢版 |
2019/10/14(月) 01:35:48.88ID:???
bitbucketに対してコミット、プッシュが簡単に出来るphpライブラリって無いかな?
無ければssh2_connectコマンドで頑張るしかないんだけど
■ このスレッドは過去ログ倉庫に格納されています

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