<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
| Reminder about typical REST routes
| GET /posts            List posts
| GET /posts/create     Show a post creation form
| POST /posts           Create a post
| GET /posts/{id}       Show a post
| GET /posts/{id}/edit  Show a post update form
| PATCH /posts/{id}     Update a post
| DELETE /posts/{id}    Delete a post
|--------------------------------------------------------------------------
*/

use App\Billing\Stripe;

// Use singleton() instead to obtain a reused instance.
// Use instance(Stripe::class, $stripe) to replace the instance with another object.
App::bind(Stripe::class, function () {
    return new Stripe(config('services.stripe.key'));
});

$stripe = App::make(Stripe::class);
$stripeAgain = app(Stripe::class);
$stripeAlso = resolve(Stripe::class);
$stripeToo = app()->make(Stripe::class);
dd($stripe, $stripeAgain, $stripeAlso, $stripeToo);

/** @var \Illuminate\Routing\Router $this */
$this->get('/', 'PostsController@index')
    ->name('home');
$this->post('/posts', 'PostsController@store');
$this->get('/posts/create', 'PostsController@create');
$this->get('/posts/{post}', 'PostsController@show');
$this->post('/posts/{post}/comments', 'CommentsController@store');

$this->get('register', 'RegistrationController@create');
$this->post('register', 'RegistrationController@store');

$this->get('login', 'SessionsController@create');
$this->post('login', 'SessionsController@store');
$this->get('logout', 'SessionsController@destroy');