0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHPフレームワーク Laravel

Posted at

趣味でプログラミングを勉強しています。
古本販売サイトを作成したいと思って勉強を始めたのですが、コワーキングスペースにいるプログラミングに詳しいTさんに「スクラッチ開発するより、フレームワークを使ってサイトを作成するほうがいいよ」とアドバイスをいただき、おすすめPHPフレームワーク「Laravel」を今回記事にしてみました!! (^-^)

PHPフレームワーク「Laravel」

  • スクラッチ開発した場合の問題点
    • セキュリティの問題
    • メンテナンスの問題
    • 拡張性の問題

      →スクラッチ開発する場合、セキュリティやメンテナンス性、拡張性などは全て自分で実現しないといけない
フレームワークとライブラリ比較
  • フレームワーク

    • 機能 + 機能を使う仕組み
    • セキュリティやメンテナンス性、拡張性が考慮されたシステム
    • 開発で多用される様々な機能や仕組みを持ったソフトウェア
  • ライブラリ

    • 開発に役立つ便利な機能を備えたソフトウェア

Laravelって?

2012年リリース

特徴

  • Model-View-Controllerフレームワーク、各機能のパーツを作ることで開発を行う
  • 低い学習コスト
  • 非常にわかりやすいコード
  • 土台にSymphony ※MVCフレームワーク 2007年リリース
  • インストールやソフトウェアのインストールなどは、すべて「Composer」というパッケージ管理ツールでOK
  • Webサーバー機能内臓(PHP5.4以降ビルトインサーバー機能を利用)
  • データベースアクセスにORM(Object-Relational-Mapping)技術を導入
  • 画面の表示は「Blade」と呼ばれるテンプレートエンジンを搭載
Laravelスタート準備

「Composer」のパスを通す

composer global require "laravel/installer=1.1"

Laravelを使うには

プロジェクト作成コマンド
laravel new プロジェクト名
サーバー起動コマンド
php artisan serve
動作確認
http://localhost:8000/

####ルーティングとコントローラー

#####ルーティング
指定アドレスにアクセスしたとき、その処理を呼び出して実行管理

Laravelファイル
.env / 動作環境に関する設定情報 
.gitigonore / git利用情報 
artisan / artisanコマンド 
composer.json / composer利用に関するもの 
package.json / JavaScriptのパッケージツール(npm)で利用するもの 
phpunit.xml / PHPUnitに関するもの 
server.php / サーバ起動時に利用されるプログラム 
webpack.mix.js / webpackというJavaScriptのパッケージツールで利用するもの 
yarn.lock / yarnというパッケージマネージャが使うファイル(自動生成) 
Laravelフォルダ 
app / アプリケーションプログラム (よく使う)
bootstrap / 実行時に行われる処理 
config / 設定 
database / データベース関連 (まぁまぁ使う)
public / 公開フォルダ 
resources / テンプレートファイルなどのリソース (よく使う)
※「views」フォルダあり、welcome.blade.phpがある
routes / ルート情報 (よく使う)
storage / ログファイルなど 
tests / ユニットテスト関連のファイル 
vender / フレームワーク本体

#####「app」フォルダについて
アプリケーション部分のプログラム を配置

vender / Laravelフレームワーク部分
Console / コンソールプログラムを配置する
Exception / 例外処理を配置
Http / Webアプリケーションにアクセスした時の処理(重要)
Providors / プロバイダと呼ばれるプログラムを配置
User.php / ユーザー認証に関するスクリプト

#####ルーティングと「routes」フォルダ
ルーティングは、アクセスを設定している情報(ルート)を管理している機能
→特定のアドレスにアクセスすると、それに対応する処理が呼び出される。関連付けをおこなっているのがルーティング

#####「routes」フォルダについて

api.php / APIのルーティング プログラム内から利用するAPIの機能を特定のアドレスに割り当てるのに利用
channels.php / ブロードキャストチャンネルのためのルーティング
console.php / コンソールプログラムのためのルーティング
web.php / Webページにアクセスするためのルーティング
//トップページにアクセスした時
Route::get('/', function () {
return view('welcome');
});

#####ルート情報の基本(GETアクセス)

Route::get(アドレス, 関数など);

第1引数 アドレス
第2引数 処理(関数,コントローラー)
※関数ではviewを使うことで「views」フォルダのテンプレートを利用できる

#####ルートパラメーターの利用

Route::get('/〇〇/{パラメーター}', function($受け取る引数) {...});
第1引数 パラメータに指定した部分がパラメータとして取り出せる
第2引数 パラメータの値を受け取る変数

#####コントローラー

  • コントローラーの作成は、artisan(アーティザン)コマンドで作成する
    php artisan make:controller コントローラ名
  • コントローラーに用意される処理を「アクション」と呼び、メソッドの形で用意される
  • アクションメソッド 引数を持たないメソッドと呼ぶ
    例)index

#####ルート情報の用意

  • 「routes」フォルダのweb.phpに記載する
Route::get(アクセス先, 'コントローラー名@アクション名')
第1引数にアクセスされると、第2引数に指定されたコントローラーが実行される
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?