PHPとLaravelに関するtsubo3のブックマーク (25)

  • Larave5.1で認証画面の簡単セットアップ

    Laravel 5.1では、5.0の時に標準で入っていた Bootstrap3の認証用のビューが削除されてしまいました。CSSフレームワークは必ずしもBootstrap3を使うわけでは無いのは分かるのですが、これはこれでちょっと不便になった気もします。 そこで、認証用のビューを簡単にセットアップできる bestmomo/scafold パッケージを紹介します。 https://github.com/bestmomo/scafold インストール composer でパッケージをインストールします。 composer require bestmomo/scafold:dev-master config/app.php にサービスプロバイダーを登録します。 Bestmomo\Scafold\ScafoldServiceProvider::class, Publish viewやassetsをパ

    Larave5.1で認証画面の簡単セットアップ
    tsubo3
    tsubo3 2015/07/01
    Laravel5.1で5.0の時の認証画面をサクッと準備するやつ
  • Elixir:Bootstrap編

    Elixirを使って、Bootstrap3をセットアップします。 Bowerのインストール CSSJavaScriptといったフロントエンド用のパッケージ管理ツールの Bower をインストールします。Bowerはnpmを使ってグローバル環境にインストールします。 npm install -g bower Bowerを初期化して、bower.jsonファイルを作成します。 質問には全てリターンキーを押して、デフォルト回答します。 bower init Bowerの詳細は公式サイトをご覧ください。 http://bower.io/ Bootstrapのインストール Bowerを使ってBootstrapをインストールします。 ここでは、Sass版のBootstrapをインストールします。 bower install bootstrap-sass-official --save bower_c

    Elixir:Bootstrap編
  • Elixir:バージョニング編

    CSSJavaScriptファイルを更新しても、ファイル名が同じ場合、ブラウザがそれらををキャッシュしたままで、更新が反映されないことがあります。この問題を解決する為に、Elixirではファイル名にバージョンを付与することが出来ます。 gulpfile.jsに、タスクを定義します。 // gulpfile.js var elixir = require('laravel-elixir'); elixir(function(mix) { mix.version([ 'css/app.css', 'js/app.js' ]); }); mix.version()は、引数で指定されたファイル名にユニークなバージョンを付与します。引数で指定されたファイルは、public ディレクトリにあるとみなします。バージョンを付与されたファイルは、public/build ディレクトリ以下に出力されます。

    Elixir:バージョニング編
  • Elixir:JavaScript編

    Elixirを使って、CaffeeScriptをJavaScriptへ変換してみます。また、複数のJavaScriptファイルの結合も試します。 CoffeeScript resources/assets/coffee ディレクトリ以下に、coffeeファイルを作成します。 // resources/assets/coffee/hello.coffee alert "Hello CoffeeScript!" gulpfile.jsに、タスクを定義します。 // gulpfile.js var elixir = require('laravel-elixir'); elixir(function(mix) { mix.coffee('hello.coffee'); // ① }); ① の部分にタスクを定義します。 mix.coffee()は、引数で指定されたcoffeeファイルをJavaS

    Elixir:JavaScript編
  • Elixir:CSS編

    Elixirを使って、LessやSassをCSSへ変換してみます。また、複数のCSSファイルの結合も試します。 Less resources/assets/less ディレクトリ以下に、lessファイルを作成します。 // resources/assets/less/app.less @title-color: red; h1 { color: @title-color; } gulpfile.jsに、タスクを定義します。 // gulpfile.js var elixir = require('laravel-elixir'); elixir(function(mix) { mix.less('app.less'); // ① }); ① の部分にタスクを定義します。 mix.less()は、引数で指定されたlessファイルをCSSに変換し、public/css/app.cssに出力しま

    Elixir:CSS編
  • Elixir:インストール編

    Elixirは、Laravelのタスク自動化ツールです。以下の様なタスクを自動で実行できます。 CSSの拡張言語であるLessやSassをCSSに変換する CaffeScriptをJavaScriptに変換する 複数のファイルを1ファイルに結合する ファイルをミニファイする(余計な空白や改行を削る等してサイズを圧縮する) ファイルの変更を監視してタスクを実行する CSSJavaScriptのファイル名にバージョンを付与する Elixirは node.js上で動作する gulpというタスク管理ツールをベースとしています。gulpLaravelで使いやすくするためにラッピングしたツールが Elixirです。その為、node.jsとgulpをインストールした上で、Elixirをインストールする必要があります。 node.jsのバージョンを確認します。node.jsがインストールされていない

    Elixir:インストール編
  • Laravel 5.1 がリリースされました

    Laravel 5.1 がリリースされました。 http://laravel.com/docs/5.1/releases https://laravel-news.com/blog/ リリースノート意訳 # LTS(長期間サポート) バグの修正:2年間 セキュリティー対応:3年間 # PHP 5.5.9+ PHPの5.5.9以上のバージョンが必要になります。 # PSR-2 PSR-2のコーディングスタイルが採用されました。 生成されるコードもPSR-2スタイルが適用されるようになりました。 # Documentation ドキュメント、サンプルコードが改善されました。 # Event Broadcasting 多くのモダンなウェブアプリケーションで、ユーザインターフェースをリアルタイムに更新する為に、WebSocketが使われています。サーバ上でデータが更新された時、WebSocketの

    Laravel 5.1 がリリースされました
    tsubo3
    tsubo3 2015/06/10
    v5.1リリースノートの意訳
  • Events

    Laravel 5.1 のイベント機能を試してみます。 ユーザー登録の完了イベントを発行し、そのイベントを受けてウェルカムメールを送信してみます。 イベントとリスナーの登録 app/Providers/EventServiceProvider.php にイベントとイベントリスナーを登録します。 <?php // app/Providers/EventServiceProvider.php namespace App\Providers; ... class EventServiceProvider extends ServiceProvider { protected $listen = [ 'App\Events\UserWasRegistered' => [ // ① イベント 'App\Listeners\SendWelcomeMail', // ② リスナー ], ]; ... }

    Events
    tsubo3
    tsubo3 2015/05/25
    狼煙が上がると仕事をするやつ
  • Job Bus:コンソールコマンド編

    前々回、ユーザー登録処理をコントローラからJobクラスに抽出して、再利用可能にしました。今回はコンソールコマンドを作ることで、コントローラ以外の場所でJob Busを使う方法を試します。 ※ Laravel 5.0の Command Busは v5.1で Job Busに変更されました。 お題 コンソールコマンドを作成して、コンソール端末上でユーザー登録を可能にします。コンソールコマンドの中で、Job Bus経由でJobクラスを実行します。 前々回の復習 以下のJobクラスを作成しました。このクラスがあることを前提に進めます。 <?php // app/Commands/RegisterUser.php namespace App\Jobs; use App\Jobs\Job; use App\User; use Illuminate\Contracts\Bus\SelfHandling;

    Job Bus:コンソールコマンド編
    tsubo3
    tsubo3 2015/05/22
    プレゼンテーション層からサービス層へのコマンドの経路ということか
  • Command Bus の使い方動画

    Command Busの使い方をレビューしている動画があるので、紹介します。 ***** Laravel v5.0で追加された、Command Busは、v5.1でQueueと統合されて、Job Busに変更されました。この動画は Laravel v5.0リリース前のプレビュー動画で、内容が古いです。 しかし、v5.1でもコマンドバスパターンとしてのJob Busは使えるのに、マニュアルに説明がありません。この動画とv5.0のCommand Busのマニュアルは非常に貴重な情報源ですので、見ておく価値はあります。 ***** Laracasts にある Laravel 5 Preview: Commands です。Previewとなっているのは、Laravel5が正式にリリースされる前の動画だからです。 https://laracasts.com/lessons/laravel-5-com

    Command Bus の使い方動画
    tsubo3
    tsubo3 2015/05/20
    コマンドバスの使い方を動画で見れる
  • Job Bus(旧Command Bus)

    Laravel v5.0で追加された、Command Busは、v5.1でQueueと統合されて、Job Busに変更されました。今回はこのJob Busを試してみます。 Laravel 5.1では非常に残念なことに、マニュアルにQueueの説明はあるのですが、Job Busの記述がありません。Command Busパターンとしての使い方が抹消されてしまいました。ララ帳ではCommand Busパターンに注目してるので、引き続きJob Busとして掲載します。 お題 Laravel 5.1に標準装備されている、ユーザー登録処理はAuthControllerに実装されています。コントローラーはドメイン駆動設計として見ると、プレゼンテーション層にあたります。ここにビジネスロジックが実装されていると、コントローラの中でしかロジックが使えず、再利用ができません。例えば、ユーザーを登録するコンソール

    Job Bus(旧Command Bus)
    tsubo3
    tsubo3 2015/05/18
    こいつは使えるかも、俺の直感がそう叫んだ!
  • スタック・オーバーフローを使いませんか?

    Laravelの質問がしたくても、何処で質問してよいか分からなくて、困ったことはありませんか?日ではまだ、Laravelに関する Q&A の良い場所が育っていないように思います。であれば、皆でそのような場を育てませんか? ララ帳がおすすめするのは、スタック・オーバーフロー です。 http://ja.stackoverflow.com/ 英語圏では非常にメジャーなサイトで、プログラミングに関して検索した事がある方は、何度も目にしているかと思います。そのサイトの日語版サービスが 2014年12月から始まっています。 幾つかある Q&A サイトの中から、何故「スタック・オーバーフロー」をおすすめするかというと、そのサイトの哲学、ポリシーが素晴らしく、共感させられるからです。 職業プログラマーから週末プログラマーまで プログラミングに情熱をそそぐ人のための Q&A サイト 目標は、プログラミ

    スタック・オーバーフローを使いませんか?
    tsubo3
    tsubo3 2015/05/17
    新しい仲間の為に、集合知の蓄積が必要だ
  • タスクスケジューラ

    Laravel5 から cronの代わりにコマンド実行の計画をソースコードで指定できるようになりました。 スケジューリング app/Console/Commands/Kernel.php にコマンド実行計画を記述します。 <?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { // ... protected function schedule(Schedule $schedule) { $schedule ->command('auth:clear-reminders') // artisan command

    タスクスケジューラ
    tsubo3
    tsubo3 2015/05/15
    時間通りにキッチリ仕事をするやつ
  • コマンドラインアプリケーション

    Laravel5でターミナル端末から実行可能なコマンドラインアプリケーションを作成してみます。Laravelでは artisan を拡張することで、コマンドラインアプリケーションを実装します。 今回作成するコマンド Userテーブルを検索しユーザ名の一覧を表示するコマンドを作成します。オプションの指定によって、件数だけを表示することも可能とします。 $ php artisan user:list harry ron hermione $ php artisan user:list --count 3 コンソールコマンドクラスの生成 artisanを使って、コンソールコマンドクラスを生成します。 php artisan make:console ListUser app/Console/Commands/ListUser.php が以下の様に生成されます。 <?php // app/Cons

    コマンドラインアプリケーション
    tsubo3
    tsubo3 2015/05/13
    Laravelはバッチ処理も作れます
  • Laravel v5.1 LTS(長期間サポート)を発表

    ※ 2015/06/10にv5.1のリリースがありました。バグ修正、セキュリティー対応の期間が当初の発表より1年短くなりました。 企業や、チームでフレームワークを選択する際に、LTSがあると安心できます。LTSを提供するということは、メジャーになった証ですね。

    Laravel v5.1 LTS(長期間サポート)を発表
    tsubo3
    tsubo3 2015/05/11
    名実共にメジャーフレームワークの仲間入り
  • キュー

    Laravelでは標準でジョブキューを使用することができます。ジョブキューを使って、時間の掛かる処理を非同期で実行することができます。簡単なサンプルを作って、実際に試してみたいと思います。 ドライバー Laravel5で利用できるキューのドライバーは以下の6種類あります。 sync: デフォルト設定で、実際には同期処理として動きます database: データベースをジョブキューとして使います beanstalkd: beanstalkd オープンソースのジョブキューです sqs: Amazon Simple Queue Service 有料サービスです iron: ironMQ 有料サービスです redis: Redis オープンソースのKVSです 今回はすぐに使える database を使ってキューを試します。 環境設定 キューの設定で使用するファイルは以下の2ファイルです。 .env

    キュー
    tsubo3
    tsubo3 2015/05/07
    非同期で裏でジョブを動かすやつです
  • Laravel 5.1 のユーザー登録で確認メールを送る【後編】

    【前篇】に続いて、今回もユーザー登録機能に確認メールの送信を追加するカズタマイズを進めます。 進捗確認 【前篇】では、基的なユーザー登録、ログインを実装した後に、以下の2点をカスタマイズしました。 ユーザー登録直後に確認メールを送信 確認メール内のURLにアクセスして、ユーザー確認を完了 【後編】では、以下の2点を追加します。 確認メールからのユーザー確認が済んでいない時、ログイン出来ないようにする。 確認メールの再送を可能にする。 ミドルウェアでフィルタリング # ミドルウェアの作成 確認メールからのユーザー確認が済んでいるかどうかをチェックするミドルウェアを作成します。 php artisan make:middleware VerifyConfirmed app/Http/Middleware/VerifyConfirmed.php が作成されるので、以下のように編集します。 <?

    Laravel 5.1 のユーザー登録で確認メールを送る【後編】
  • Laravel 5.1 のユーザー登録で確認メールを送る【前篇】

    Laravel 5.1 では標準でユーザー登録機能がコントローラとして提供されています。しかし、この機能には、確認メールを送る機能が付いていません。今回はユーザー登録に、確認メールの送信機能を追加し、メールアドレスがユーザー登録した人の物であることを確認できるようにカスタマイズします。 環境設定 データベースとメール送信の環境設定を行います。 初めてのLaravel 5.1 : (6) データベースの環境設定 メールの環境設定 ユーザー登録、ログインの実装 # マイグレーション 標準で提供されている、users, password_resets テーブルを作成します。 database/ └── migrations ├── 2014_10_12_000000_create_users_table.php └── 2014_10_12_100000_create_password_res

    Laravel 5.1 のユーザー登録で確認メールを送る【前篇】
    tsubo3
    tsubo3 2015/05/04
    Laravelの標準サインアップに足りなかった、確認メール
  • Laravel5 入門動画

    Laravel5を学ぶのに非常に有効な動画を紹介します。 Laracastsにある Laravel 5 Fundamentals です。 https://laracasts.com/series/laravel-5-fundamentals ***** Laravel 5.0から 5.1へのバージョンアップで、結構変更があったので、この動画の内容はもう古いです。それでも、この動画を見ることに価値はあります。ぜひ、時間を取ってこの動画を見てください。そして、公式ドキュメントを見ながら、実際にプロジェクトを作って手を動かしてください。Laravelを覚える為の近道となります。 以下のコマンドで Laravel 5.0をインストールすることができます。 composer create-project laravel/laravel PROJECT_NAME 5.0 --prefer-dist リ

    Laravel5 入門動画
    tsubo3
    tsubo3 2015/04/29
    Laravel5のチュートリアルをお探しなら、まずはここ
  • 依存性の注入とは

    Laravel のドキュメントを見ていると「依存性の注入」という言葉が良く出てきます。依存性の注入は Dependency Injectionと言われ、「DI」と表記されます。また、別の表現では Inversion of Control(制御の反転)とも言われ、「IoC」と表記されます。Laravel のドキュメントでは「 loC」の方が使われています。 Laravel では、依存性の注入という概念を核としてフレームワークが作成されています。この概念を理解することが、Laravel を理解することへの近道になるかと思います。 この依存性の注入とは何でしょうか? 今回は簡単なPHPのサンプルで、この概念を理解したいと思います。 ※ Laravelを使ったソースコードでは無いのでご注意ください。 依存性の注入を使っていないケース <?php // send_message.php /* * C

    依存性の注入とは