タグ

ブックマーク / qiita.com/tadsan (6)

  • P++: 銀河に平和をもたらすための奇策と決着 - Qiita

    PHP 8から、PHPは「PHP」と「P++」という2つの言語を提供するようになる というキャッチーな紹介をするP++: 静的型付けをめざすPHPという記事がそれなりに話題になり、このニュースは目覚しく革新的な内容で、多くのひとの目を引き付けました。 これは早まった理解であり、ほとんど誤報と言ってもいい内容でした。2019年8月15日には提案者人も、少くとも「P++」の計画を短期的に実現するととは非現実的であり時期尚早であることを認めています。 この記事では、PHP開発の現状、なぜ野心的なP++計画が提案され、事実上撤回されたかの経緯について紹介します。 [中立性のための表示] この記事の著者@tadsanはPHPの静的解析を強く推進する立場です。 PHPゆるふわCI入門 PHP型検査・夢と理想と現実) 三行で要約 PHPはバージョンを経るごとに「歴史的経緯」による負債が削ぎ落されてきた

    P++: 銀河に平和をもたらすための奇策と決着 - Qiita
    s99e209
    s99e209 2019/08/20
    開発リソース的に大丈夫なのかなと心配してたけど計画は無くなったのか。 とりあえず、PHP本体が良い方向に進化してもらえればなと。
  • 正規表現でPHPを脆弱にする (1) 「^ と $」 - Qiita

    みなさん正規表現は好きですか? 私は好きです。簡単に脆弱性を作り込めて、とても便利ですからね。 この記事ではPCRE関数(preg_match(), preg_replace()など)を利用して、みなさまにPHP正規表現のバッドノウハウを教示いたします。 先に結論を書きます 単独の文字列のマッチに $ を用いるのは予期しないパターンになるのでやめましょう。^は特に危険ではありませんが、^と$の組み合せではなく\Aと\zの組み合せを覚えましょう。ただし、m修飾子で複数行(マルチラインモード)で、行頭と行末にマッチさせたい場合を除きます。 文字列のマッチに ^ と $ のペアを利用する そうですね、例としてQiitaのようなユーザー登録サイトの表示名 @tadsan のような文字列を登録する前の検査をするとします。 要件としては、使用可能な文字は abcdefghijklmnopqrstuvw

    正規表現でPHPを脆弱にする (1) 「^ と $」 - Qiita
  • PHPにおけるvoidとは何か - Qiita

    PHPの文脈ではvoidはいくつかの異なる意味で利用されます。 そもそもvoidってなんだ void(ボイド)は、プログラミング言語において、「何もない」といった意味の型などに使われる名前である。プリミティブとしてキーワードないし予約語であることも多い。 (void (コンピュータ) - Wikipedia1より引用) C言語では「引数を受け取らず、引数を返さない」関数のプロトタイプを void f(void); のように記述できますね。 PHPマニュアルにおけるvoid PHP: ドキュメントにおける疑似的な型および変数 - Manualに記載があります。 返り値の型が void である場合は、 返り値に意味がないことを表します。パラメータ一覧で void が使用されている場合は、 その関数がパラメータを受け付けないことを表します。 具体的には以下の通りです。 header (PHP

    PHPにおけるvoidとは何か - Qiita
    s99e209
    s99e209 2018/09/17
  • 2018年のPHPDoc事情とPSR-5 - Qiita

    PHPDocとは、クラスや関数などのブロックに記述できるDocComment内に記述する書式の通称です。この書式の情報源として時折PSR-5が参照されることがあるので簡単に状況をまとめます。 TL;DR PSR-5の標準化ステータスは昨年10月にABANDONED (放棄・議論停滞)になりました 2018年9月26日にPSR-5とPSR-19が分割され、ともにDRAFT状態に入りました PHPDocを型注釈として利用する各処理系の実装にはばらつきがあり、PSR-5とは相違点があります PhpStormは現在のところ(2018.1 EAP)PSR-5と互換性がありません 特にチーム開発では、対応する型記述の書式について注意が必要です PhpStormに配慮して書く場合、phpDocumentorの仕様を参照する方が安全です PHPDoc リファレンス — phpDocumentor この記事

    2018年のPHPDoc事情とPSR-5 - Qiita
    s99e209
    s99e209 2018/03/13
  • array_mapにありがとう、さよなら - Qiita

    このスライドはヤパチーエイジアハチオウジ2016の「[WIP]あなたがエンタープライズファンクショナルPHPライブラリTeto\Functoolsを採用しなければならない11個の理由」の発表内容です。 関連記事 Functoolsを作った 過剰にスマートなPHPを書こう (無名再帰篇) お前誰よ うさみけんた ぞぬえぐぜ/っどさん GitHub: zonuexe (Pakagistも同じ) Twitter: @tadsan ピクシブ株式会社でpixivってサービスやってる 最近はPHPの静的解析がアツい さて Twitterにて 2016年5月25日 あまり有名ではないのでもしかしたらご存じないかもしれませんが、PHPには高速高機能なforeachってイテレーション機構が言語組み込みにあるので、わざわざarray_mapとか書かなくてもいいんですよ!!!!! — うさみけんた (@tads

    array_mapにありがとう、さよなら - Qiita
    s99e209
    s99e209 2016/07/20
    composer require zonuexe/functools
  • モダンPHPアンチパターン - Qiita

    アンチパターンなので、見出しの内容はすべてバッドノウハウです。 前に書いたやつ PHPのモダンな開発環境を紹介する - Qiita PHP - Functoolsを作った - Qiita PHPのlist()はタプル展開のための機能 - Qiita 関係ないけどこれも: シェル、ターミナル、コンソール、コマンドライン 追記: 文中でとりあげた「怖い話」について、ちゃんと説明しました PHP - namespaceとBOMに何の関係があるのさ - Qiita ファイルの最後に?>を書く PHPコードは<?phpで始まり?>で締める。それがPHPの常識(キリッ ……そんなことはもう綺麗さっぱり忘れよう。PHPはテンプレートエンジンではあるが、Webアプリケーションを書く上では、もはやテンプレートエンジンとしての機能は求められなくなりつつある。 不要な?>を書いてはいけない理由は明確で、<?p

    モダンPHPアンチパターン - Qiita
    s99e209
    s99e209 2015/09/23
    いつの間にか、PHP 5.4系も2015年9月14日でセキュリティサポートが終了していたのか。 未だにPHP5.3を使っているプロジェクトもあるけど、出来るところからモダンな実装に移行していきたい。
  • 1