PHP

Laravel JP Conferenceにコアスタッフ兼LTスピーカーとして参加してきました

ポエム

Laravel JP ConferenceのコアスタッフとLT登壇してきました。 コアスタッフとして参加してみて普段、カンファレンスは参加者側なのですが、PHPのコミュニュティに対して微力でも貢献する機会であり、自分の好きなFWのカンファレンスでもあったので、コアスタッフとして参加しました。(ほぼ一日中受付スタッフをやっていました。) 自分がエンジニアとしてなんとかやれているのは、包容力のあるPH...

Laravel LT PHP

PHPで学ぶデザインパターン - Bridgeパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Bridgeパターンとは機能拡張のためのスーパークラスと実装拡張のためのサブクラスを用意し、機能の橋渡しをするようなパターン。 実装<?php interface Connector { public function __construct(Converter $converter)...

GoF PHP デザインパターン ブリッジパターン

PHPで学ぶデザインパターン - Adapterパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Adaperパターンとは元となるクラスに修正を加えることなくインターフェースを変更することができるパターン。 異なるインターフェース間の互換性を調整するようなAdapterクラスを用意することで実現する。 実装<?php interface Bird { public function...

アダプターパターン GoF PHP デザインパターン

PHPで学ぶデザインパターン - Mediatorパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Mediatorパターンとは仲介者・調停者の意味。 オブジェクトの振る舞いに関するデザインパターンで、オブジェクト間のやりとり調整するためのパターン。 オブジェクト同士のやり取りが複雑化し、関係性が見えにくくなるような時に有用かもしれない。 実装<?php // Mediator class...

PHP デザインパターン メディエーターパターン GoF

PHPカンファレンス仙台2019に参加した

ポエム

TL; DRPHPカンファレンス仙台2019に参加レポート。 テストが辛いを解決するテスト駆動のアプローチ テストが辛いを解決するテスト駆動開発のアプローチ at PHPカンファレンス仙台2019 違和感から設計判断 TDDのアプローチではなく、実装後にテストをかくアプローチだとテストの書きづらさを感じたときに設計に違和感を感じると思うが、TDDだとそのへんは慣れが必要だろうなぁと思った。...

PHP PHPカンファレンス

PHPで学ぶデザインパターン - Strategy

アプリケーション

概要この記事はPHPで学ぶデザインパターン Advent Calendar 2018の記事です。 今回はStrategyパターンについてかきます。 Strategyパターンとは?Strategyパターンは、アルゴリズムの切り替えを容易にするようなパターンです。異なる処理をそれぞれ別のクラスに定義するため、 処理を動的に選択できるだけでなく、条件分岐を減らすことも可能としてします。OCP(open/...

デザインパターン PHP GoF ストラテジーパターン

PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factory

アプリケーション

この記事はPHPで学ぶデザインパターン Advent Calendar 2018の記事です。 概要Factory・Factory Method・Abstract Factoryについてかきます。 Factoryパターンについて知るまずはFactoryパターンについてざっくり説明します。 interface Robot { public function say(); } class Blue...

デザインパターン GoF PHP アブストラクトファクトリーパターン ファクトリーパターン ファクトリーメソッドパターン

PHPのインターフェースとタイプヒンティング

アプリケーション

概要この記事はPHP Advent Calendar 2018の記事です。(ちょっと早めに投稿しています) インターフェースはメソッドの実装を保証する”契約”的意味合いの他、タイプヒンティングによって実装を抽象に依存させる(=実装の切り替えをしやすくする)こともできる。 インターフェースの定義・実装基本的なインターフェースの定義と実装。 <?php interface Action { ...

PHP インターフェース タイプヒンティング

PHPカンファレンス2017で、「3年目エンジニアOSSをはじめる」というテーマでLT登壇してきました

ポエム

初登壇!2017年10月8日、PHPカンファレンス2017にて、LT初登壇してきました。 初めてのLTでPHPカンファレンスという舞台に立てて、自分としてはとても良い経験になりました。 スライドSpeaker Deck - 3年目エンジニアOSSをはじめる by bmf_san 「3年目エンジニアOSSをはじめる」というテーマで、自分のOSSプロダクトを紹介しつつ、OSSに取り組んだ背景や学び得た...

OSS PHP LT PHPカンファレンス

PHPで学ぶデザインパターン - オブジェクト指向の基礎

アプリケーション

概要今は絶版になっているPHPによるデザインパターン入門を教科書にして、PHPでデザインパターンを学びます。(※Amazonで中古がありますが、定価の倍以上の値段が付いているようです。) 本連載で扱うコードはgithubにまとめていきます。 本来であれば、OOPの先駆けである言語でデザインパターンを学びたいところでしたが、PHP以外の言語の素養がなかったことと、PHPでデザインパターンを解説してい...

デザインパターン PHP OOP