んだ日記

ndaDayoの技術日記です

PHP

SQLSTATE[42000]: Syntax error or access violation: 1170 BLOB/TEXT column 'xxx_id' used in key specification without a key length

Laravelでmigrationsを修正していたときに、出会したエラー $table->text('video_id')->comment('ビデオID'); この行に->unique()を追加して $table->text('video_id')->unique()->comment('ビデオID'); php artisan migrate:fresh を実行したら、、 SQLSTAT…

PHPで『Java言語で学ぶリファクタリング入門』を書いてみる(1) シンボリック定数によるマジックナンバーの置き換え

今回は、こちらの『Java言語で学ぶリファクタリング入門』をPHPで書いていきます。 Java言語で学ぶリファクタリング入門作者:結城 浩発売日: 2014/03/12メディア: Kindle版 第一回は 『シンボリック定数によるマジックナンバーの置き換え』 です。 マジック…

PHPで『リファクタリング―プログラムの体質改善テクニック』を実装してみる (7) テストを追加

nda-desu.hatenablog.com 前回の記事 前回まででリファクタリングはおわりました。 テストも書いてみました。 github.com PHPで『リファクタリング―プログラムの体質改善テクニック』を実装してみる シリーズはこれにて終わり。

PHPで『リファクタリング―プログラムの体質改善テクニック』を実装してみる (6) メソッドの移動 

前回の記事 nda-desu.hatenablog.com 前回は、RentalクラスからMovieクラスにswitch文を移動させました。 getPriceCode()) { case Movi…

PHPで『リファクタリング―プログラムの体質改善テクニック』を実装してみる (5) メソッドの移動

第二回の記事 nda-desu.hatenablog.com こちらの記事で、映画の分類のswitch文をRentalクラスに移動しました。 んが、 Rentalクラスへのswitch文のメソッドの移動は、良くない例でした。。 なぜなら、 他のオブジェクトの属性を調べるためswitchを書くことは…

PHPで『リファクタリング―プログラムの体質改善テクニック』を実装してみる (4) メソッドの抽出と問い合わせによる一時変数の置き換え

前回の記事 nda-desu.hatenablog.com リファクタリング前のコード getName() . "\n"; foreach ($this->rentals as $rental) { $frequentRenterPoint++; if (($rental->getMov…

PHPで『リファクタリング―プログラムの体質改善テクニック』を実装してみる (3) 一時変数を取り除く

nda-desu.hatenablog.com 一時変数を取り除く 今回は、一時変数をどうにかしていきます。 リファクタリング前のコード getName() . "\n"; foreach ($this->rental as $rental) { $thisAmount = $renta…

PHPで『リファクタリング―プログラムの体質改善テクニック』を実装してみる (2) メソッドの分割

nda-desu.hatenablog.com メソッドの分割 statementメソッドを分割していきます。小さく分割していくことで管理が楽になるし、他のクラスへの移動も楽になる。 リファクタリング前のstatementメソッド getName() . "\n"; foreach ($th…

PHPで『リファクタリング―プログラムの体質改善テクニック』を実装してみる (1)

『リファクタリング―プログラムの体質改善テクニック』をphpで実装していきます。 リファクタリング―プログラムの体質改善テクニック (Object Technology Series)作者:マーチン ファウラーメディア: 単行本 リファクタリング 前のコード ディレクトリ構成 Ap…