タグ

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

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

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

    P++: 銀河に平和をもたらすための奇策と決着 - Qiita
    miuramo
    miuramo 2019/08/14
  • PHP 5.6と7の新機能を使った画期的バリデータの実装 - Qiita

    以前、private/protectedなプロパティを外部から読み込み可能にするを書いたとき、記事のコメントにて「コレクション(配列)内の要素の型を検証したいよー」「でもそうすると全要素を検証しなくちゃいけないから実行時のパフォーマンスの問題があるよね」って話をしました。 気付いてしまった PHP: 関数の引数 - Manualを読んでた私は気付いてしまったのです。PHP 5.6で実装された機能を巧みに利用すればバリデータが実装可能なことに。 ……そうです。可変長引数です。 PHPの可変長引数とは PHP 5.6で追加された可変長引数は、以前の文法に...を追加することで0個以上の値をまとめて受け取れるようにしたものです。 f("a") // => // string(1) "a" // array(0) { // } f("a", "b") // => // string(1) "a"

    PHP 5.6と7の新機能を使った画期的バリデータの実装 - Qiita
    miuramo
    miuramo 2016/03/01
  • モダンPHPアンチパターン - Qiita

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

    モダンPHPアンチパターン - Qiita
    miuramo
    miuramo 2015/09/23
  • PHPのモダンな開発環境を紹介する - Qiita

    やあPHP! 最近なんだかまともだなぁ PHP開発の上で実用的なツール群について、RubyPythonほどには知名度がないので紹介したい。Windowsのことは知らないので、各自がんばってほしい。 筆者はもともとRubyの方から来たので、Rubyとの比較が多いのは留意されたい。 この記事の内容と直接関連はしないが、併せて読まれたい PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita 準備 MacだとHomebrewがあると依存ライブラリを集めるのが楽でべんり。 これは個人の趣味の話なのだけれど、自分でインストールする実行ファイルは$HOME/local/binに置くのが好きだ。 筆者はZ Shellユーザーなので https://github.com/zonuexe/dotfiles/blob/master/.zshenv#L1-L13 のようにしてる。 PHPBrew

    PHPのモダンな開発環境を紹介する - Qiita
    miuramo
    miuramo 2015/02/09
  • 1