Laravelを使えば、口コミサイト、知恵袋サイト、SNS、ネットショップなど、
あらゆる複雑なサイトが作成可能です。
そしてもちろんLaravelでブログを作る事も可能です。
というわけで、今回はLaravelでブログを作るには1からどうすればいいかの流れを初心者にもよく分かるレベルで解説していきます。(チュートリアルではなく、あくまで全体の流れを説明します。)
この流れが理解できると、Laravelで口コミサイトや知恵袋サイトの作り方も分かるようになりますよ!
Laravelでブログを作成する方法、流れ
Laravelでブログを作成する流れはこんな感じです。
- ログイン機能を設置する
- ブログ全体のレイアウト、デザインをブレード上で作成する
- 投稿フォームを作成する
- データベースを作成する
- モデル、コントローラー、ルートを設定する
そもそも、まず、あなたはLaravelでサイトを表示するまでの流れを理解してるでしょうか?
この図に出てくる、web.php, Controller.php, Model, Blade.php そしてデータベース、こういったファイルを作っていく事でLaravelサイトは動くようになってます。
→Laravelのblade.phpとは?普通のPHPは使える?初心者もよく分かる図と例で解説!
→Laravel初心者が絶望するController,Blade,Routesの関係が図解でよく分かる!
→LaravelのController.phpとは?初心者向けに図と例でやさしく解説
→LaravelのModel(Eloquent)とは?初心者でも図とチュートリアルでちゃんと分かる!
→Laravel(PHP)におけるデータベース(SQL)とは?初心者でもよく分かる図と例でやさしく解説。
それを踏まえた上で、ブログ作成の流れを解説していきます。
ログイン機能を設置する
すでにLaravelプロジェクト作成済み(サイトの元となるLaravel本体インストール済み)という過程で話していきます。
→Laravelプロジェクトとは?作成方法も含めて初心者向けによく分かるように解説!
→Laravel6のインストールのやり方。超初心者でもよく分かるレベルで解説
まず、ブログにログインした人だけが投稿できるように、
ログイン機能をブログに設置する必要がありますよね。
ログイン機能は、インストールするだけで簡単にLaravelでは設置できます。
→Laravel6でログイン機能を実装の方法。初心者でも確実にできるように丁寧に解説!
ブログ全体のレイアウト、デザインをブレード上で作成する
次にブログ全体のレイアウトを作成していきます。
ヘッダー、コンテンツエリア、サイドバー、フッター、そういった全体のレイアウト、デザインをHTMLとCSSで書いていきます。
どこに書くかというと、blade.phpにです。
Laravelでは、ブラウザに表示する部分はbladeというファイルが担ってます。
なので、bladeにHTMLを書いて、サイト全体のデザインを作り上げていきます。
→Laravelのblade.phpとは?普通のPHPは使える?初心者もよく分かる図と例で解説!
投稿フォームを作成する
さて、仮に全体のレイアウトが出来たとしても、記事を投稿できなきゃ意味がありませんよね。
なので、投稿フォームも自分で作る必要があります。
じゃあ、投稿フォームをどう作るか?
これは単純にHTMLのinputタグ、textareaタグでも作れるんですが、
これだけだと、太文字にしたり、文字色を変えたりみたいな事を全部手動でHTMLで打たなくちゃならなくなります。それは果たしてブログと言えるのか!?
なので、wysiwyg(ウィジウィグ)エディタを使う事がおすすめです。
例えば、WordPressだとTinyMCEっていうビジュアルエディタでブログを書くじゃん?あれの事。あれって、実はLaravelでも実装できるんだ(まぁ、機能によっては有料だけど)。
あの手のHTMLを直接打たなくても、見たまんまを入力できる(What You See IS What You Get)エディタをwysiwygエディタって言うんだ。
「wysiwygエディタ」って検索すると、有料や無料のエディタが沢山出てきます。
その中から使いやすそうなものを使うという感じです。
例えば、↑これはWordpressにも実装されているTinyMCEの無料版を使ってます。自分でいろいろカスタマイズできます。ただ、HTML編集画面なども作りたい場合は、有料版を使うか、自作する必要があります。
他にもQuillという無料エディタも使いやすくて人気です。
こんな具合に入力フォームを作る事で、ブログに投稿ができるようになります。
じゃあ、どこにこの投稿データを保存するのか?それはデータベース(MySQL)です。
データベースを作成する
今度は書いたブログ記事を保存するスペースである、データベースを作ります。
データベースを作るって言っても簡単で、phpMyAdminにログインして、新しいデータベース名を入力して、作成ボタンを押すだけです。
XAMPPにしろ、レンタルサーバーにしろ、すでにMySQL(データベースソフト)はインストールされてるから、それにログインして後はブログ用のデータベースを作成すればいいだけなんだ。
レンタルサーバーの場合は、サーバーのサイトからログインして作れるよ。
→Laravel(PHP)におけるデータベース(SQL)とは?初心者でもよく分かる図と例でやさしく解説。
→Laravel6入門:開発環境の構築とは?XAMPPを例にやさしく解説!
さらに今度は、データベースの中身(テーブル、カラム)を作る、マイグレーションという作業をします。
→LaravelのMigrationとは?初心者でも図解で面白いほどよく分かる!
マイグレーションによって、記事タイトル、本文、投稿日のように、必要なデータを分けてデータベースに保存できるようになります。
モデル、コントローラー、ルートを設定する
さて、ここまでで、
- ブログ全体のレイアウト
- 投稿ページ
- 投稿を保存するスペース(データベース)
の3つができました。後は何が必要かというと、
- 実際に投稿されたデータをデータベースに保存したり、逆にデータベースから記事を出したりするコントローラーの設定
- それを手助けするモデルの設定
- そしてどのURLで表示するかを決めるルートの設定
この3つをやれば、無事Laravelブログの出来上がりというわけなんです。
→LaravelのController.phpとは?初心者向けに図と例でやさしく解説
→LaravelのModel(Eloquent)とは?初心者でも図とチュートリアルでちゃんと分かる!
→Laravelのroutes(web.php)とは?超初心者向けに図解と実例でやさしく解説!
Laravelブログの作成ができれば、複雑なサイトも実は作れちゃう!
ハハハ、たしかに、ただブログを作りたいなら、無理にLaravelを使わないでWordPress使った方がよっぽど簡単でいいよ。
でも、これを応用すれば、口コミサイト、知恵袋サイト、掲示板、SNSとか、WordPressじゃできない代物も作れちゃうわけ。