Post

php

2017-10-03 16:11:47

php7をインストールした時にmysqlドライバーがなかった

php7をインストールした時にmysqlドライバーがなかった()php7のインストールについてはこちらを参照にしました。 CentOS6/CentOS7にPHP5.6/PHP7をyumでインストール ちなみに私の環境は・・・ さくらVPS CentOS6.7 ドライバーがないならインストールすればいいじゃないyum install yum install --enablerepo=remi,remi-php70 php-mysqlnd これで解決できたっぽいです(:3」∠) 補足:php7のインストールに関してもしかしたら足りないパッケージもあるかもしれませんが、laravelをphp...

インフラ

centos mysql php php7 sakuravps yum

2016-12-08 16:13:11

PHPで学ぶデザインパターン - Adapter ~APIを変更する~

Adapter パターンとは?API(互換性のないインターフェース)同士を適合させるためのパターンです。既存のコードの変更をせずに、再利用することで新しい機能を提供するというものです。再利用するコードには変更を加えないというのが特徴です。主にコードを再利用するためという後天的理由から成り立っているパターンです。(設計段階でラッパーを用意するパターンはBridgeパターンです。) 構造##TargetClassAPI(インターフェース)の定義をします。 AdapteeClassTargetClassに適合させる既存のAPIを提供します。 AdapterClassAdapteeClassのAPIを...

プログラミング

php adapter デザインパターン

2016-12-04 16:13:57

PHPで学ぶデザインパターン - Singleton ~いくつ作るかを制限~

Singleton パターンとは?インスタンス生成のコストを制御するために、インスタンスが1つしかないことを保証するパターンです。 構造SingletonClasspriavateのコンストラクタとインスタンスを1つだけ返すstaticメソッドと自分自身のインスタンスを保持するためのstatic変数を用意するだけです。 メリットインスタンスへのアクセスを制御できるSingletonパターンが保持する自分自身へのアクセスをprivateに制限しているためクライアント側のコードからのアクセスを制御することができます。 インスタンス数を変更することができる生成されるインスタンスの数を2つ以上に変更す...

プログラミング

デザインパターン php singleton

2016-12-02 16:14:48

PHPで学ぶデザインパターン - Template Method ~処理の穴埋め~

Template Method パターンとは?似たような処理を枠組み(型)としてスーパークラスで定義し、より具体的な処理内容をサブクラスで実装するというパターンです。単なる継承ではなく、具体的な処理内容を抽象メソッドとして定義することで、スーパークラスのメソッドの実装を保証し、クラスの振る舞いをサブクラスによって定義させる継承を利用したパターンです。 構造AbstractClass処理の枠組みを定義するクラスで、枠組みを定義するメソッド(template method)とそれを利用するメソッドを含みます。 ConcreteMethodAbstractClassを継承するサブクラスで、Abstr...

プログラミング

デザインパターン php templatemethod

2016-12-01 16:17:16

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

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

プログラミング

デザインパターン php oop

2017-10-11 21:49:26

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

初登壇!2017年10月8日、PHPカンファレンス2017にて、LT初登壇してきました。 初めてのLTでPHPカンファレンスという舞台に立てて、自分としてはとても良い経験になりました。 スライドSpeaker Deck - 3年目エンジニアOSSをはじめる by bmf_san 「3年目エンジニアOSSをはじめる」というテーマで、自分のOSSプロダクトを紹介しつつ、OSSに取り組んだ背景や学び得たことなどについてお話しました。 動画Japan PHP Conference Track1 (LT) - LT, クロージング 内容をもっとブラッシュしておくべきだったと反省しています。。。 Rube...

ポエム

oss php LT phpカンファレンス

New!

2018-12-08 17:37:17

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

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

プログラミング

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

New!

2018-12-09 10:25:43

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

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

プログラミング

デザインパターン php GoF strategy

2018-12-01 23:15:50

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

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

プログラミング

デザインパターン GoF php abstract factory factory factory method