anahkiasen / бывшая библиотека форм для Lumen / (Laravel Micro Framework)

Я использую Lumen, Laravel, недавно новый микро-фреймворк.

Я искал конструктор форм и нашел Former:

http://anahkiasen.github.com/former/

Я вставил в простой вид лезвия следующий код:

use Former\Facades\Former;

echo Former::open()->method('GET');
echo Former::text('name')->required();
echo Former::close();

и я получаю следующую ошибку:

ErrorException in Container.php line 776:Class former does not exist (View: ...)

поэтому я добавил ServiceProvider в мой app.php:

$app->register('Former\FormerServiceProvider');

и я получаю следующую ошибку:

Fatal error: Call to undefined method Illuminate\Config\Repository::package() in D:\...\vendor\anahkiasen\former\src\Former\FormerServiceProvider.php on line 147

Мой вопрос: как я могу сделать это с Lumen?
В худшем случае, как мне получить хороший компоновщик lib с Lumen?

Спасибо заранее

7

Решение

Вы получили ветку 4.0, в классе Laravel 5 Illuminate \ Config \ Repository нет метода с именем package (http://laravel.com/api/5.0/Illuminate/Config/Repository.html)

Поскольку Lumen использует подсветку / config 5.0. *, Вы должны получить ветку 4.0 для конструктора форм. (https://github.com/formers/former#for-laravel-5-use-the-40-branch)

0

Другие решения

это composer.json Конфигурация, кажется, работает в моем приложении.

"repositories": [
{
"type": "git",
"url": "https://github.com/formers/former.git"}
],
"require": {
"laravel/lumen-framework": "5.0.*",
"vlucas/phpdotenv": "~1.0",
"anahkiasen/former": "4.0.x-dev"},

После сделать:

composer update -vvv

Я обновляю bootstrap/app.php:

/*
|--------------------------------------------------------------------------
| Register Service Providers
|--------------------------------------------------------------------------
|
| Here we will register all of the application's service providers which
| are used to bind services into the container. Service providers are
| totally optional, so you are not required to uncomment this line.
|
*/

// $app->register('App\Providers\AppServiceProvider');
$app->register('Former\FormerServiceProvider');

Тестирование в app/Http/routes.php:

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
use Former\Facades\Former;

$app->get('/', function() use ($app) {
echo Former::open()->method('GET');
echo Former::text('name')->required();
echo Former::close();
});

Выход:

<form accept-charset="utf-8" class="form-horizontal" method="GET">
<div class="form-group required">
<label for="name" class="control-label col-lg-2 col-sm-4">Name<sup>*</sup></label>
<div class="col-lg-10 col-sm-8">
<input class="form-control" required="true" id="name" type="text" name="name">
</div>
</div>
</form>

Кажется, все работает хорошо. Я думаю, что проблема устаревших пакетов.

Обновить

Я меняю app/Http/routes.php во что-то вроде этого:

$app->get('/', function() use ($app) {
return view('foo');
});

А это мой foo.blade.php:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Foo</title>
</head>
<body>
{!! Former\Facades\Former::open()->method('GET'); !!}
{!! Former\Facades\Former::text('name')->required(); !!}
{!! Former\Facades\Former::close(); !!}
</body>
</html>

И это работает.

0

По вопросам рекламы [email protected]