サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
qiita.com/kd9951
【月額400円~】安くてカンタンが売りの Amazon Lightsail に Laravel 環境を構築して最安運用する手順 TL;DR AWSでLaravelするのに必要なコストは 400円/月。 月額$3.5のLightsailインスタンス1台に、PHP/LaravelとMySQLを入れる手順です。 インストールの待ち時間を含めて 20~30分くらい Amazon Lightsail とは? 最安値AWS。EC2を1台使うより安い。 レンタルサーバーと同じ価格帯で使える VPS。 AWS史上最もカンタンにサーバーが立ち上げできる。EC2やRDSの構築をカンタンにしたBeanstalkよりもさらにカンタン。 あの転送料も完全コミコミプラン。「AWSは従量課金だから実際使うまで料金がわかんないよね」がない。\$3.5と言ったら \$3.5以上取らない。※注:上限はあります EC2やRDS
目的 Laravelのバリデーションについてはいろんな記事がありますし、自分もいくつか書きましたが、意外と「仕組み」や「全体像」についての解説記事がないので、いっちょ書いてみるか、という穴埋め係根性でまとめた、勉強用の資料です。 公式ドキュメントに「いくつかの方法」が書かれているけど、なにが違うのか? 独自ルールの追加方法もいろいろあるけど、どこに書いたらうまく管理できるのか? なんとなく書き始めたけど、気づいたらカオスになっていた…。 そんな半年前の自分のような方に贈ります。 目次 こんな内容で構成されています。 基礎編 HTML INPUT フォームを送信したら、入力値とエラーが表示されるまで CONTROLLER バリデーションを実行する3つの方法 INSIDE VALIDATOR バリデータ本体は例外を飛ばすだけで、偉いのはエラーハンドラ 応用編 CUSTOM RULE 一括でテス
探せば良いドキュメントはたくさんありますが、ハマった上になかなか検索ワードにヒットする記事が見つからなかったので、スキマを埋めるためにあえて書きます! なにがしたいか? 例えばこのようにした時、 composerさんは自動的に「最新バージョン」のphpunitを取ってきてインストールしてくれますが、プロジェクトの本番環境がなんと今更PHP5.3.3だった、PHP5.3.3に対応したphpunitが欲しいんだ!というケース。 結論 config.platform を書く composer.json に下記の通り書きます。 ※便宜上コメントを入れていますが、JSONなので実際にはコメントは書けません 解説 composer は composer を実行した環境に入っているPHPのバージョンを見ている 最初の composer require phpunit/phpunit を実行したとき、プロ
エラー画面やAPIエラーから独自エラーまで! フローチャートでちゃんと理解するLaravelの例外処理とケーススタディPHPLaravelexceptionlaravel5.5 TL;DR Laravel 5.5 ベース(Laravel 5.7 まで対応) フローチャートでおおまかな処理の流れと、どこでどんなことをするのかを解説します それを踏まえて「こんな時はこうする」というケーススタディを紹介 中小規模のプロジェクトにはそのままコピペで使ってもらえるベストプラクティス的なものを目指しています 実際にこれをベースにしたものが中規模業務アプリに実装されています バリデータ編もあります。 → フロー図で理解するLaravelバリデータの仕組みと、チーム開発でのケーススタディ 動機 個人的にエラー処理の仕組みを理解するために書いたチャートです 自分で勉強しようとしたとき、Laravelのエラー
なにがしたい? APIなのにHTMLエラーが出る APIは、ブラウザで開いてもJSONで返して欲しい WEBとしても、APIとしても、さらっと動くLaravelさん。コントローラでは、WEBはHTMLで、APIはJSONで返すように、コードを分けていることが多いと思いますが、例えばエラーが起きたらどうしていますか? JSONなのに、HTMLのエラー画面が返ってきたりしていませんか? 実は、Laravelは、特に何もしなくてもうまいことやってくれます。 リクエストされているのがHTMLなのか、JSONなのかを自動的に判断して、WEBならHTML、APIならJSONでエラーを返します。 でも、例えば、APIのエンドポイントをWEBブラウザから試験的に開こうとすると、Laravelは WEBモードだと判断して、エラーハンドリングの挙動が変わります。 そうじゃなくて、APIは何が起ころうと、JSO
これはなに? 標準で多種多様なルールを用意してくれているLaravelのバリデータ。 中にはすごい高機能なものもありますが、そういうのは良いんですよ、ドキュメントをよく読むと思うので。 でも、一見カンタンでわかりやすいはずなのに、微妙に挙動が「思ってたんと違う」というものがあります。 そんな「当たり前だと思っていたルール」を、実際に動かしてみて、結果をまとめてみました。 すべてのバリデーションルールは対象にしていません……。 公式ドキュメントはコチラ Laravel5.6 バリデーション 参考記事 Laravelのバリデーションで指定できる内容をざっくりまとめ直しました。 いつもお世話になっています(^^) Laravel Validation メモ やりたいことが先に来ているので 具体的にどう使うかのイメージを掴むことができます。 フィールドの有無(存在系) 最もよく使い、みなさんもよく
Laravel でデータベースの1行をカンタンにコピーする方法はありませんか? はい。あります。 こちらに。 http://stackoverflow.com/questions/34257741/laravel-copy-record-and-duplicate-with-new-values なのですが、意訳と補足をさせていただきます。 【基本】->replicate() を使う $oldrow = MyModel::find($id); $newrow = $oldrow->replicate(); $newrow->some_column = 'new data'; $newrow->save(); これが基本形です。 なのですが、ちょっと疑問が幾つか……。 id は更新しなくて大丈夫なんですか? ついつい、以下のようにやりたくなります(上記のサイトでもやってます)。でないと、同じ
class MyService { } class MyController { // コンストラクタ public function __construct( MyService $service ) { $service; // 使える! } } $controller = app()->make('MyController'); この解釈は僕がサービスコンテナの大事なところを理解するのにとても役に立ち、長いこと謎だった「コンストラクタインジェクション」を楽に扱えるようにしてくれました。 app()->make() は new と同じ。おまけとして、コンストラクタに書いたクラスのインスタンスを自動で作ってくれるんだって。話がややこしかったのは、そのおまけが強力すぎた、というだけの話で......。
なにがしたい? Laravelは「ディレクトリ構成が自由」と言われますが、それはネームスペースで管理されるクラスとそのPHPファイルのお話なんだと思います。 そうではなくて、Laravelフレームワークのシステムファイルや重要なデータが入っていそうな「標準のディレクトリ」≒「小文字のディレクトリ」は変更できるのでしょうか? 変更できるでしょ? やっといてね! というご要望を、最近ちらほら頂いたので、ざっくりまとめてみました。 仕様 変更できるかできないのか? にパッと答えられるようにするもの 詳しい変更方法は別の記事か、Google先生におまかせします 調査方法は主にLaravel5.5/5.6のソースコードをチェック ざっくりしていますので、ヌケモレ間違いがあるかもしれません。気づかれましたら、ご指摘いただけるとありがたいです。 参考 ディレクトリ構造(Laravelドキュメント) La
注意点 1回のリクエストをまるごと BEGIN と COMMIT で囲うので、その中の処理の途中で BEGIN や COMMIT を使っている既存システムにはうまく載らないかもしれません。 ていうかそもそも、1回のリクエスト内の処理数はできるだけ減らしましょう。 DB::beginTransaction() はコネクション単位なので、複数のコネクションを使用しているシステムでは、それなりの工夫をしてください(投) エラーログやセッション情報など、エラーが起きても残しておきたい情報は、それを逆に利用して、コネクションを分けると良いかもしれません。詳しくは後述。 ミドルウェアの適用順序次第でうまくいくよ!というのはLaravelのミドルウェアの設計思想に反する気がするので非推奨としたい(´ε` )。順番に依存するミドルウェアはご容赦ください。 解説 データベースの「トランザクション」とは? デ
第1回 もう怖くない DIだって知らなくていい こんなにカンタンだから今日から Laravelのサービスコンテナ を使ってみて!PHPLaravelDIサービスコンテナ 第1回 サービスコンテナ 「それは新しい new だった」 第2回 サービスプロバイダ 「シングルトンはたった1行」 第3回 結合 「なんでもツッコんで気軽に取り出す」 それは新しい new だった そういえばちゃんと学んだことがなかったサービスコンテナ。 正直、ずっと、知らなくてもなんとかなるしまぁそんなのもあるよね、あーここはどうしてもそういうのがいるからとりあえず動く程度には使っておくか、という「軽いおつきあい」程度でした。 そもそも公式のドキュメントが何言ってるのか全然わかんない。 DIってなに?(書いてない) サービスプロバイダのこと?始めるのに手順が多くてしんどい……。 と思っていましたが、改めて学んで整理して
WEBサービス立ち上げ2周年を迎えたGWに、記念に書いたものです(^^) 長いけどお付き合いいただけると幸いです。 TL;DR 転職時のポートフォリオに「こんなことできます」と書くためにWEBサービスを作った 最新のいろんな技術を実践的に学ぶことができスキルがメキメキ上がった 就活どころか、新たな出会いとチャンスが生まれて、これはもしかしたら…………。 想定読者様 WEBサービスを立ち上げたい人 WEBサービスを立ち上げるのに、プログラム以外にどんなことをするのか具体例を知りたい人 まぁそれはそれ、1つの例としては参考になるよね、と割り切っていただける方 今回はごめんなさい…な読者様 転職したい人。……釣りタイトルですみません、転職ノウハウな話は出てきません。 WEBサービスを立ち上げて独立したい人。……すみません、独立していません。 WEBサービスを立ち上げて収益をガンガン上げていくノウ
「WEB公開と言えばFTP」世代に贈る Windows + SourceTree で Heroku を使おうとして悪戦苦闘した話PHPWindowsGitHerokuSourceTree Windows から Heroku を使いたい。 PredictionIOが使いたかったんです。人工知能ですってよ。ECには欠かせないレコメンデーションエンジンが作れるんだってよ。そんな言葉に踊らされて「でもね、実質 Heroku じゃないと使えないよ」という警告を軽く考えて手を出してみた Heroku。 しかし、全然わからない! なにこれ。ファイルのアップロードどうやるの? デプロイしたファイルはどこに格納されてるの? どうやって編集するの?! そんなこんなで約1年放置して、いい加減クローズしようと思って触り始めたら、その間に蓄えられた知識と経験で、案外すんなり使えてしまったのです。 ここんとこ、始める
Wordpressのコンタクトフォームと言えば、検索順位でも人気でも間違いなくNo.1なのが Contact Form 7。いまさら説明の必要もない、日本を代表するプラグイン。なのでドキュメントも充実!と思いきや、意外と欲しい情報に対するまとまったドキュメントがなかったので、せっかくなのでまとめさせていただきます。 テーマは、ひらがな判定、電話番号の桁数判定、はたまたAをチェックしたらB必須など、様々なカスタムバリデーションをどう書くか!? その1つのご提案です。 公式ドキュメント https://contactform7.com/2015/03/28/custom-validation/ え、英語だ!! 結論 使用しているテーマの、functions.php に書きます。下記がそのサンプルです。 /* ContactForm7 のカスタムバリデーション */ add_filter('wp
複合チャートが描きたい 棒グラフと折れ線グラフを1つのチャート内に表示したりするアレが描きたかった。英語ではMixed Chartって言うんですかね。Google Chartではわりと以前からできていたようですが、Chart.jsでは、Ver.2.0(2016/04リリース)からの新機能だそうです。 このコンテンツでは、このグラフを作ります。 chart.js の基礎 この章は chart.js を使ったことがある人は読み飛ばしてください。 chart.jsとは WEB上にグラフを描くための、Javascriptライブラリです。 詳しくはググってください。実はあまり知りません。げふげふ……。 Ver.2 ってどうやって使うの? いきなりコケたんですが、上記公式サイトのGet Started!で始めると、Node.jsで使うことが前提になっていて、ふつうにWebブラウザ上への組み込み方が出て
このページを最初にブックマークしてみませんか?
『kd9951 - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く