laravelあれやこれや Laravel
laravel phpunit
http://qiita.com/zaburo/items/839c81a1e166a48fe3fa
jsでyes no たずねる
ミドルウェアのエントリポイント
ミドルウェアをシステムの全HTTPリクエストに対して実行したい場合は、$middleware に登録します。
ミドルウェアを特定のルートに対して実行したい場合は、$routeMiddleware にキーと共に登録します。
{{-- ログインしている時だけ表示 --}}
@if (Auth::check())
{!! link_to( articles/create 新規作成 [ class => btn btn-primary ]) !!}
@endif
日本語エラーメッセージファイル
https://laravel10.wordpress.com/2015/07/06/laravel-5-1-%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB/
https://laravel10.wordpress.com/2015/03/11/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AElaravel-5-19-%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%8C%96/
https://laravel10.wordpress.com/2015/03/10/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AElaravel-5-18-formrequest/
https://laravel10.wordpress.com/2015/03/09/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AElaravel-5-17-validation%EF%BC%88%E5%85%A5%E5%8A%9B%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%EF%BC%89/
LaravelではDBとモデルオブジェクトを対応付ける機能を Eloquent と名付けています。
Eloquent の機能を継承し、ビジネスロジックを加えたクラスがモデルです。
■construct 共通 画面 api php
■validator request使う
◇べんぎょう
・りあたい表示
レガシー改善の王道、テストの整備
ステージング環境をさくらVPSで用意。jenkinsでのsimpletest phpunit + selenium rcでのCI、capistranoでの継続的デリバリーの環境が整った。後はテストを増やすだけだ。
レガシー改善パターン "CSS Proxy Pattern"
同じく、既存のCSS(style.css)はゴチャゴチャなので新しく作るview用のCSSはリーダブルにしたい。そこでこう!
app/webroot/css/admin.css:
@import url( style.css );
/* ここに新しいviewで必要なcssを書いてく */
レガシーCSSとリーダブルCSSを切り分けることが出来
コード美しくする整えるの
http://cs.sensiolabs.org/
プラグインを使う
ESLint の組込みルールは汎用的なものです。特定のライブラリやフレームワーク、
または実行環境に特化した検証は行いません。そのような検証はプラグインとして提供されます。
Visual Studio Code
Microsoft が公開している拡張機能を利用します。
eslint
ESLintでJavaScriptの構文チェックを始める
スタイルガイド
http://photoshopvip.net/69456
gulpタスク
Laravel Elixir!
PHPのコーディングスタイルをそろえたいのでPHP Coding Standards Fixerを使用する。
laracastsflashいれよう
https://laravel10.wordpress.com/2015/03/18/laracastsflash/
ファサードはIoCコンテナに登録されたクラスを静的メソッド(Class:methodという形式)で呼び出すことを可能にしています。
Event::fire( foo array( name => Dayle ));
Eventクラスが使用された場合に、エイリアスであるIlluminate¥Support¥Facades¥Eventクラスが実際に動作しています。
ファサードはモックオ
Laravelリポジトリパターンの実装
まずはモデルごとに、Repositoryのインターフェースと実装クラスを作ります。
インターフェースを使用すると、コードは簡単に理解でき、メンテナンスできるようにもなります。そして、実装クラスを差し替えることができます。
--------------------------------------
timezone&locale変更
Laravel5/config/app.php
42行目 timezone => UTC を timezone => Asia/tokyo に変更
55行目 locale => en を locale => ja に変更
--------------------------------------
laravel5のキャッシュは下記コマンドで殺せる
php artisan cache:clear
--------------------------------------
http://abofactory.hatenablog.com/entry/2015/05/06/214247
Laravel Debugbar
composerでlaravel-debugarを導入
% composer require barryvdh/laravel-debugbar
からの
% composer install
laravel-debugbarの追加
Laravel5/の直下で下記コマンドを叩く
config/app.phpのproviders配列に下記を追加
・ Barryvdh¥Debugbar¥ServiceProvider
config/app.phpのaliases配列に下記を追加
・ Debugbar => Barryvdh¥Debugbar¥Facade
¥Debugbar::error();
¥Debugbar::disable();
Debugbar::startMeasure();
Debugbar::stopMeasure();
デバッグモードをONにしないと出力されないので
debug => env( APP_DEBUG ) を debug => true に修正
環境変数を正しく設定すれば開発環境ではデバッグモードON、リリース環境ではOFFとかできるはずなのですが、今は強制的にONに指定
後はコントローラなどのでログを出力したい箇所で"Log::info()"を使うとブラウザ上の下部にログがGUI出力されます。SQLのクエリーや配列が簡単に確認できるのでかなり重宝します。
例えば、取得したユーザデータの連想配列を画面上に表示できます。
$user_array = User::get(); //userテーブル(Model)の一覧取得
Log::info($user_array);
--------------------------------------
--------------------------------------
メンテナンス中です
D:¥xampp¥htdocs¥l5blog>php artisan down
Application is now in maintenance mode.
D:¥xampp¥htdocs¥l5blog>php artisan up
D:¥xampp¥htdocs¥l5blog¥resources¥views¥errors
--------------------------------------
get_defined_vars()を使うことで、実際にはどのような変数がビューテンプレートで定義されているかを確認できます。
下記が、Laravel ビューテンプレートでget_defined_vars()を実行した例です。このビューテンプレートでは 6 つの変数が定義されており、$__path、$__data、$__env、$app、$errors、$loginUserとして利用できることが分かります。
このように、マニュアルなどのドキュメントを見ずとも、コードで利用できる変数を知ることができます。
<?php var_dump(array_keys(get_defined_vars())) ?>
array (size=6)
0 => string __path (length=6)
1 => string __data (length=6)
2 => string __env (length=5)
--------------------------------------
Laravelでsqlから吐き出されたやたら長いオブジェクトをきれいな
連想配列にしてくれるtoArrayメソッドですが、たまにTrailing dataというエラーが出ます
--------------------------------------
ララベルのマニュアルで紹介されている一般的なDBレコードの作成方法は、
class Member extends Model
{
protected $table = member ;
protected $primary_key = member_id ;
protected $timestamps = true;
}
use AppModelsMember;
$member = new Member();
$member->name = 山田太郎 ;
$member->email = tyamada@gmail.com ;
$member->password = password ; // ここもちろん実際は暗号化して
$member->save();
Memberのインスタンスを作成し、ちまちまとそれぞれの項目を埋めて、最後にセーブ。
しかし、ウェブのアプリでは、コントローラーにおいて、ユーザーの入力がたくさんの項目でいっぺんに入ってくるので、
namespace AppHttpControllers;
use AppModelsMember;
use IlluminateHttpRequest;
use AppHttpControllersController;
class SignupController extends Controller
{
public function postSignup(Request $request)
{
$member = new Member;
$member->fill($request->all())->save();
}
}
と、先のようにひとつひとつの項目に値を割り当てずに、一気に保存することできます。いわゆる、一括割り当てのマスアサインメントてsidebar考える slack増やす