Laravel에서 서비스 사용
10664 단어 laravel5.6PHP7mariadb서비스
Laravel 5.4에서 Service를 사용한 프로젝트 구성
MariaDB 설정은 다음과 같습니다.
Laravel의 MariaDB CRUD (1)
1) 프로젝트 만들기
laravel new project_1
2) MariaDB를 사용하기위한 수정
app/Providers/AppServiceProvider.php 편집
app/Providers/AppServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema; // 追加
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191); // 追加
}
// 略
3) .env 설정 (MariaDB 연결 정보)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=article
DB_USERNAME=scott
DB_PASSWORD=tiger123
4) 모델을 포함하는 폴더 만들기
mkdir app/Models
5) 모델 및 마이그레이션 만들기
php artisan make:model Models/Hoge -m
database/migrations/2018_06_25_101244_create_hoges_table.php 할 수있다
6) database/migrations/2018_06_25_101244_create_hoges_table.php 편집
database/migrations/2018_06_25_101244_create_hoges_table.php
// 略
$table->increments('id');
$table->string('hoge'); // 追加
$table->timestamps();
// 略
7) migrate하여 테이블 만들기
php artisan migrate
다음 테이블을 사용할 수 있습니다.
MariaDB [city]> show tables;
+-----------------+
| Tables_in_city |
+-----------------+
| hoges |
| migrations |
| password_resets |
| users |
+-----------------+
8) 가능한 테이블에 데이터를 넣습니다.
MariaDB [city]> insert into hoges set id='10',hoge='aaa';
Query OK, 1 row affected (0.07 sec)
MariaDB [city]> insert into hoges set id='11',hoge='bbb';
Query OK, 1 row affected (0.06 sec)
MariaDB [city]> insert into hoges set id='12',hoge='ccc';
Query OK, 1 row affected (0.07 sec)
9) app/Models/Hoge.php 편집
app/Models/Hoge.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Hoge extends Model
{
protected $fillable = [ // 追加
'hoge' // 追加
]; // 追加
}
10) 서비스를 포함하는 폴더 만들기
mkdir app/Services
11) app/Services/HogeService.php 만들기
app/Services/HogeService.php
<?php
namespace App\Services;
use App\Models\Hoge;
class HogeService{
public function getHoge(){
return Hoge::all();
}
}
12) app/Providers/AppServiceProvider.php의 register에 추가
app/Providers/AppServiceProvider.php
// 略
public function register()
{
$this->app->bind('App\Services\HogeService');
}
// 略
13) 루트 만들기
routes/web.php에 다음을 추가
routes/web.php
// 略
Route::resource('hoge', 'HogeController');
14) 컨트롤러 작성
php artisan make:controller HogeController
15) app/Http/Controllers/HogeController.php 편집
app/Http/Controllers/HogeController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Services\HogeService;
class HogeController extends Controller
{
protected $hogeService;
public function __construct(HogeService $hoge_service)
{
$this->hogeService = $hoge_service;
}
public function index(Request $request)
{
$hoges = $this->hogeService->getHoge();
return view('hoge.index', compact('hoges'));
}
public function show($id){}
}
15) 뷰를 포함하는 폴더 만들기
mkdir resources/views/hoge
16) resources/views/hoge/index.blade.php 만들기
resources/views/hoge/index.blade.php
<!DOCTYPE html>
<html>
<head></head>
<body>
<h1>Hello World!</h1>
@foreach($hoges as $hoge)
<p>{{$hoge->hoge}}</p>
@endforeach
Jun/25/2018<p />
</body>
</html>
17) 서버 시작
php artisan serve
18) 브라우저에서 http://localhost:8000/hoge 방문
Reference
이 문제에 관하여(Laravel에서 서비스 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ekzemplaro/items/354166c8612e45dbe822텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)