仕事柄個人的にもお仕事をいただくことがあります。
今回はレガシーシステムをphpでリプレイスしたいという案件が入りそう。
laravelを使用するようなのですが、個人的には使ったことがないので、
早速環境構築して、サンプルを作ってみたいと思います。
今回はその第3回。
第1回はこちら。
第2回はこちら。
環境構築前提
基本的な構築はこちらでお話していたように、
vagrantによるubuntuの環境をベースにしたいと思います。
各種設定
vagrantの仮想環境とフォルダ同期させる
Laravelのアプリを作成しても、クライアント側でソースを
書き換えてアップロード・・・という流れでは効率がよくないので、
Ubuntu側のディレクトリとクライアント側のフォルダを同期させてしまいましょう。
Vagrantファイルを以下のように編集します。
config.vm.synced_folder "C:\\temp\\laravel_sample", "/home/vagrant/sample/"
これでC:\\temp\\laravel_sampleがUbuntuの/home/vagrant/sample/と
同期されます。
Mysql接続設定
アプリケーションのルートディレクトリ配下に.envというファイルが
存在していると思います。
DB接続設定はこちらに記載していきます。
※WinSCPなどのsshクライアントによっては.envは隠しファイルとして扱われていて、
表示されないことがあります。
表示されていない場合は、sshクライアントの設定を確認しましょう。
今回は以下のように設定します。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=mydb DB_USERNAME=root DB_PASSWORD=<rootパスワード>
MVC別実装
LaravelはMVCフレームワークなので、
それぞれ実装が必要になります。
また、URLごとに処理を振り分けるためのルーティング設定も
必要になります。
それぞれの実装について記載していきます。
Model作成
以下のコマンドでEmployeeモデルを作成しましょう。
php artisan make:model Employee
作成したものはappフォルダ配下に作成されます。
作成しただけだとメソッドが何もないので、
画面表示で使用するためのメソッドを以下のように作成しましょう。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Employee extends Model
{
public function getData()
{
return 'id:'. $this->employee_id. ' name:'. $this->employee_name;
}
}
※ここでEmployeeというクラス名だと、自動生成されるSQLでは、
テーブル名をEmployeesとして検索することになりますので、
注意が必要です。
コントローラの作成
以下のコマンドでコントローラを作成しましょう。
php artisan make:controller EmployeeController
作成したものはapp/Http/Controllers配下に作成されます。
画面表示のためのメソッドを追加しましょう。
<?php namespace App\Http\Controllers; use App\Employee; use Illuminate\Http\Request; class EmployeeController extends Controller { public function list (Request $request) { $items = Employee::all(); return view ('employee.list', ['items' => $items]); } }
ビューの作成
resources/view配下にemployeeフォルダを作成し、
list.blade.phpを作成し以下のように記述します。
@foreach ($items as $item) {{ $item -> getData() }}<br> @endforeach
ルーティング設定
まずはテーブルのselect結果をただ出力するまでの
設定を進めていきましょう。
まずは、ルーティングの設定です。
routes/web.phpに以下を追加しましょう。
Route::get('/list', 'EmployeeController@list');
これは/listにアクセスが来た場合には、
EmployeeControllerのlistメソッドを実行するということになります。
ここまで設定してくると、http://<ホスト>:<ポート>/listでアクセスすると、
Employeesテーブルの中身が画面に出力されていると思います。
次回は
社員IDと名前を入力して登録するまでの流れを
実装してみたいと思います。
それでは!
20代前半までは東京で音楽をやりながら両手の指以上の業種でアルバイト生活をしていましたが、某大手プロバイダのテレアポのバイトでPCの知識の無さに愕然とし、コンピュータをもっと知りたい!と思ったことをきっかけに25歳の時にITの世界に未経験で飛び込みました。
紆余曲折を経て、現在は個人事業主としてお仕事させていただいており、10年ほどになります。
web制作から企業システム構築、ツール開発など、フロントエンドもバックエンドもサーバーもDBAも依頼があれば何でもやってきた雑食系エンジニアです。
今風にいうとフルスタックエンジニアということになるのでしょうか??
→ 詳細プロフィールというか、生い立ちはこちら
→スキルシートをご覧になる場合はこちら
→お仕事のご依頼やお見積りなどお問い合わせはこちらから!