PHP質問・雑談スレ5【初心者お断り(ROM歓迎)】
■ このスレッドは過去ログ倉庫に格納されています
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。
PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
https://mevius.5ch.net/tech/ (【PHP】で板内を検索)
前スレ
https://medaka.5ch.net/test/read.cgi/php/1498653249/
その他リンク
・PHPマニュアル
https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
https://ideone.com/
・プログラミングのお題スレ (求PHPer参戦)
https://mevius.5ch.net/test/read.cgi/tech/1538096947/
このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
(FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼
このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
(HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造 >>770
wordpressの速度は大して変わらないと>>764にある >>768
トークンなかったらその関数で作って、トークンあればそいつを使うだけじゃん >>768です
>>772さん
アドバイスありがとうございます。
おっしゃる通りなのですが、例えば先のコードから次の部分だけを抜き出した場合
$token = bin2hex(openssl_random_pseudo_bytes(24)) ;
$_SESSION['token'] = $token ;
この場合だと、リロードするたびにトークンが変更されます。
参考書には if() と empty() でトークンの有無を確認していますが、上の抜き出した部分だけでは不十分だったのかなと思いまして。
変なことを言っていたら申し訳ないです。 トークンの有無を確認しないなら、何のためにトークンを発行してるんだ? コードよりトークンがどう利用されるのか仕組みの方を勉強することだわな >>773
参考書に有無の処理書いてんのになんでお前が勝手にソース抜き出して毎回上書きされて困るとか吐かしてんだよ
参考書のとおりにやりゃいいだろ
アホなの? >>768です
お返事が遅くなり申し訳ありません。
>>774さん
ご指摘の通りです。
考えが及びませんでした。
>>775さん
アドバイスありがとうございます。
仕組みから理解できるよう努めます。
>>776さん
おっしゃる通りです。
これから参考書を熟読します。
>>777さん
ありがとうございます。
皆さん様々なアドバイスありがとうございました。
早く1人前になれるよう頑張ります。
ありがとうございました。 外部サービス連携みたいなやつあるじゃん
OpenIDっていうのかな?あれって審査とかいらない?
例えばYahooのログインIDで自分のサイトにログインさせたりとか出来る?
なんかPHPでその変簡単に構築できないっすかね? >>780
oauth認証でぐぐれ
簡単にできるよ リフレッシュトークンはサーバに保存するか
Cookieに入れる場合は暗号化するようにしよう GIANT ESCAPE R3 2017年版で質問です
ホイールはwh6700に換装しています
リアをシングル固定ギアにしてみようと思ったのですが、
どういった規格で探せば良いでしょうか?
メルカリで300円でギアを買ってみましたが、合いませんでした(切り欠きがない)
https://i.imgur.com/Hpelflv.jpg ありがとう!
RFCあるみたいだから早速呼んでみます phpにもOAuthのライブラリあるから
車輪の再開発は必要ない MySQL(mariaDB)のbit型のカラムに、PHPのPDOを使って値を入れることは
不可能なんでしょうか?
INSERT INTO tb (flag) VALUES (:flag);
flagはbit型で:flagはプレースホルダー
:flagの置き換え値として(int)1やらtureやら入れてもエラーになります
まぁbit型やめてtinyint(bool)型にでもすれば良いのでしょうが、何か解決策がありましたら
教えてください いじめはどこの町にもあるが島本町は特に酷い
「大阪府三島郡島本町のいじめはいじめられた本人が悪い 」なんて
公言する町は他に無い bindValue(':flag', 0b0001, PDO::PARAM_INT) レスありがとうございます。
bindValueを使って明示的にINT型を指定しないと、INT型の値が勝手に文字列型に
変換されてしまうのですかね。 echo ( string $arg1 [, string $... ] ) : void
↑の$arg1のargって何かの略語なんかね オーギュメントか、ありがとう。
ちょっと牛肉買ってくる augmentはオーグメントだがargumentはアーギュメントの方が近いだろう
auじゃなくてarなんだしarcをオークとは読まんじゃろ PHPで10〜20バイト程度のテキストを暗号化するときって
おまえらはなにを使っている? mozilla/node-client-sessions: secure sessions stored in cookies
https://github.com/mozilla/node-client-sessions
Implementation of Mozilla's node-client-sessions in PHP
https://gist.github.com/Metevier/dee26ce4c2eb9ba0231f690bf9f5b344 レンサバでwhile(1){ sleep(1); }なPHPを、
をexecでバックグラウンドにして呼び出すPHPにWebからアクセスしてみたら、
うっかり起動してしまって、
pid調べた後、同様にexecでkillすることで止まったんだけど、
これってレンサバ的にはどうなんでしょう?
バックグラウンド処理って禁止してるイメージ強いんだけど。
もし急に止められたりしないのであれば、cron使えないから代用にしようかなと・・・ レン鯖は大抵実行時間が一定以上でに強制終了だろう
30分くらい容認してくれるところもあれば、3分程度で終了してくるところもある
cronのようなものを使いたければ、Google Apps Script (Googleドライブにあるマクロのようなもの)で
特定時間をトリガーにしたスクリプトを使い、UrlFetchAppでそのスクリプトをキックしたほうがいい。 >>810
>>811の通り、勝手に止まる
年中動かすと間違いなく怒られるからやめとけ
ちなみにcronがない場合は「疑似cron」というものがある
例えば12:00に動かしたいものがある場合、12:00を過ぎてから初めてアクセスしたらcronが動くというもの
アクセス数が多ければcronっぽくなるが、アクセス数が少ないと13:00になったり14:00になったりする >>811-812
ありがとうございます。やっぱだめなんですね。
おふた方のアドバイスを元にやってみます。 JIT採用のPHP8が出たら、みんなPHPに戻ってきてくれるかな PHPを使う理由ってレン鯖がPHPしか使えないからとか、
PHPで作られた既存プロジェクトの改修とか、そういう理由じゃない?
新規で作るならPHPを選ぶ理由はない気がする PerlとPHPが共存してた時代にどっちやるか迷ってPHP始めたけど
まあ今からなら初心者でも絶対違う方法選ぶだろうね
環境構築に躓いてPHPに挫折的に入門してくる層を取り込めれば良いと思うわ >>818
Rubyには勝ってるのか
WebだとやっぱJavaかPythonにいくのかな新規の人は Pythonはphpより遅いだろ?
それとも速度上がった? 今や速度はマシン側の進化やチューニングが重要で
無駄な処理が多い言語でよほどそこで足引っ張ってない限り
言語の速度にはこだわらないってスタンスでいいと思うわ
それよりも扱いやすさと汎用性と安全性のバランスがとれてるもの
googleとか見てるとそんな感じだし
訪問者が読み込みを放棄して他所のサイトにいってしまいかねない
WordPressは例外中の例外
PHPの場合JIT実装にリソースさくならWordPressどうにかしたほうがいいわ 今は仮想化ばかりでマシン側なんか意識しないだろ
PHP 7.3とPython 3.7.2の速度比較じゃPHPの全勝
https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/php.html
Pythonは遅すぎだし、DB接続には追加パッケージ必要だしで
WEBでは使わず、ローカルでなんかさせたいときの言語って感じがするね Wordpressは色々問題があるが
セキュリティとかどうでも良くて
基本的に何でもかんでも自由にアクセス出来るオープンビッチなのを先にどうにかした方が良い
自由にphpファイル作れるのがまずあり得ない
イミュータブル・インフラストラクチャー? GitOps?何それおいしいの?
みたいな感じ? >>825
まぁ自由度高すぎるのは考えものだわな
function.phpももう少しルール決めておいてほしかった >>823
WordpressはPHPで作られているというだけでPHP本体の開発とは何の関係もないのだが
JITはそんなに重要ではないがFFIみたいな割と未来があるものも開発されてるしな >>823、>>825-827
CMS用途でWordPressを選ばないならdrupalになるだろうが、
これもPHP必須。 >>827
そうはいってもPHPが存在する理由なんてWPがあるからみたいなもんだし
移植可能なWPのようなソフトウェアを
今からPythonでスクラッチから開発したら
いくら素の性能がまさるとはいえPythonで作ったWPモドキに軍配があがるだろう WPはプラグインとテーマの数が半端ない
それが使えればpythonだろうがCだろうがなんでも良いぞ PHPの存在理由がWPだけというなら
基本的にWeb開発はJava一択ってこと?
RubyやPythonがWeb開発でPHPより勝る理由はそうないだろうし フルスクラッチでなんでもかんでもやるならGoは悪く無い なんでJavaがだめかというと冗長でとにかくくどい長ったらしい。
環境構築もそれなりに大変、コードの保守も大変なのであえてJavaを選ぶのはドM。
その点Pythonは実にシンプルで、ドキュメントが多く初心者向けで覚えやすくPHP並に簡単。
ただしFW前提の開発になるので、FW含めて覚える感じになるが。
環境構築もPHPほどではないが比較的容易な方。
スマホ開発から入るエンジニアはJava触るもんだから、
馴染みのあるJavaでWebもやろうとなることはあるだろうけど。 PHP言語そのもののzend?よりもさらに前身のところの元開発者です。
ポインタを裏方化したくてオブジェクト指向(というかオブジェクト演算子の利用)ができること、
画像には基本的に書き込みしない、
文字列と数値以外は使わないこと、
変数型はソースを解析してそれっぽく扱うこと、
などwebも鑑みながらプログラミングを楽にできることを徹底したつもりです
一応他の言語に比べて予約語以外は覚えることに苦労する面をすくなくするように気をつけたつもりです 実際Railsも下火だしwebのバックエンド開発言語はベスト不在の混乱期に陥りつつあるね
フロントのトレンドサイクル馬鹿にしてる場合じゃないで
まぁワイはKotlinいったるやで >>837
こんばんは、トーマス
>>838
ワイはGroovy派 .Net Coreが来るだろ
Webサーバーも稼働率で言えばIISが一番多いし こういう転換期にPerlerたちはどこへ向かっていったのかな?
PHPerが向かうべき先はPHP8なのか、Pythonなのか、NodeJSなのか
はたまたLLからの脱却なのか webゆーてもクラウドソーシングで記事書かせてWPに上げとるのがほとんどやで。 MediaWikiっていうWikipediaを始めとするさまざまなwikiのエンジンでもPHPが使われてだな…
Wordpressだけじゃないんだよ・・・ Pukiwiki形式を取り込める今どきのCMSが出たら言語関係なく移るw wikiは記法が乱立しすぎ
もうちょっと統一するか変換するかしてほc wikiなんてwp利用者と比較すればミジンコみたいなもんだろ マークダウンはシンプル過ぎてメモにしか使えんw
アフィサイトに使えるくらい拡張したら一気に流行るだろ 今はリッチテキスト系の入力フォームが主流で構文直書きなんかしてないだろ みんなでやろうNode.js
みんなで移住すれば怖くない サーバーサイドとクライアントサイドが同じ言語だと幸せなんだよね
現実は難しいけど >>854
>SEOやアクセシビリティの点数も満点です。
頭悪すぎて読む気にならんわ >>853
それならブラウザでPHPを動かした方が良いよ すでにJavaScriptがあるのにPHP採用するなんてないだろ
そもそもサーバサイドの対応と違って難しいぞ
サーバサイドは開発者が選べばいいだけだが
ブラウザは結局ベンダー次第になるし
ユーザ任せのプラグインじゃまず普及しないだろう >>857
じゃあJavascript上でPHPを動かせば良いよ >>854 実際こういう記事が出てくるとWP導入するとこも減ってくるだろう >>854
これ静的ファイルを出力してるだけだろ
wpのプラグインにそんな機能持ってるのがあるのでフーンくらいにしか思わん Wordpressは環境を共有するのむずい
何でデータベースにドメイン名含む完全なURLが入ったりすんの? >>864
そりゃサブドメインとかでも同じDBで動かせるようにだろ
データベース一つで複数のサイトを運用できるようになってるんだから
ドメイン入ってないとどこのサイトのデータなのか判別できなくなるだろう WordPress3.0からマルチサイト対応だからな empty関数って何の役に立つ?
「empty($value)」と「$valueの真偽値」は丁度結果の真偽が正反対になるから
empty使わず変数の真偽値確認すれば良いのでは >>868
読みやすい
それを言い出すとほとんどの関数いらなくなるので・・・ >>869
可読性のための関数ということですか
たしかに!をつけるより読みやすいのかもしれませんな ■ このスレッドは過去ログ倉庫に格納されています