環境: Laravel 5.6 Laravel5系では、発行されたSQLを以下の手順で確認できます。 DB::connection()->enableQueryLog(); データベースアクセスのメソッドを実行する。 DB::getQueryLog(); これを使ってPHPUnitでRepository層のテストを書くことが目標です。 例として、指定したUserIdで直近2週間の記事一覧を返すメソッドのテストを実装します。 サンプルのテストコード public function testQueryTest() { $article = new Article; //Eloquent Model $repository = new ArticleRepository($article);//コンストラクタイジェクション DB::connection()->enableQueryLog();
はじめに PHPフレームワーク Laravel Webアプリケーション開発 http://amzn.asia/d/cslZyKz 対象の読者は、Laravel5上で保守や運用まで見据えた実践的なアプリケーションの設計/実装に悩んでいるような脱Laravel初心者を目指しているような方、かなと思いました。実際現場でこのような悩みを抱えているエンジニアは多いのではないでしょうか?少なくともウェブアプリケーションフレームワークを初めて触るような方向けとしては書かれておらず、SymfonyやCakePHP等のPHPのウェブアプリケーションフレームワークを使った経験がある方でないと少し内容が難しく感じるかもしれません。 第一部 第一部では、Laravel上でアプリケーションを組むときに知っておきたいフレームワークのアーキテクチャや処理フローについて、しっかりとページを割いて図付きで解説されています。
Laravel知れば知るほど便利度と自由度の高さには驚かされます。 Railsに似ていることもあり、採用するサービスや使っている人もどんどん増えているみたいですね。 そんな中でLaravelのシングルアクションコントローラーという概念があります。 今回は、そのコントローラーを作成する際 Invalid route action というエラーに少し詰まったので備忘録として残します。 シングルアクションコントローラーとは その名の通りアクションが1つだけのコントローラーです。 Laravelの場合、シングルアクションコントローラーにはコントローラーの中にinvokeメソッドだけが存在しています。 この話のようにできるだけコントローラーはシンプルにしたいものですよね。 1つのアクションが存在しているだけのコントローラーなんか通常通りにコントローラーを作成してメソッドを1つだけ作ればいいのではない
version: '3' services: php: container_name: php build: ./docker/php volumes: - ./server:/var/www nginx: image: nginx container_name: nginx ports: - 80:80 volumes: - ./server:/var/www - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf depends_on: - php db: image: mysql:5.7 container_name: db-host environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: database MYSQL_USER: docker MYSQL_PASS
2019-12-31 追記: ライブラリ化しました!インストール&サービスプロバイダに1個登録するだけで簡単に使えるようになっています! mpyw/laravel-cached-database-stickiness: Guarantee database stickiness over the same user's consecutive requests 概要 MySQL や Aurora などで,マスタスレーブ構成にして SELECT はスレーブに対して実行 INSERT UPDATE DELETE はマスタに対して実行 という設定にすることはよくある。 Laravel はフレームワークレベルでこの設定をサポートしており,自動的に振り分けを行なってくれる。さらに設定で sticky オプションを有効化している場合, 自分が INSERT UPDATE DELETE を実行した同一H
@mixmix <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin=
Laravel Practice Laravelをざっと理解するため、公式サイトの中級TaskListをやってみたのでそのログです。 https://laravel.com/docs/5.1/quickstart-intermediate 基本的なCRUDと、ログイン機能がついたものです。 なお上記URLはこれは5.1なので、5.4に合わせて各所調整しています。 github https://github.com/shnr/laravel_tasklist Laravel Version Laravel Framework 5.4.36 インストール composer install https://getcomposer.org/download/ チュートリアルままですが、まずはプロジェクトディレクトリを作って、composerのダウンロード。 $ mkdir myproject-di
この記事を読んだあとにできること Laravelの開発環境構築 welcome画面の表示 Laravelの開発環境構築 Laravelで開発する際には、まず、プロジェクトを作成します。 Laravelには便利な機能があり、シェル(コマンドプロンプト)からコマンドを実行することで、簡単にプロジェクトを作成することができます。 しかし、コマンドを実行するためにはcomposerとツールを使わなくてはいけません。 まずは、composerをインストールしましょう。 composerのインストール 今回はWindowsで開発しているのでMacの方ごめんなさい。 Windowsにはcomposerのインストーラーが用意されています。 以下のURLからComposer-Setup.exeをインストールします。 [composer]https://getcomposer.org/download/ あと
基盤系の開発などをしていると、売上データや顧客データなどが書かれたExcelファイルや、CSVファイルを読み込んで、DBに格納するというシーンがボチボチあるため、対応しやすいようQiitaにまとめておく。 環境# PHP 7.1.7 Laravel 5.6.33(pureでも問題ない、使うのはpure標準の関数だか開発した環境がたまたまLaravelだっただけ) MySQL 5.7.22 使う主な関数# fopen()### 第一引数に指定したファイルを第二引数で指定したファイルモードで開く。 今回の場合はCSVファイルを開くのに使用する。 ファイルモードに関してはドキュメントを参照するのが一番良いと思う。とりあえず今回使うのは、読み込み専用でファイルがなかった場合falseを返す、'r'となる。
「もっと簡単に」呼び出せるようにパッケージ化しました。 詳細はこちら Watson Assisantとは 会話系のインターフェースを提供してくれるIBMのサービスです。 とりあえずデモ こんな感じで動かしていきます。 ※デモ内ではWatson AssistantとIBM Cloud Function(ICF)を連携させて、天気予報を取得しています。 Watson AssistantとICFの連携については別記事で書こうと思います。 システム概要 Watson AssistantをWebアプリケーションでどうやって使うか。 WatsonのサービスはREST APIで簡単に利用することが出来ます。 以前の記事ではNode.jsでWatson Assistantとの連携をしましたが、 今回はLaravelとGuzzleを使ってWebアプリケーションとWatson Assistantを連携する方法
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く