PHP カンファレンス北海道 2024 登壇資料 #phpcondo
![「DI」と仲良くなる](https://cdn-ak-scissors.b.st-hatena.com/image/square/32097b4e85a1925e29633a39283eac81ee9ef88d/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fb76ef2a008f04b07a95d3d69d2dae775%2Fslide_0.jpg%3F28499573)
この記事の説明 この記事はプログラミング初学時に自分が知りたかった3点に絞り、 かつ可能な限り端的に説明をして概要を掴んで頂く為に書きました。 そもそもDIって? どんなメリット(必要性)ある? 具体的に言うと? 上記3点のみに絞って書いているので、かゆい所には手が届いておりません。 あしからず。 ※ 今回はDIの説明に集中するため、DIコンテナ等の具体的な利用例については割愛しています。 そもそもDI(Dependency Injection)って? 一言で言うと、 『使いたいオブジェクトを渡してあげること』 そんだけです。 これだけでは逆にわかり辛いかもしれませんが、本当にそれだけです。 がんがん渡しましょう。 // 使いたいオブジェクト $d = new Di(); // コンストラクタで渡した! $obj = new Obj($d); // セッターで渡した! $obj = new
ぶっちゃけ出るなんて思ってませんでしたが、Pimple 2.0がリリースされたので、1.xの復習と2.0での変更について調べてみます。 Pimple - A simple PHP Dependency Injection Container Pimple(1.x)の基本 DIコンテナとは何か、という説明をはぶいてPimpleの動作を単に説明すれば、 コンテナ(Pimpleのインスタンス)は連想配列のように見えて、そこに値や無名関数をセットできる 値を取り出す時、セットされたものが値であれば、単にその値が返却される 値を取り出す時、セットされたものが無名関数であれば、その無名関数を呼び出した戻り値が返却される。この時、無名関数の第一引数にはコンテナそのものが渡される というこれだけのものです。 Inversion of Control コンテナと Dependency Injection パ
2016年になったので、自分用のメモとして去年のTuumPHP開発を振り返ってみます。 Tuum/Webの開発 思えば、Tuum/Webを作り始めたのは2014年の11月頃。一度ぐらい満足できるフレームワークを自作してみたい、と思い立ってしまい、 良いとされる設計を積極的に使う(PSR-7、ミドルウェア、DIコンテナなど)、 そのうえで、自分の欲しい機能を実装する、 という方向で作り始めました。 2015年5月頃には、ほぼ完成したのですが、どうも気にかかる点が出来てしまいました。おそらく、次の二点。 1. 思った以上に複雑になった。 2. 欲しいのはフレームワークではなかった。 なので、基本ボツに。 えぇ〜! せっかく作ったのに。 複雑すぎる 一つ一つの設計は自分なりに納得して作ってるので、妙な動きはしてはいないのですが。思った以上に動きが複雑になってしまいました。原因を考えたのですが、次
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く