タグ

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

  • PHPのオブジェクトは参照渡しではないし、変数リファレンスは全然別物 - Qiita

    まだ参照渡しで消耗してたの? 僕はPHPerなのでPHPのことしかわからないけど、だいたいPHPで参照渡しのことを気にしても時間の無駄だし積極的に利用するべき場面が極めて限定されることはPHPのリファレンス(参照&)の傾向と対策、あるいはさよならに書いたので読んでほしい。 それとPHPマニュアルでは「参照渡し」ではなく「リファレンス渡し」と呼ぶが、どちらにせよ、わざわざ「渡し (call by-)」を付けて呼ぶ意義は乏しいので、これからは「変数リファレンス」として覚えてほしい。もうちょっと具体的なことはPHP: リファレンスとは? - Manualを読んで。 端的に言うと、PHPでは「オブジェクト引数はデフォルトで引数渡しされる」「オブジェクトのプロパティ(メンバー変数)は参照渡し」のような理解は誤解であり、完全に嘘です。 function setPrice1(array $a, floa

    PHPのオブジェクトは参照渡しではないし、変数リファレンスは全然別物 - Qiita
    iww
    iww 2023/02/07
    引数でオブジェクトを渡すと参照になる話
  • PSRの誤解 - Qiita

    先日のPHPerKaigi 2018はPHPに興味がある多くのひとびとと直接コミュニケーションがとれる貴重な機会でした1。その中でPSRシリーズへの誤解が聞かれたので一度整理します。 最初にまとめ 「PSRはモダン、準拠しないのはレガシー野郎」といったものではない 相互運用させることを想定しないのなら、100%準拠することに利点はない PSR-2は、それ自身を厳守させるためのコーディングスタイルではない PSRは参考するには値するが、自分たちの事情に合ったものを取り込むべし 後述しますが、筆者の所属するチームではPSR-1, PSR-2を参考にしつつ破って使ってます。 PSRは誰が作ってるの? PSRを管理するのはPHP-FIG (The PHP Framework Interoperability Group、PHPフレームワーク相互運用グループ)です。この組織はPHPのフレームワーク・

    PSRの誤解 - Qiita
  • 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
    iww
    iww 2020/04/08
    『PhpStormは現在のところ(2018.1 EAP)PSR-5と互換性がありません』 『PhpStormに配慮して書く場合、phpDocumentorの仕様を参照する方が安全です』
  • モダンPHPアンチパターン - Qiita

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

    モダンPHPアンチパターン - Qiita
    iww
    iww 2015/09/23
    配列を書き換える時に参照を使わずに済む方法ってあるんだろうか
  • 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
  • set -uしてるときに変数が定義されてるかチェックする - Qiita

    いつもシェルスクリプトを書くときは未定義だろうが気にせず使って空文字かどうかで判定してたので、set -uな環境下でスクリプトを書いてるときに嵌った。 対処 Bash Reference Manual: Bash Conditional Expressionsにちゃんと書いてあった。 -v varname True if the shell variable varname is set (has been assigned a value). なるほど。 サンプルコード だめ

    set -uしてるときに変数が定義されてるかチェックする - Qiita
    iww
    iww 2014/12/10
    -vは4.2以降
  • 1