joseph-montanez/laravel-atk
Composer 安装命令:
composer require joseph-montanez/laravel-atk
包简介
Agile UI and Data integration with Laravel
README 文档
README
Laravel ATK is a Laravel integration package for Agile UI & Agile Data.
Installation
Begin by installing this package through Composer. Run this command from the Terminal:
composer require joseph-montanez/laravel-atk
Adding Middleware
Agile UI can terminate before $app->run() is ever called. As of right now this means an exception is thrown, so to catch the exception and return the response, Laravel's Middleware is needed.
Edit app/Http/Kernel.php
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
//....
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
//....
// Add this middleware line to web
\Atk\Laravel\Middleware\AgileUiTerminated::class,
],
##Usage
Agile UI Integration
This library is an app layer designed for Laravel. You need to use this app layer in order to leverage Agile UI within a controller. If you don't you get 500 errors, cookies and/or sessions may not save and URLs will have .php added to them.
1. Initialize Agile UI
Normally to initialize Agile UI, you call the following code:
$app = new \atk4\ui\App();
But since there is a custom app layer you have two options:
//-- Directly call the integrated app class
$app = new \Atk\Laravel\Ui\App(['title' => 'My Admin']);
//-- Using Laravel's service provider to keep track of app instance
$app = app()->make(\Atk\Laravel\Ui\App::class, ['title' => 'My Admin']);
2. Using Agile UI Within A Controller
To get Agile UI to render you need to return a response, as echoing output has been disabled.
class RoleController
{
public function index(Request $request, DB $db, Common $ui)
{
$app = app()->make(\Atk\Laravel\Ui\App::class, ['title' => 'My Admin']);
/**
* The List Header
*
* @var \atk4\ui\Header $header
*/
$header = $ui->app->add('Header', ['Hello There!']);
return response($app->run());
}
}
3. Using Laravel's Names Routes inside Link
If you depend on Laravel's route named generator then you'll need to use this package's varient of Link. This allows a callback with the record / row data to be passed into your route.
/**
* The User Grid
*
* @var \atk4\ui\Grid $grid
*/
$grid = $userListColumn->add('Grid');
$grid->setModel(new User($atkDb), ['name', 'email', 'phone', 'created_at']);
$grid->addDecorator(
'name',
new \Atk\Laravel\Ui\TableColumn\Link(null, [], function ($row) {
return route('admin.user.edit', ['id' => $row['id']]);
})
);
Agile Database Connection
If you are planning on using Agile Data, then you can use the service provide to take the existing database connection and pass it into Agile Data.
$atkDb = app()->make(\Atk\Laravel\Data\Persistence_SQL::class);
/**
* @var \atk4\ui\CRUD $crud
*/
$crud = $app->add('CRUD');
$crud->setModel(new Permission($atkDb), ['name', 'group_name', 'guard_name', 'created_at']);
joseph-montanez/laravel-atk 适用场景与选型建议
joseph-montanez/laravel-atk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 23 次下载、GitHub Stars 达 3, 最近一次更新时间为 2018 年 06 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「framework」 「laravel」 「agile data」 「agile ui」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 joseph-montanez/laravel-atk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 joseph-montanez/laravel-atk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 joseph-montanez/laravel-atk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Framework HLEB2 is the foundation of the web application. Provides ease of development and application performance.
Agile Data - Audit Extension
Google Place interface for address form.
Symfony Translation component Interface for Atk4
Micro-Kernel for PHP Applications
Alfabank REST API integration
统计信息
- 总下载量: 23
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-06-26