サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
laraweb.net
Webプログラマーといえど、実際にはロジック部分だけ触っているわけではなく、フロントエンド(CSS)も触ります。 そこで、つまずくのが CSS のプロパティ名の付け方。 Laravel ではコントローラやモデルの命名規則がありますよね。 命名規則について 同様に CSS のプロパティ名も命名規則があります。 最もメジャーな CSS の命名規則といえば、BEM という記法になります。 今回は、CSS の命名規則(BEM記法)についてエントリーします。 BEM記法 Block Element Modifier の略で、Webサイトのコンポーネント化のための厳密なClass命名規則です。 Block:大枠となる独立した要素 Element:Blockを構成する要素 Modifier:基本のスタイルから派生させる場合に追加 の3つで構成し、CSSのプロパティ名を命名します。 BEM という名前は上
事前準備 Hyper-vの有効化(Windows Pro) Dockerのインストール前に Hyper-v という仮想化機能を有効化する必用があります。 この機能は Windows Pro系にしか導入されていないみたいで、その他の場合は VirtualBox などほかの仮想化技術の導入をする必用があります。 Hyper-v の有効化については以前、記事をエントリーしていますので、よかったら参考にしてください。 Windows 10 proでHyper-Vの有効化 フォルダ構成 ディレクトリ構成にルールはありませんが、今回は下記のようにわかりやすい形で構成します。 事前にディレクトリとファイル(※中身は空でOK)を作成しておきましょう。 各種ファイルを編集していくので、このフォルダ構成のルートディレクトリを丸ごと PhpStormなどで開いておくと楽です。 今回のゴール とりあえず、Lara
みなさんはLaravelを使ってPHPのソースコードを書くとき、どのようにコメントを書くでしょうか?覚書きに程度に使用はしていませんか? プログラミングにおけるコメントの書き方はとても重要です。 きちんとしたコメントの書き方をすれば、一見複雑な処理でも処理内容がすぐに分かるようになります。 そのため、厳密にコメントを記載することをルールとしている企業もあります。 今回はPHPにおけるコメントの書き方(主にPHPDoc)についてエントリーします。 「コメント」と「コメントアウト」は意味が少し違います。 コメントアウトはソースコードをコメントすることで、プログラムを無効化することを指します。 1. ドキュメントコメント(DocComment)の書き方 PHPでのコメントの書き方には4種類あります。 一行コメント シェバン(shebang) 複数行コメント ドキュメントコメント(DocCommn
前回、Laravel6 のメールドライバに Amazon SES の設定をしました。 Laravel6 にメール設定(Amazon SES編 その2) ただ、このままだと受診者のメールアドレスが検証済みでないと、そのユーザーにメールを送信することはできません。(※サンドボックスモード) 実際に不特定多数の受信者へ配信できるようになるには、サンドボックスから抜け出る申請をしなくてはなりません。 つまり、以前作成したログイン認証機能の「パスワードリセット通知」機能が使えないわけですね。 Laravel6 ログイン認証機能デモ 今回はこの制限を解除するために「Amazon SES 制限解除申請」をやってみます。 手順 1.送信制限解除申請 SES Home ->「Sending Statistics」->「Request a Sending Limit Increase」 2.解除申請を送るフォ
セッションとは、データを保存しておく仕組みのことで、リロードしたり複数ページにまたがってもデータは消えません。 以下のようなシステムでセッションが使われています。 アクセスカウンター ページが切り替わっても、アクセス数はリセットされずどんどん加算されます。 ログイン機能 ページが切り替わっても、ログイン状態はキープします。 ショッピングカート ページが切り替わっても、商品はカートに入ったままです。 PHPでプログラミングしたことがある人は聞いたことがあると思います。 今回はLaravelでsessionを扱う方法についてエントリーします。 使い方 Laravelでセッションを操作するには、主に3つの方法があります。 違いは特にありません。ただ、HTTPリクエストから送られたデータをそのままセッション値へ保存するならRequestインスタンスを経由したやり方の方が便利です。 Requestイ
- デバッグを制す者は、プログラミングを制す - プログラマにとって必須のスキルがデバッグ作業です。 これを知らないとずっとバグと闘い続けるはめになり開発効率が上がりません。 Laravel の書式を覚えることも重要ですが、同じくらいデバッグのやり方を覚えることも重要です。 Laravel ではいくつかデバッグ方法があるので、今回はそれを紹介します。 INDEX ログファイルに書き出す laravel においてログ出力のやり方は主に2つあります。 ヘルパー関数 logger() Log ファサード このブログでは主にlogファサードの方を紹介します。 Logファサードを使ったロギング(ログを記録すること)は以前エントリーしました。 Laravelでのデバッグのやり方について(Logファサード編) Eloquent & クエリビルダの返り値をロギングする場合 $findData = $Use
ここでは「Laravelローカル環境構築(Docker)」シリーズで構築したコンテナの立ち上げ手順について解説します。 毎回、プロジェクトの開発をはじめる際に、ルーチンワークとして実行するコマンドになります。 Laravelローカル環境構築(Docker その①) Laravelローカル環境構築(Docker その② ~ DB設定+phpMyAdmin ~) Laravelローカル環境構築(Docker その③ ~ Authの実装+Node.js ~) Laravelローカル環境構築(Docker その④ ~ メール送信の設定+MailCatcher ~) 基本の流れ 1) カレントディレクトリの移動 基本的に docker-compose を使っているプロジェクトでアプリケーションの各コンテナを立ち上げる場合、まずは docker-compose.yml がどこにあるのかを確認します。
Laravel に限らず WEB の開発ではよくテーブル間を結合してレコードを出力します。 Laravel ではクエリビルダーの JOIN メソッドを使います。 ほとんどは内部結合を利用すると思うのですが、外部結合についてもきちんと理解しておく必要はあります。 いざ大規模なサービスを扱うとなると、このあたりを知っておかないと適切な条件を書けないことになるからです。 今回は外部結合と内部結合についてのエントリーです。 結合について WEBの開発においてAテーブルとBテーブルを合体させて検索して表示させることはよくあります。 これを結合と呼びます。 結合には内部結合と外部結合があります。 内部結合と外部結合 例)部署テーブル(depts)と従業員テーブル(employees) テーブルの構造 各テーブルのレコード 【 注意 】 従業員テーブルのレコードで一番下に「徳川 家康」というレコードがあ
Laravel プロジェクトを作成すると、自動でgitignoreも作成されます。 デフォルトで記述されているディレクトリ・ファイルは以下のようになっています。 /vendor /node_modeules /public/storage Homestead.yaml Homestead.json これらは最初から管理対象から外されます。 しかし開発を進めていくと、途中から上記以外にも管理対象から外したいファイルが出てきます。 この場合、gitignoreに追記するだけでは足りません。 作業ツリーに残ったままになってしまうのです。 今回はそんなケースについての対応をエントリーします。 ユースケース Git でバージョン管理していたファイルを残したまま追跡の対象外にしたい。 しかし既に管理対象になっているファイルは、後から.gitignoreにファイル名を追加しても変更の追跡が継続される。
変数名(name や gender)はダブルクォーテーション( " )で囲みます。JavaScript ではシングルクォーテーション( ' )で囲んだり、変数名をそのまま記述することができますが、JSONではダブルクォーテーションのみです。 オブジェクト JSONの多くの場合、次のように「キーと値」のペアで成り立っています。 「キーと値」は "キー":"値" というようにコロン(:)で区切られます。 そして、ペアとペアの間はカンマ(、)で区切られます。 全体は {...} で囲まれます。 この {...} をオブジェクト(形式)と表現します。 { // 以下オブジェクト "user_info": { "name": "山田 太郎", "gender": "男", "mail:": "yamada@test.com" } // オブジェクトEnd } 配列 値を角括弧( [...] )で囲み
artisanコマンドで自動生成するのではなく、自作で認証機能を作成します。 http://laraweb.sakura.ne.jp/article/user/signin 【ベーシック認証】id:laraweb / pass:laraweb 【動作確認用ログイン認証】id:test@laraweb.net/pass:test 認証画面の自作 ~イントロ~ 認証画面の自作 ~新規登録~ 認証画面の自作 ~ログイン~ 認証画面の自作 ~認証・ログアウト処理~ 認証画面の自作 ~プロフィール画面の作成~ Laravelでソーシャルログイン 簡易バージョン ~GitHub編~ Laravelでソーシャルログイン DB登録バージョン ~GitHub編~
Google Chrome が、非SSLのWebサイトに対して警告を表示するようになりました。 今ではセキュリティ確保の点からWebサイトに常時SSLが求められるようになっています。 サイト全体を HTTPS で接続できるようにするのが、現在のトレンドです。 それに伴い、ローカル環境(Windows for XAMPP)でもSSLの環境が必須になってきました。 今回は、ローカル環境でSSLを有効にする内容をエントリーします。 現状 バーチャルホストで設定しています。 httpd.conf C:\xampp\apache\conf\httpd.conf の末尾に追記 : <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/ssl/public ServerName dev.ssl </VirtualHost> hosts C:\Windows\S
前回までLaravelのSMTPにGmailのサーバを設定していました。 今回はさくらレンタルサーバのSMTPを設定したいと思います。 手順 【1】さくらのコントロールパネルで送信用メールアドレスを作成 【2】.envファイルの修正 【1】さくらのコントロールパネルで送信用メールアドレスを作成 1)さくらレンタルサーバの「サーバコントロールパネル」にログインします。 2)メールアドレスの管理 => メールアドレスの追加 でメールアドレスを作成します。 【2】.envファイルの修正 //メールドライバー(メールの送信手段)を設定する。 MAIL_DRIVER=smtp //メールサーバのホスト名またはIPアドレスを設定する。 MAIL_HOST={アカウント}.sakura.ne.jp //メールポートを設定する。smtpを使用する為、"587"を設定する。 MAIL_PORT=587 //
PHPフレームワーク Laravel入門 第2版 僕がはじめてLaravelを学習するために参考にしたサイトは、掌田津耶乃(しょうだつやの)さんの libro というサイトです。当時(2016年)、Laravel学習サイトの中でもこのサイトは群を抜いてわかりやすく説明されていたので、とても勉強になったのを覚えています。この本は掌田津耶乃さんが書いた本なので、わかりやすく解説されているだろうと kindle で購入しました。2020年8月の時点でいうと日本国内にて唯一の Laravel の良書と言っても良いかと思います。口コミでもLaravel本のロングセラー定番解説書として認知されています。当サイトではチュートリアル形式でLaravelを解説しているので、初心者の方はこの本とセットで学習されるといいと思います。しかし、かなりわかりやすく解説されているとはいえ、PHP中級者以上のスキルは必要
Laravel ではマイグレーションという便利な機能(データベースを管理する機能)が用意されています。 カラムの追加や削除はマイグレーションファイルで行います。 マイグレーション(新規作成) マイグレーション(更新作業) しかし、毎回、書き方を忘れてしまうんですよね。 そんなわけで、今回はマイグレーションファイルにおけるカラムの設定についてまとめました。 INDEX 書式 基本 例:nameカラムのデータ型を 「varchar」 に設定 $table->string('name'); カラム属性の変更 chengeメソッドは存在するカラムを新しいタイプへ変更するか、カラムの属性を変更します。 例:nameのカラムのサイズを25から50へ変更 $table->string('name', 50)->change(); 例:さらにNULL値を設定可能にする $table->string('na
VirtualBox + Vagrant で仮想マシンを構築するにはBIOSの設定でVT-x(仮想化支援機能)を有効にする必要があります。 今までBIOSの設定をいじったことがない人はちょっとハードルが高いかもしれません。 BIOSへの入り方をネットで調べると、ほとんどはメーカーロゴ画面、マザーボードロゴ画面で[F2]キーか[Delete]キーを連打すると入れるそうです。 ただ、僕の使用しているHPのcompaq Elite8300のPCは[Esc]キーもしくは[F10]キーでした。 パソコンのメーカーによって、多少の違いがありますね。 VTcheckerについて まずは自分が今使っているPCのVT-xが有効になっているか確認してみましょう。 VirtualCheckerという確認ソフトを使うと簡単に確認できます。 VirtualChecker.exeを起動してみてください。 「無効」の表
以前、Vue.js についての記事をエントリーしました。 Vue.js 入門(用語・文の構成の解説) 今回は Laravel の Blade から Vue のコンポーネントにデータを渡してみます。 演習 クリックすると Vue のコンポーネントで設定した関数が実行されるサンプルを作成します。 Laravel の Blade 上で行います。 デモサイト 前提条件 コントローラやルーティングについての説明はしません。 既にこれらの記述は終わっているとします。 手順 Vueの読み込み 最初に触ってみる程度であれば CDN での読み込みが一番早いです。 html のヘッダ部に下記を追加します。 : <head> <meta charset="utf-8"> <title>sample</title> <script src="https://unpkg.com/vue"></script> </h
Laravel の開発に限らず、動的サイトを作成するなら、DBのテーブル間のリレーションを考えることは必須です。 そこで頻繁に出てくるキーワードが「外部キー制約」という仕組みです。 参照整合性を保つための便利な仕組みなのですが、開発初期のときは邪魔だったりします。 (※外部キーが多すぎてテーブルが消せなかったり。。) 外部キーについてはあまり意識して使ったことがなかったので、この問題にハマってしまいました。 今回はMySQLにおける外部キー(FOREIGN KEY)に関してのエントリーです。 ※なお、今回の記事ではMySQLコマンドを多用します。コマンドがあやしい方は以下をご参考ください。 MySQLコマンド(早見表) 外部キー(FOREIGN KEY)とは 外部キーとは他のテーブルのデータに参照(依存)するようにカラムにつける制約のことです。 外部キーを設定すると、関連するテーブル間の整
Laravel で DB を操作するとき、よくクエリービルダーを使ってクエリを発行します。 開発を進めていくにあって、実際に実行される SQL の内容を確認したいことってよくあります。 そんなときに利用するのが toSqlメソッド です。 今回は Laravel での SQL の確認の仕方についてエントリーします。 toSqlメソッドの使い方 例)「users」テーブルの "男性" のユーザー一覧を取得 クエリービルダーを使ってデータの一覧を取得するときはgetメソッドを使用していました。 $users = DB::table('users') ->where('gender', '男性') ->get(); このgetメソッドのかわりにtoSqlメソッドを使います。 $users = DB::table('users') ->where('gender', '男性') ->toSql()
Artisan とは Laravel 専用のコマンドです。 アーティザンと読み、『職人』という意味だそうです。 Artisan コマンドを実行すると Laravel のコントローラやモデルのひな形の作成、マイグレーションの実行など行えます。 Windows 上で実行するならコマンドプロンプトで操作します。 Artisan コマンドは、Laravel プロジェクトのルートディレクトリで実行します。 cd C:\xampp\htdocs\ { Laravelプロジェクト } php artisan { artisanコマンド } INDEX
フォームで入力したデータをもとにインスタンスを生成して BMI の計算をします。 その後、計算結果を表示させます。 手順 【1】Bootstrapの作成 【2】入力フォームの作成 【3】class の作成 【4】インスタンスの生成 【5】BMI計算結果を表示 【6】動作確認 【1】Bootstrapの作成 CDNでBootstrapを組み込みます。 まずはひな形を用意します。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>ページタイトル</title> <
Laravel は内部のキャッシュを強く残す性質があるので、Apacheを再起動しても修正したプログラムが反映してくれないことがよくあります。 そんなときは、Artisanコマンドのキャッシュクリア系や最適化のコマンドを実行します。 Artisanコマンドのキャッシュクリア系のコマンドや最適化のコマンドはいろいろあるのですが、今回はそれをまとめてみました。 コマンド早見表 設定ファイルのキャッシュを作成 php artisan config:cache
ビューの作成(Bladeの使い方) https://laravel.tokyo/bootstrap-tmp Bootstrap4 スターターテンプレート Blade 使い方(早見表) Bladeのレイアウト定義 入力から確認画面までの流れ フォームの作成 リクエストの作成 バリデーションの作成(HTML) バリデーションの作成(Laravel) Laravel リクエスト処理(入力画面から確認画面へ) 入力フォームからDBに挿入の流れ https://laraweb.sakura.ne.jp/article/insert 【ベーシック認証】id:laraweb/pass:laraweb フォーム(入力画面から確認画面)の作成 DBのテーブル作成 DBの操作について(挿入) DBの操作について(一覧表示&ページネーション) 入力フォームからメール送信の流れ https://laravel.t
このようなエラー(例外)が発生しても正常にスクリプトが動作するようにすることを例外処理といいます。 構文 例外処理の構文は以下のような書式になります。 try { // 例外が発生するおそれがあるコード } catch(例外クラス名 例外を受け取る変数名){ // 例外発生時の処理 } catch() で例外を検知します。 catch() の引数には例外クラスを置きます。 PHP にはデフォルトで Exception という例外クラスが用意されています。 catch の引数にはこれを使うか、もしくは Exception クラスを継承した子クラスを指定します。 例えば、warizan という関数の例外を検知する場合は以下のような記述になります。 例外処理 try{ echo warizan(6,0); }catch(Exception $e){ echo "エラー:" . $e->getMe
今回のチュートリアルではLaravelで画像のアップロード機能を作成してみます。 このページではまず最初のステップとして簡易版を作成します。 もう少し機能を付け加えたものは次回作成します。 前提知識 画像アップロードの機能をつけるうえで必要な知識は以下になります。 file_exists関数(PHP) file_exists関数はファイルの存在チェックをするメソッドです。 表示画面で、その画像があるかないかの判定で使います。 if ( file_exists( $_SERVER['DOCUMENT_ROOT'].'/temp/test.txt' )) { echo "ファイルが存在します。"; } else { echo "ファイルが存在しません。"; }
1)リポジトリの作成(git clone) git clone コマンドを使って公開サーバにリポジトリを作成します。 1.さくらレンタルサーバーにSSH接続 2.ホームディレクトリに移動 % pwd /home/laraweb 3.git clone コマンドの実行 % git clone https://laraweb@bitbucket.org/laraweb/crud.git crud 2)シンボリックリンクを作成 Laravel プロジェクトにある public ディレクトリをさくらの公開ディレクトリ( /home/laraweb/www/crud )へシンボリックリンクを貼ります。 1.ディレクトリを作成 % pwd /home/laraweb/www % mkdir crud 2.public の中身 ⇒ www へ移動 % pwd /home/laraweb/crud/pub
Laravelには Laravelデバッグバー という便利なLaravel専用のデバッカーがあります。 Laravelデバッグバーを入れるとデバッグ作業では重宝するので入れることをお勧めします。 Laravelデバッグバー を使ったデバッグ方法 今回はlaravelデバッグバーについてエントリーします。 演習 ローカル開発環境にてLaravelデバッグバーを入れる。 (※本番環境で利用するのはやめましょう) 手順 1)composer で Laravel デバッグバーをインストール barryvdh/laravel-debugbarというパッケージを入れます。 Laravelライブラリの追加方法 まずは composer でインストールします。 $ cd { laravel-project } $ composer require barryvdh/laravel-debugbar
よくLaravelの特徴の一つとしてあげられるファサード。 簡単に独自クラスのメソッドを呼び出せるようにした機能です。 Route::get('facade/practice1',function(){ return Utility::getMessage(); }); Utility::の部分がファサードになります。 例えば、UtilityクラスのgetMessageメソッドに複雑な処理を持たせている場合、ファサードを使わなければロジックをここに長々と書かないといけません。 なるべくロジックの記述を奥にしまいこんで、簡潔にクラスのメソッドを呼び出すようにするのがファサードの役割です。 Laravelが広く受け入れられた理由の一つにファサードがあるので理解しておくべきでしょう。 今回はこのファサードについてエントリーいたします。 ファサードとは ファサードは クラスメソッド の形式でサービ
DBの変更についてはXAMPPについているphpMyAdminでもできます。 ただLaravelを使っているならマイグレーション機能を使ったほうが保守の面で便利になります。 今回はDBテーブルのカラムのデータ型をマイグレーション機能を使って変更してみます。 やりたいこと 'path'カラムのデータ型を varchar(255) 型からtext型に変更 手順 【1】“doctrine/dbal” パッケージをインストール 【2】マイグレーションファイル作成 【3】マイグレーションファイルの編集 【4】 マイグレーション実行 【1】“doctrine/dbal” パッケージをインストール カラム名変更には“doctrine/dbal” パッケージが必要になります。 composerでインストールします。 composer require doctrine/dbal 【2】マイグレーションファイ
次のページ
このページを最初にブックマークしてみませんか?
『Laravel学習帳 - はじめてのLaravel入門サイト -』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く