2017 © Pedro Peláez
 

library laravel-processor

A package process POST requests

image

eusonlito/laravel-processor

A package process POST requests

  • Wednesday, February 15, 2017
  • by eusonlito
  • Repository
  • 2 Watchers
  • 1 Stars
  • 819 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 20 Versions
  • 0 % Grown

The README.md

laravel-Processor

Split POST action into independent processes., (*1)

Installation

using composer, (*2)

"require": {
    "eusonlito/laravel-processor": "0.*"
}

app/Http/Controllers/Controller.php

namespace App\Http\Controllers;

use Illuminate\Routing\Controller as BaseController;
use Eusonlito\LaravelProcessor\Controllers\ProcessorTrait;

abstract class Controller extends BaseController
{
    use ProcessorTrait;
}

app/Http/Controllers/Users.php

namespace App\Http\Controllers;

class Users extends Controller
{
    public function login()
    {
        // https://github.com/oscarotero/form-manager
        $form = new Forms\Users\Login();

        if (is_object($processor = $this->processor(__FUNCTION__, $form))) {
            return $processor;
        }

        // https://github.com/eusonlito/laravel-Meta
        // https://github.com/oscarotero/Gettext
        Meta::meta('title', __('Login as User'));

        return view('web.pages.users.login', [
            'form' => $form,
        ]);
    }
}

app/Http/Controllers/Forms/Users/Login.php

namespace App\Http\Controllers\Forms\Users;

use FormManager\Builder as B;
use FormManager\Containers\Form as F;

class Login extends F
{
    public function __construct()
    {
        return $this->method('post')->add([
            '_processor' => B::hidden()->val('login'),

            'user' => B::text()->attr([
                'placeholder' => __('Your user'),
                'autofocus' => true,
                'required' => true
            ]),
            'password' => B::password()->attr([
                'placeholder' => __('Your passsword'),
                'required' => true
            ]),
            'remember' => B::checkbox()->attr([
                'placeholder' => __('Remember me'),
                'value' => '1'
            ])
        ]);
    }
}

app/Http/Processors/Processor.php

namespace App\Http\Processors;

use Eusonlito\LaravelProcessor\Processors\ProcessorTrait;

abstract Processor
{
    use ProcessorTrait;
}

app/Http/Processors/Users.php

namespace App\Http\Processors;

use Exception;
use Auth;
use Hash;
use Redirect;
use Request;
use App\Models;

class Users extends Processor
{
    public function login($form)
    {
        // Check if is a valid request to execute this function
        // Also, validate $form
        if (!($data = $this->check(__FUNCTION__, $form))) {
            return $data;
        }

        $success = Auth::attempt([
            'user' => $data['user'],
            'password' => $data['password'],
        ], $data['remember']);

        if ($success !== true) {
            Models\UserSession::create([
                'user' => $data['user'],
                'ip' => Request::getClientIp(),
                'success' => 0,
            ]);

            throw new Exception(__('Incorrect user or password'));
        }

        Models\UserSession::create([
            'user' => $data['user'],
            'ip' => Request::getClientIp(),
            'success' => 1,
            'users_id' => Auth::user()->id,
        ]);

        return Redirect::back();
    }
}

resources/view/web/pages/users/login.php

@if ($flash = Session::get('flash-message')) ?>

{{ Session::forget('flash-message') }}



× {!! $flash['message'] !!}
@endif

The Versions

15/02 2017

dev-develop

dev-develop

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

15/02 2017

v1.0.8.5

1.0.8.5

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

14/02 2017

dev-master

9999999-dev

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

14/02 2017

v1.0.8.4

1.0.8.4

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

02/06 2016

v1.0.8.2

1.0.8.2

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

02/06 2016

v1.0.8.3

1.0.8.3

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

02/06 2016

v1.0.8.1

1.0.8.1

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

02/06 2016

v1.0.8

1.0.8.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

15/04 2016

v1.0.7.1

1.0.7.1

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

10/08 2015

v1.0.7

1.0.7.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

08/08 2015

v1.0.6

1.0.6.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

16/06 2015

v1.0.5

1.0.5.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

10/06 2015

v1.0.4

1.0.4.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

01/06 2015

v1.0.3

1.0.3.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

19/05 2015

v1.0.2

1.0.2.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

18/05 2015

v1.0.1

1.0.1.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

18/05 2015

v1.0.0

1.0.0.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

14/05 2015

v0.3

0.3.0.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

14/05 2015

v0.2

0.2.0.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor

23/04 2015

v0.1

0.1.0.0

A package process POST requests

  Sources   Download

MIT

The Requires

 

processor