8
13

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 5 years have passed since last update.

Cloud9でLaravel環境

Posted at

背景

こんなことを考えていました。

  • Laravelでアプリケーション作ってみたい。
  • でも開発環境作るのは面倒臭い。
  • 個人端末がごちゃごちゃするのも嫌だ。
  • 開発作業スピードは多少遅くてもいい。
    • そもそも私がなれていないのだから、自分の思考スピードより速い程度で良い
  • 一通りできたらHerokuにデプロイしたい

Cloud9を開発環境にして、Herokuで公開する方法をチョイスしてみました。
他に有力なクラウド開発環境にPaizaCloudがあったのですが、一時期詰めて開発を楽しむには無料プランでは辛かったのです・・・。お金を払えば公開環境を用意しなくてもそのまま公開できるのは魅力なのですが、開発したいと思った時に支払い画面が出ると切ない。

すでに入っている環境

ワークスペース作成以降試行錯誤中に色々入れたと思います。この辺りでインストールする必要があったものは手順記載を割愛させてください。

  • PHP 7.1
  • MySQL Ver 14.14 Distrib 5.7.23
  • Composer version 1.7.2
  • Laravel Framework 5.6.33

上記の環境はCloud9にLaravel5.5をインストールして使う を参考に入れております

ここからやったこと

  1. Cloud9にプロジェクトを作る.~/workspace 直下で コンソールcomposer create-project --prefer-dist laravel/laravel myapp を叩く *(myapp)は作りたいアプリケーション名
  2. 出来上がったら、cd myapp で移動する
  3. サーバー立ち上げ。
    php artisan serve --host=$IP --port=$PORT
    • ここでhostとportを指定するのに結構長らくハマりました。
  4. 動いた:bangbang:ヤッター:raised_hands:
  5. 気が済んだので、php artisan serve は一旦 ctrl + c で停止。
  6. ここからDBの設定。まずはmysqlにDB作成。mysql -u root でログイン。create database myappdb; でDB作成 *(myappdb)は作りたいDB名
  7. .envに値設定。下記3つ。あくまで開発なのでユーザー名もパスワード設定もとりあえずこんな感じで。
DB_DATABASE=myappdb
DB_USERNAME=root
# DB_PASSWORD=secret
  1. Model,Controller,migrationファイルを作成する。(Taskは作りたいTable名)
php artisan make:model Task -m -c -r

1.出来上がったmigrationファイルに欲しいカラムを追加する。カラムの書き方は Laravel 5.6 データベース:マイグレーション を参考にしつつ

vi database/migrations/2018_08_xx_xxxxxx_create_tasks_table.php 

18 $table->string('name');  // とりあえずstring型nameカラムを作成
  1. migrationファイルを実行 php artisan migrate
  2. routes/web.php にルーティング設定。HTTPSを使うように。
  3. app/Providers/AppServiceProvider.php も。
 14     public function boot()
 15     {
 16         // default HTTPS
 17         \URL::forceScheme('https');
 18     }
  1. Controllerにカキカキ。とりあえずはLaravel入門: 初心者でも10分でWebサービスを作れる!PHPフレームワークLaravelとPaizaCloudの使い方 のコントローラ設定をほぼそのまま。

  2. なんかでdebuglogくらいは出て欲しいので、Controller冒頭でLogのエイリアスを作成しておく

<?php

namespace App\Http\Controllers;

use App\Task;
use Illuminate\Http\Request;
use Log; // 追加
  1. 再び php artisan serve --host=$IP --port=$PORT で動かして見る。
  2. 動いた:bangbang::bangbang:ヤッター:raised_hands:
    Image from Gyazo

お世話になった記事

ありがとうございます。

8
13
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
8
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?