Laravel
Laravelのコマンドを実装するとき /** * コンソールコマンドの名前と引数、オプション * * @var string */ protected $signature = 'update:user {--user_id}'; /** * コンソールコマンドの説明 * * @var string */ protected $description = ’ユーザー情報…
モデルの時間を取ろうとしたら、文字列・・・ User::where('id', 5)->start_at->gte(Carbon::now()); usersテーブルの日付データを使って、時間の比較をしようとしたら、 start_atが文字って言われた(T_T) どうせなら、日付データはCarbonとかで取ってきてほ…
Laravelアドベントカレンダー12日目の記事です この記事は、Laravelアドベントカレンダー2018の12日目の記事です。 qiita.com 読者対象 PHP、Laravel初心者。 Laravelにプルリク出してみたい人。 初心者PHPerです! はい!私PHP歴1.5年の初心者です! そんな…
この記事はなに? 個人サイトを作るときになにをしたかを書いてるよ。 似た手順を踏めば、いつか私のサイトと似たレベルなら作れるかも? 前回 GCPでいろいろ頑張った www.nyamucoro.com 今回のゴール 前回でLaravelのTOPページが出たので、 ここまで。 何を…
個人サイトを作ってみよう http://nyamucoro.com/nyamucoro.com ってことで、作ってます! その過程でなにをしたかを少しずつ書いておきます! こんな感じに作ったのかーとか、これじゃまずくね?みたいなご指摘とか。 ほっこり楽しんでもらえると嬉しいです…
モデルでクエリビルダ? モデルのクラスって、テーブルのレコードをオブジェクトにしたようなイメージでした。 でも、以下のようなコードを見ることがあると思います。 User::select('id')->first(); あれ?selectってクエリビルダだよな・・・ このUserって…
こんなとき プログラムで、テストを書こうと思った。 \Validator::make($data, [ 'email' => 'unique:users,email', ])->fails(); これ、Validatorのmakeをモックしたとしても、その後のfailsもモックできていないと、うまくテストできない。 makeとfailsを…
こんなとき class Hoge { public function fuga() { return app('some_class')->someMethod(); } } class SomeClassProvider extends ServiceProvider { public function register() { $this->app->singleton('some_class', function () { return new SomeCl…
こんなとき使う テスト対象の関数で、以下のように新しいインスタンスが作成されてる。 class Hoge { public function fuga() { return new SomeClass()->someMethod(); } } 作成されたSomeClassのsomeMethodを、どうにかしてモックしたい。 overload テスト…
ファサードをモックしようとした テストを書こうと思って、ファサードでモックしようとした。で、こう書いたら・・・ $mockClass = Mockery::mock(‘Validator’)->shouldReceive(‘make’); エラーがこれ Cannot redeclare Mockery_0_Illuminate_Support_Facade…
注意 メモです。 こんなふうにコード書いていきたい(願望) 慣れたらサイト作って、それをgithubに上げたい(願望) リポジトリ class XxxRepository implements XxxRepositoryInterface { } リポジトリを呼び出すサービス class XxxService { private $xxx…
注意 リポジトリパターンを学び始めの初心者なので、これが当たり前!って感じではないです! 合ってる!間違っている!等ありましたら教えていただけると嬉しいです! 一旦理想を考える 以下、ServiceとRepositoryで呼び出しの理想形を書いてみる。 Service…
こんなときに使う ページ見に来た。 リクエストの情報を使って、コントローラーを動かしたいけど、 コントローラーを動かす前にちょっとデータを操作したい。 Viewの内容を毎回ちょっといじるとか。 毎回コントローラーに同じ処理をするとか面倒だしね。 ど…
こんなときにつかう protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'bindings' => \Illuminate\Routing\Middleware\SubstituteBind…
注意 初心者が本番サーバーを用意するために書いたコマンドです。 これで動くものを作れるとは思いますが、セキュリティ周りとかをよく知っていない人のコマンドなので、 これを使うときは、お近くの知識がしっかりしてる方に確認とかしてみてくださいね! G…
環境作ったらmigrateができなかった PHP+MySQLで環境作成したら、動かない。 マイグレーションしようとすると、PDOのエラーが出る。 デフォルトのパスワード認証のやり方が変わって、 caching_sha2_passwordって設定だから、接続できないよーって。 なので、…
■注意 コードは5.2のコードです。ですが、そんなにバージョン上がっても変わってないはずです。 ■結論 基本的にcreateで大丈夫 ■違い 1.createはどうせfill通るので、fillableやguardedの部分は両方使う 2.createは、静的メソッドで、以下までしてくれる 1. …
これまでの流れ ■バグ発見 【Laravel5.6】cacheヘルパ関数で、テストのshouldReceiveが動かない対応【327日目】 - エンジニアのひよこ_level10 ■こんなふうにプルリク作って githubの他の人のコードにプルリクを出すときの流れ【328日目】 - エンジニアのひ…
プルリク出したので 経緯とかまとめてみる。こんなことあったよー褒めてーくらいの記事です。 ただ、教訓となったのは、 『『『自動テストってまじで大切!!!』』』 問題となった内容 willow710kut.hatenablog.com cacheのhelper関数おかしくないかな?っ…
結論 cache('key')を使った場合、withの中身を with('key', null)にする。 サンプルコード public function testBasicExample() { Cache::shouldReceive('get') ->with('key', null) ->andReturn('value'); $this->visit('/cache') ->see('value'); } 公式ド…
こんな時 コントローラー側で変数を渡す時、この変数がない可能性がある・・・ あるいは、バリデーションで $errors変数を受け取る可能性がある時。 こうする @isset($errors) bladeに @if(isset($errors))って書かなくても、bladeでこの書き方があります。
ユーザーにファイルをダウンロードさせたい http://domain_name.com/storage/images/upfile.jpegで画像が出るものをダウンロードさせたい。 return response()->download('/storage/images/upfile.jpeg'); あれ?なぜか動かない。 最初のスラッシュは不要 re…
こんな時 LaravelでCookieを付与したい。 (この保存方法だけでは、暗号化された状態で保存されます。なので、ユーザーは内容がわからないです。) 書き方 return response() ->view('blade_file_name') ->cookie('cookie_name', 'value', 30); 何をしてるの b…
前回の記事 willow710kut.hatenablog.com 使ったページ やったこと Postで、messageにteatをつけて送った all() 結果 _token=>p899Z1NqmQpIQW1KTeG06EPXCMVz19oGdn4myVv6 message=>teat _tokenは、LaravelでPostを送るときに必要な {{ csrf_field() }}で生成…
こんなときに使うRequest フォームがあって、入力して、ボタンを押してpostリクエストを送る。 このリクエストの中身を使ってどうこうするときの関数。 サンプルページを作って、流れも合わせて説明。 リクエスト元ページ http://localhost:8000/request と…
こんな時 ページのヘッダーはどのページでも同じものを使うことよくありますよね。 こんな時、毎回コピペするのは面倒。 そんな時はこんな構成にしましょう。 使い回すテンプレート web/study-laravel/resources/views/_layouts/default.blade.php <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </meta></meta></head></html>
こんなことがありました。 docker-composeで管理、nginx+php-fpmで環境構築しました! Laravelのチュートリアルページ表示されました! ・・・favicon.icoが反映されない? public/app.cssや、public/app.jsが読み込めない・・・ 起こってること phpは、ngin…
こんなことありませんか 新しくLaravelのプロジェクトをgit cloneしてきたよ! えっと、localhost:8000に行けばいいんですね! ・・・あれ?動かないんですが。 エラー例 whoops looks like something went wrong. Warning: require(xxxx/vendor/autoload.ph…
こんな時 Laravelのバリデーションを作る。 その時のエラーに応じて処理をしたい Request側 省略。 Controller側 public function index(XxxRequest $request) { xxxxxx } 該当のバリデーションをかけたリクエストを用意する。 View側 @if (count($errors) >…
普通のページなら phpの普通のページだと、URLは https://domain.jp/hoge/huga.php のように、phpをつける必要がありました。 では、なぜLaravelはそれが必要ないのでしょう。 必ずindex.phpを開いてるから これはURLがなにであろうと、ドキュメントルートの…