不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

paizaラーニング『Laravel入門編2: Laravelの動作を理解しよう (全7回)』を受講してみた

2021-02-21 13:29:28 | paiza

『Laravel入門編2: Laravelの動作を理解しよう (全7回)』


メモ

#01:データベースとルーティングを理解しよう

  • MVC:Laravelの主な機能ブロック
    - モデル:アプリで扱うデータを保持し、操作する
    - ビュー:データの表示形式を記述する
    - コントローラ:リクエストに応じて、モデル・ビューを呼び出す
    + ルーティング:リクエストを振り分ける
  • Laravelでデータベースを操作する機能
    - artisan tinker:Laravelアプリの環境を有効にしたまま、コマンドで操作
    - Eloquent:データベースのレコードをモデルクラスで処理する、O/Rマッパー
    - マイグレーション:データベースの操作を一括実行・取り消し

#02:artisan tinkerでデータベースを確認しよう

  • artisan tinkerとは:Laravelに含まれているコマンドラインインターフェイス。
    • artisan tinkerを使うと、Laravelアプリの環境を有効にしたまま、Laravelの機能をコマンドで操作できる。
  • artisan tinkerを起動する
    $ php artisan tinker
    • PHPのコマンドを実行できる
    • exitで終了(または、CTRL+Cキー)
  • 主な操作コマンド
    • すべてのデータを取り出す
      >>> Article::all()
    • 指定idのレコードを取り出し、カラムを出力
      >>> $article = Article::find(1)
      >>> $article->content
    • echo関数を使わずに、変数名を記述すると、そのまま値を出力する
      >>> $article
    • レコードを追加する
      >>> $article = new Article()
      >>> $article->content = 'Hello tinker'
      >>> $article->save()
    • 指定idのレコードを取り出し、削除する
      >>> $article = Article::find(1)
      >>> $article->delete()

#03:マイグレーションで、カラムを追加しよう

  • マイグレーションとは
    一般的に、マイグレーションとは、データベースの中身を一括して移行したり変更したりする作業のこと。Laravelのマイグレーション機能では、データベースの定義や変更を一度に行うことができる。
    • Laravelでは、データベース設定ファイルを自動生成
    • マイグレーションは、2段階で行う。まず、専用のコマンドを使ってマイグレーションファイルを作成して、それから必要な情報を修正して、データベースに適用する。
  • カラムを変更する前に、ライブラリを追加
    Laravelでカラムを変更するには、doctrine/dbalというライブラリが必要になる。
    doctrine/dbalを追加するには、次のコマンドを実行します。

    $ composer require doctrine/dbal
  • マイグレーションファイルを自動生成する
    $ php artisan make:migration add_column_username --table=articles
  • マイグレーションファイルにuser_nameカラムを追加する
    database/migrations/20xx_xx_xx_xxxxxxxx_add_column_username.phpの修正
    • upメソッド:データベースに追加する項目を指定する
      $table->string('user_name');
    • downメソッド:取り消したい項目を指定する
※ 何だろう?うまくいかない。カラムを追加できないな😞 
Web上の環境だとうまく行くんだけどな。
自分の環境だと、自分で書いたコードもpaizaからダウンロードしたコードも同じようなエラーが出て、追加できない。

#04:モデルに追加したカラムをビューで表示しよう

  • indexビューにカラムを追加
    bbs/resources/views/index.blade.phpの編集
  • showビューにカラムを追加
    bbs/resources/views/show.blade.phpの編集

#05:Laravelのルーティングを理解しよう

  • 通信方式を指定するメソッド
    Laravelでは、ブラウザとの通信にHTTPメソッドを指定する。情報を表示するだけなら「GET」を使い、情報を投稿する場合は「POST」を使っている。また、記事を削除する場合は「DELETE」メソッドを指定する。
  • ルーティングでリダイレクトを設定
    「/」にアクセスしたら、「/articles」にリダイレクトする
    • routes/web.phpの編集

#06:データベースに書き込んでみよう

  • 新規投稿のルートを追加する
    bbs/routes/web.phpの編集
    • Route::get('/article/new', 'ArticleController@create')->name('article.new');
  • コントローラに、createメソッドを追加する
    bbs/app/Http/Controllers/ArticleController.phpの編集
  • 記事一覧のビューに、新規投稿リンクを追加する
    bbs/resources/views/index.blade.phpの編集

#07:データベースから記事を削除しよう

  • ルートを設定する
    bbs/routes/web.phpの編集
    • Route::delete('/article/{id}', 'ArticleController@destroy')->name('article.delete');
  • コントローラのdestroyメソッドを追加する
    bbs/app/Http/Controllers/ArticleController.phpの編集
  • 詳細ページのビューに、削除ボタンを追加
    bbs/resources/views/show.blade.phpの編集
  • Form用ライブラリのインストールについて
    削除ボタンを追加するには、Laravelでフォームを使用する場合に必要となる「laravelcollective/html」というライブラリをインストールする。
    $ composer require "laravelcollective/html":"^5.4.0"
※ 自分の環境の場合、上記コマンドのうち赤い部分は記述しない方が良いみたいだった。多分、指定しているバージョンが古いんだろう。

認定証



学習ステータス





最新の画像もっと見る

コメントを投稿