eusonlito/laravel-processor
Composer 安装命令:
composer require eusonlito/laravel-processor
包简介
A package process POST requests
关键字:
README 文档
README
Split POST action into independent processes.
Installation
using composer
"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') }} <div class="alert alert-{{ $flash['status'] }} fade in"> <div class="container text-center"> <a class="close" data-dismiss="alert" href="#">×</a> {!! $flash['message'] !!} </div> </div> @endif <form method="post"> <div class="regular-signup"> <h3 class="text-center">{{ __('Login into your account') }}</h3> {!! $form->html() !!} <button type="submit" class="btn btn-primary btn-lg btn-block"> {{ __('Login') }} </button> </div> </form>
eusonlito/laravel-processor 适用场景与选型建议
eusonlito/laravel-processor 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.04k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2015 年 05 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「processor」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 eusonlito/laravel-processor 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 eusonlito/laravel-processor 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 eusonlito/laravel-processor 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A GeoIP decorator/processor for monolog
A Monolog processor for adding arbitrary logging data
A Monolog processor to add X-Request-Id or UNIQUE_ID env to monolog stack if present, provide a default one otherwise. Optionally, add a forwarded request-id list.
A Processor for Markup written in PHP. Allows extraction of Markup into a data structure, orchestrated nested manipulation of said structure, and output as (optimized) Markup.
PHPWord - A pure PHP library for reading and writing word processing documents (OOXML, ODF, RTF, HTML, PDF)
PHPWord fork for personal project
统计信息
- 总下载量: 1.04k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 17
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-05-18