概要 Laravel で Controller のクラスをテストしたいと思ったのですが、Controller にドメインロジックが入り込んでいてテストしずらかったので、どうすれば Controller のテストがしやすくなるか考えながら、サンプルプロジェクトをつくってみました。 余談ですが、現在、Laravel4 のプロダクトと Laravel5 のプロダクトを同時に改修していて、あちこち混乱したので、両方のバージョンで同じことをやってみました。 やったこと Controller からドメインロジックを追い出すために、サービスクラスをつくって処理を移した Controller のテストでは Mockery を使ってサービスをモック化した 環境 PHP 5.6.9 Laravel 4.2, 5.2 4 と 5 の主な違い 5 では Mockery がデフォルトでインストールされる 5 では
リリース前から触ってて良かったなぁと思うくらい意外と大変。 複雑なことしてないプロジェクトなら簡単だけど。 基本的には公式のドキュメント見ればいい。 https://laravel.com/docs/5.3/upgrade 事前準備 5.3のプロジェクトをzipでダウンロードしておく。ファイルごと入れ替えたほうが早い所も多いので。 https://github.com/laravel/laravel routes プロジェクトルートにコピー。 app/Http/routes.phpの中身をroutes/web.phpにコピペ。 api用のルーティングはapi.phpへ。 api.phpやconsole.phpを使わないなら不要な部分は削除しておく。 app/Http/routes.phpは削除。 app/Providers 各ファイルを入れ替え、もしくは中身をよく見て書き換え。 AuthS
// ソースコードの配置 . . . // ソースコードの配置完了後 // composer.lockの内容でパッケージのインストール composer install // configディレクトリ以下の設定ファイルをキャッシュ php artisan config:cache // ルーティング定義をキャッシュ php artisan route:cache 各種コマンドの説明は以下を参照 composer install composer.lockにもとづいてパッケージをインストールする インストール後は以下を行っている composer dump-autoload php artisan clear-compiled php artisan optimize composer dump-autoload autoloadを自動で生成してくれる autoload_classmap.p
最近laravelを触る機会があったので、そこで学んだことを メモしていきます。 今回はマイグレーション手順です。 こちらの記事は4.系のコマンドになります。 マイグレーションのファイル作成 php artisan migrate:make コマンドでマイグレーションファイルが app/database/migrations に作成されます。 例えば php artisan migrate:make create_users_table の様にすると Created Migration: 2016_01_04_103448_create_users_table Generating optimized class loader というメッセージが出力され 2016_01_04_103448_create_users_table が先ほどのフォルダに作成されているかと思います。 テーブルの作
自分用の備忘録として、画像投稿機能付き掲示板の作成をメモしていこうと思います。 ララ帳様を参考にして作成していきます。以下、ララ帳様からの引用が多々あります。 以下、おおざっぱな目標です ・PHPで実装 ・フレームワークはLaravel5を使う ・サーバーはXAMPP ・DBはphpmyadmin ・bootstrap3を使って見栄えを良くする Part1 初めに 最初にcomposer create-project laravel/laravel --prefer-dist rookieLaravel5にてプロジェクトを作成。 そして以下の設定をすませる。 config/app.php: timezone を Asia/Tokyo に、 locale を ja に。 config/database.php: default に mysql を設定 Permissionの設定 本来であれば
#対象 All Productライセンスが出たのでPhpStormを思わず今回購入した自分 PhpStormの使い方に慣れていない方 IDEの恩恵をしっかり味わいたい #プロジェクト作成 左ペインから【Composer Project】を選択し、Locationにプロジェクト保存先を入力 【composer.phar】について、今回は、【Download composer.phar from getcomposer.org】を選択 【Filter packages】にlaravel/laravelを入力しリストからlaravel/laravelを選び【Version to install】をv5.2.0を選択 #Laravel用のIDEプラグイン導入 メニューバーより【File】-【Settings】-【Plugins】を辿る 【Browse repositories...】を選択後、検索
PHP7が公開されたので現状のサーバーをPHP5.6からPHP7にアップデートしたので手順を書いてみました。 結果としてプロジェクトのソースコードの変更は特に必要なく、PHP7へ移行することが出来たので PHP7への移行コストはかなり少なかったです。 環境 CentOS 6.6 64bit PHP 5.6 Laravel 5.1 手順 1.準備 1.1 現在の状態を確認 # yum list installed | grep php php56u.x86_64 5.6.16-1.ius.centos6 php56u-cli.x86_64 5.6.16-1.ius.centos6 php56u-common.x86_64 5.6.16-1.ius.centos6 php56u-mbstring.x86_64 php56u-mcrypt.x86_64 5.6.16-1.ius.centos6
今更の話になりますが, PHPやあるいは他の言語の中でSQLを組み立てようとすると, ひどく面倒な上に 最終的な完成図の見通しもわるくなるものです. それが単純な文字列操作ではくて, eloquentのクエリビルダを使ったところである程度複雑になってるくると 同じことでしょう. そこで, かつて同じように文字列操作で生成されていたHTMLが同じ理由でViewに分離されたことにならって SQLをView機能を使って記述する方法を考えてみたいと思います. サンプルコードは先日かいたコードを 流用します. また, 今回書いたコードはマイグレーションも含めてGistにあげてましたので, 試したい場合は適当にコピペして 実行してみてください. 簡単なクエリを実行する場合 次のようなsqlを実行したい場合を考えます
追記:2020/06/09 本記事で説明で利用しているリポジトリのmigrations-generator(Xethron)はLarvel5.4までの対応でした。 それ以降のバージョンはmigrations-generator(oscarafdev)のリポジトリで対応しているようです。(Xethron側の色々なissueで書いてあった) oscarafdevの方リポジトリでXethronの方がコミットしているので正式に引き継いだのではなかろうか。 自分は試して無いので、どなたか試してコメント頂くか、別な記事にして頂けるとありがたいです。 追記:2020/06/09ここまで 経緯 運用中のサービスをDBはそのままでAPI用のPHPフレームワークをLaravelに差し替える事になった。 テーブルの数が100を超えていてとても手書きでmigrationを書く気が無い 色々なmigrationsに
こんにちは皆さん 以前にPHPerもテストコード書こうぜ!みたいな記事を書いたわけですが、いざテスト書こうとするといろんな問題に突き当たります。 特に大きな問題は可読性だったりしますが、この可読性の問題を大幅に解決してくれたのが、Laravelのテストでした。 Laravelのユニットテスト テストの「可読性」問題 テストの可読性は大きな課題です。 というのも、テストというのは仕様と実装があっていることを確かめるものであるため、テストの可読性が低い<=>テストが何の仕様を確認しているかわからない状態では、そのテストの存在意義に疑問符がつくでしょう。もちろん、そんな状態では仕様変更が発生しても、どの箇所のテストを直せばわからなくなり、「結果としてテストコードが邪魔」になるというジレンマを生み出してしまいます。 また、可読性が低いということは、書きにくいということと同義ですので、「テストを書く
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く