タグ

PHPに関するsds-pageのブックマーク (28)

  • Laravel の認証・認可パッケージが多すぎてわけわからんので図にまとめた - Qiita

    元ネタ @localdisk さんの記事です。 こちらで概ね適切に説明されているものの,文章のみで図が無くて直感的に把握しづらいので,初心者にもすぐ飲み込ませられるように図に描き起こしてみました。 図 解説 illuminate/auth: 最小限の認証認可コアロジック コアコンポーネント群の laravel/framework に含まれているものです。 Socialite 以外のすべてのパッケージが,実質このコアに依存していることになります。 以下の記事でこのパッケージの詳細について説明しているので,ここでは端折って説明します。 伝統的 Cookie ベースのセッション認証 こちらでも解説している, 「Cookie に識別子を載せ,それに対応する情報はサーバ側のファイルに記録する」 という手法に近いものです。 実装は illuminate/session にあり, PHP ネイティブのセ

    Laravel の認証・認可パッケージが多すぎてわけわからんので図にまとめた - Qiita
  • PHP の乱数実装がグダグダな話

    2022-07-19 これらの問題を解決する Random Extension 5.x 並びに Random Extension Improvement RFC が可決され、 master に merge されました。 PHP 8.2 より利用可能になります。 https://wiki.php.net/rfc/rng_extension https://wiki.php.net/rfc/random_extension_improvement https://github.com/php/php-src/commit/4d8dd8d258ff365b146bcadcb277ede8992706d0 2022-06-18 これらの問題を解決するため、 PHP 8.2 に対して Random Extension 5.x の RFC が作成され、投票が始まっています 2021-01-15 PHP

    PHP の乱数実装がグダグダな話
    sds-page
    sds-page 2020/12/14
    グダグダ天使
  • APIなどにfile_get_contents()を使うのはオススメしない理由と代替案

    file_get_contents() はファイルパスを指定してデータを取得するだけではなく URLを指定すればそのURLの情報を手軽にとれる関数ですが 対API等に使うと色々とハマるポイントが多いので、それを簡単に解説したものです。 ※このページ向け に書いていたものですが、コード量が多いので分割しました。 問題点 file_get_contents() は ヘッダ情報の保持ルールやタイムアウト処理に癖があるため 返却されるステータスコードや、タイムアウト時に再リクエストなどを行うような 対APIの処理では、それらを知らないと想定していない事態に陥る。 コード例と解説 以下の要件でfunctionを書くとします。 jsonが返ってくるAPIにアクセスして、jsonをarray化する。 タイムアウトは3秒とし、そうなった場合は空の配列が返ってくる。 ステータスコードが200以外で返ってきた

    APIなどにfile_get_contents()を使うのはオススメしない理由と代替案
  • 【PHP8.0】PHPでunion型が使えるようになる - Qiita

    Union Types 2.0というRFCが投票中です。 提案者はまたまたのNikita。 2019/10/25開始、2019/11/08終了で、受理には2/3+1の賛成が必要です。 2019/11/04時点で賛成55反対5であり、ほぼ導入確定です。 PHPのunion型って何かというと、TypeScriptのunion型とだいたい同じです。 int|string $aと書いたら$aはint型もしくはstring型ですよ、ということです。 ちなみに別途RFCをGitHubで管理しようという実験が進行中で、このRFCの詳細はGitHub上に存在します。 このRFCはまだNikitaの個人GitHub上にしかないのですが、決まりになったらPHP公式に移動になると思います。 まあGitHubのほうが管理とか更新とか楽ですからね。 ただGitHubはURLがすぐ404になるのだけはどうにかしてほ

    【PHP8.0】PHPでunion型が使えるようになる - Qiita
    sds-page
    sds-page 2019/11/06
    目を覚ませ僕らのPHPが何者かに侵略されてるぞ
  • PHPはもうダメだ、PHP万歳! | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) GutenbergとWordPressに関する騒動は、PHPの終焉につながる最新記事です。深呼吸をしてください、みなさん。トロールは無視し、Mark TwainとFidel CastroとPHPとの共通点を見ていきましょう。そして、もっと重要なのは、スタートアップやスモールビジネスにとって、PHPが今でも合理的な選択である理由です。 PHPはいつから廃れ始めたのか “PHPはもうダメだ”といったブログの投稿が、登場し始めたのは2011年のようです(これより古いものを見つけたら、お知らせください)。Mediumや、mushroomsのように突然出現したcoding bootcampsを探し回れば、その唯一の共通点は、みんながPHPを嫌っているか、あるいは単に無視しているかです。どうやら、法外な値段のコー

    PHPはもうダメだ、PHP万歳! | POSTD
    sds-page
    sds-page 2019/03/29
    ぺちぱーが生き生きしとる
  • PHPのハマりポイントのリンク集 - Qiita

    PHPのハマり情報のまとめです。主に罠な仕様、予想外の振る舞い、ドキュメントに詳しくは書いてない振る舞いについての情報をまとめていきます。ここに載ってない情報があればぜひとも教えて下さい。頂いた情報をもとに随時更新していきます。 PHPは引数が足りないときはエラーになるが、引数が多いぶんには何も言わない - Qiita PHPはときどき掛け算ができない - Qiita PHPのDateTime::ISO8601はISO8601ではない - Qiita SplFileObjectのREAD_AHEAD, SKIP_EMPTY, DROP_NEW_LINEPHPのバージョンによって挙動がバラバラな件 - Qiita PHP: iterable型はiterator_to_array()に渡しちゃいけない - Qiita PHPの正規表現で^$より\A\zがいい理由 - Qiita PHP:文字

    PHPのハマりポイントのリンク集 - Qiita
    sds-page
    sds-page 2019/01/24
    Select文が通らない謎のエラーでちょっと書き換えたらエラー出なくなったのが謎。他の言語で遭遇したことはない謎のハマりポイント
  • 罵声を浴びて疲れた...入社3日目 - Qiita

    はじめまして、PHPプログラマーのアリスです。私はこう見えて日人ですが、母親はイタリア人です。さて、今回は入社3日目の初心者PHPプログラマー仕事でどんなことをしているか書きます。 1日目 1日目は、最初に自己紹介を行いました。 「山田アリスと申します。専門学校でプログラミングを学びました。バックエンドプログラマーとして配属されましたが、最初はわからないことが多いと思いますが、よろしくおねがいします。」 と言いました。歓迎ムードではなく、みんな無表情で手をぱちぱちしていました。 その後、「新人は入社後の手続きをしてください」と言われ、そのとおりにしました。その日の記憶は、それしかありません。 2日目 配属先で何をするかと思ったら、上司から「自分のPCの環境を完璧に設定しろ。後からバカみてぇにコロコロといらねーもん入れたら承知しねーから、今のうちに必要なものは入れておけ」と言われ、Ema

    罵声を浴びて疲れた...入社3日目 - Qiita
    sds-page
    sds-page 2018/11/14
    話をまとめるとマンハッタンコードのステマって事か
  • 選定した技術が1年で死んだ話 | そど

    今年の夏頃から、特にサービスとして出すわけではなく、社内で使っているシステムのリプレースを行う事になりました。主な目的はレガシーすぎる設計をある低度モダンにする事、そして他のシステムと連携出来るようにする事、です。 対象のシステム 見積書や請求書などを管理・発行している。機能はそれなりに多いがUI操作はFormベース、テーブルタグで諸情報を表示するシンプルな物。ノンフレームワークで1画面1PHPファイルな古き良き時代のコード。おそらく10年ぐらい?稼働している。当初はPHP 5.1、PostgreSQL 8.x系だったが、現在はPHP 5.6とPostgreSQL 9.6で稼働しています。 その他の社内システム かつてはノンフレームワークだったり、太古のバージョンのCakePHPだったり、PHPが4系だったりしたが、概ねCodeIgniter 3系最新版 + PHP 5.6~7.1 + P

    sds-page
    sds-page 2018/03/13
    長いものには巻かれろ
  • PHP コミュニティでブーメランを投げ合うのはやめよう - Frasco

    私は約7年間、PHP でプログラミングをしてきました。その間に、私が発見したもの。それはフレームワークとライブラリ(コンテンツ管理プラットフォーム周辺のエコシステムなど)、そして、PHP を選んだプログラマーたちの巨大コミュニティです。私と同じツールを使っているにせよ、いないにせよ、プログラマーたちの多くは、当の友人になりました。私が参加したカンファレンスでの基調講演の多くから判断するに、私たちはお互いに助け合い、学び、成長し、より良いソフトウェアを構築し、キャリアにおいて次のステップを踏み出すときには、一丸となってお互いをサポートしてきたと思います。そう信じているのは、私だけではないでしょう。 言語としての PHP は、「まっとう」なプログラマーたちに、皮肉を言われ、馬鹿にされ、過小評価され、批判され、嘲笑されて、最低の極みともいえるような評価を受けてきました。そのプログラマーたちは、

    PHP コミュニティでブーメランを投げ合うのはやめよう - Frasco
    sds-page
    sds-page 2017/11/13
    日本だとブーメランは自分に帰ってくるものだから手斧かなと思った
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
    sds-page
    sds-page 2017/07/18
    素人はおとなしくフレームワーク使ってろって話
  • PHP って JavaScript に変換できるの?できるわけないだろ! babel-preset-php ってのが今日リリースされた?これまさか・・・。ファーーーーーーーーーーーwwwwwwwwwwww - Qiita

    PHP って JavaScript に変換できるの?できるわけないだろ! babel-preset-php ってのが今日リリースされた?これまさか・・・。ファーーーーーーーーーーーwwwwwwwwwwwwPHPJavaScriptbabel PHP (7) を Javascript (ES7) に変換するための Babel プリセット babel-preset-php日 (2017-7-12) リリースされたみたいです 正直、「は?凄すぎだろ (小並感) 」という言葉しか出てきませんww とりあえず面白そうなので試してみます! 使い方 公式の通りですが、プロジェクトを作成し babel-cli と babel-preset-php をインストールします。

    PHP って JavaScript に変換できるの?できるわけないだろ! babel-preset-php ってのが今日リリースされた?これまさか・・・。ファーーーーーーーーーーーwwwwwwwwwwww - Qiita
    sds-page
    sds-page 2017/07/14
    ASP.netもソースからJavaScript生成したりしてるし・・・
  • PHPができても他言語の学習には役に立たない理由を考えてみた。 - Qiita

    PHPしかできない奴はいつまで経ってもPHPしかできない? PHPには下記のような都市伝説があります。 他言語から学んだ者がPHPを習得することは容易いが、PHPから学んだ者が他言語を習得することは難しい。PHPから始めた者は、一生PHPのみで過ごすか、一度PHPを忘れて、初心から他言語を学ぶしかない。 まぁ、言っているのは私一人ですけどね。引用っぽくしてますが、引用元はありません。都市伝説ですので。1 これはとあるRubyの開発者がPHPをdisったことから始まる第2回PHPなめんな選手権2のところで、404 Blog Not Found:「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違いにあった、次の言葉がきっかけです。 それは、PHPユーザーは他の言語から学んでいるのか、という点。 PHPにも素晴らしいアプリケーションはありますし、それらを作成している人達も

    PHPができても他言語の学習には役に立たない理由を考えてみた。 - Qiita
    sds-page
    sds-page 2017/05/10
    参照渡しの部分とかVBの事知らない人なのかと思ったら知ってて黙ってるのか。VBもVBでByvalにしてもオブジェクト型は強制的に参照渡しになるのがアレ
  • PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita

    最初に結論 in_arrayには第三引数trueを指定しろ。絶対にだ。 はじめに in_arrayについては、はじめにPHP: in_array - Manualをよく読んでおいてほしい。 この記事に書いたコード断片は、どうか読むだけではなく自分で手を動かして確認してほしい。 PHPで短いコードを動かすのはPsySHを利用すると、とても捗る。ローカルに動作環境がなければ、Ideone.comなどのオンラインサービスを利用しても差支ない。 static $fruits = ["apple", "orange", "banana"]; in_array("apple", $fruits); // => true in_array("mikan", $fruits); // => false これがin_arrayのふつうの使ひかただ。 Webアプリケーションでの実例 では、次のような例を見てみ

    PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita
    sds-page
    sds-page 2017/02/21
    入り口付近で一律intにして意図しない動作を防ぐ派かな
  • そいう叩き方をしていた人も居たけれど、一番は実行速度なんだよ。 クソ重..

    そいう叩き方をしていた人も居たけれど、一番は実行速度なんだよ。 クソ重いコードにサーバのリソースを占有されたら、誰だって迷惑だと思うだろ。 そこでFacebook社が開発したのが、HipHop Virtual Machine(HHVM) こいつは、事前にPHPを中間コードに変換してから実行するので、.NETJava並みに速く動く。 HHVMが公開されたのが2011年で、実用的に使われだしたのは2012年のアップデート以降かな。 2016年にはPHP7がリリースされて、これはHHVM並みの速さでPHPが動くようになった。 PHP自体の改良が進むことで、PHPも他言語並みの速さで動くってことになったのであまり叩かれなくなった。 Laravelみたいなフレームワークも世界的に使われだして、ソースコードの書き方も他言語と大差なくなってきたのもあるとは思う。

    そいう叩き方をしていた人も居たけれど、一番は実行速度なんだよ。 クソ重..
    sds-page
    sds-page 2017/01/13
    それはPHPが敬遠されてた理由でぺちぱーが叩かれてた理由じゃない
  • フリーエンジニアのIT案件ならレバテックフリーランス

    2016年11月3日(木・祝)に開催された「PHPカンファレンス2016(#phpcon2016)」内で、レバテックは来場者に好きなPHPフレームワークを選んでもらう「PHPフレームワーク対決」を実施しました! 結果はすでにTwitter(@levtech_inc)で発表しましたが、大きな反響いただいたのでこの記事では結果と併せて投票者の声をまとめました。各フレームワークの好きなところ・嫌いなところなどPHPerのリアルな声が寄せられていますので、今後のフレームワーク選びの参考にしてみてください! ◆調査概要 調査方法:アンケート調査 調査対象:2016年11月3日(木・祝)に開催された「PHPカンファレンス2016」の来場者295人 PHP案件を提案してもらう 第1位 CakePHP 72票 CakePHPの好きなところ ・一番簡単に導入できるところ。コーディングが割と簡潔。 ・日語の

    フリーエンジニアのIT案件ならレバテックフリーランス
    sds-page
    sds-page 2016/11/27
    Cakeはもう古いとか言われてCodeIgniter使い始めたのにCodeIgniterも古いとか言われたりもっと古そうなsymfonyが現役だったりでわけわからん
  • 安全なPHPアプリケーションの作り方2016

    XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...Kousuke Ebihara

    安全なPHPアプリケーションの作り方2016
    sds-page
    sds-page 2016/11/04
    (;´Д`)多すぎ
  • #逃げ恥 で星野源がPHPコードを書いているシーンに着目する人たち

    ぱそきいろ @takacpu55 逃げ恥の一話見たけど、ガッキーの可愛さよりも納期直前の仕様変更により徹夜でプログラム組むSEの方が印象に残った 2016-10-23 11:05:58

    #逃げ恥 で星野源がPHPコードを書いているシーンに着目する人たち
    sds-page
    sds-page 2016/10/27
    これだからぺちぱーは・・・(とりあえずphpをディスる風潮)
  • PHPプログラムを書いたらマイナス21億行目あたりでエラーが出た - hnwの日記

    (2016/10/5 20:40 追記)誤解を招いている部分がありそうなので文末に補足を追記しました。巨大なプログラムをわせただけでPHPが死ぬわけではありません。 毎度おなじみ、意図的に重箱の隅をつついてみたよって話です。あるPHPプログラムを実行したら次のようなエラーに遭遇しました。 $ php over-2g-lines.php int(0) PHP Fatal error: Uncaught Error: Call to undefined function var____dump() in /Users/hnw/over-2g-lines.php:2150000004 Stack trace: #0 {main} thrown in /Users/hnw/over-2g-lines.php on line -214496729221億5千万4行目で致命的エラーが発生したよ!とい

    PHPプログラムを書いたらマイナス21億行目あたりでエラーが出た - hnwの日記
    sds-page
    sds-page 2016/10/06
    いかれてる
  • PHPの次

    ああまたか、と思った。フレームワークを使用しているのに、フォームフィールドをベタ書きして、条件分岐を駆使して、その値や、エラー文字列を表示させている。 外注が作ったプログラム。 初めはもちろん頭にきたが、なんかもう、PHPってこんなもんなのかな、と思った。 こういうコードを見たのは一回でも、一社でも、ない。 それでもこの会社たちはこれで仕事をもらい金をもらい回っている。 所詮私が関われるレベルの仕事だ。別に大した規模でもない。悪党たちや、暇人たちが、ちょっかいだすメリットなどない。 BASIC認証があってデータベースのアカウント認証があって一部の限られた人しか使わなくて…。それでも私は入力値チェックをする。入力画面と確認画面と処理画面で、する。エスケープをする。SQLはLIKE文のエスケープも、するよ?HTML出力は文字列全部にエスケープするから、名前に記号、使えるよ? 当たり前だよね?

    PHPの次
    sds-page
    sds-page 2016/07/04
    意識高い外注さんが既にあるテンプレート使わずに独自実装で車輪の再発明満載で困った。「僕の考えた最強のAltJS」が氾濫するのもこの辺の意識高さが原因だろう
  • PHPのround関数とは一体なんだったのか - hnwの日記

    (7/3 14:05追記)Javaに関する記述について誤認があったので盛大に書き換えました。Java 6、Java 7、Java 8それぞれで実装が変わっていたようです。 (7/13 23:55追記)記事中ではroundを四捨五入と言い切ってしまっています。これは筆者がC99のroundを基準に考えているためですが、言語によっては偶数丸めになっているround関数も珍しくありません。ご注意ください。 PHPのround関数について、ネット上で次のような記述を見つけました。 PHP 四捨五入の計算を間違える唯一の言語として畏れられていましたが、そのバグは治っているかもしれません(治ってないかもしれません) 主要なプログラミング言語8種をぐったり解説 - 鍋あり谷あり 各言語を面白おかしく紹介する内容とはいえ、ずいぶん雑な理解だなーという印象です。ゆるふわな話だけでPHPがdisられ続けるの

    PHPのround関数とは一体なんだったのか - hnwの日記
    sds-page
    sds-page 2016/07/03
    PHPをディスるときは言語仕様じゃなくてユーザーまでにしとけと