PHPackages                             typerocket/laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. typerocket/laravel

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

typerocket/laravel
==================

Makes form building and model binding a breeze.

v2.2.7(5y ago)113.8k1GPL-3.0-or-laterPHPPHP &gt;=5.5.9

Since Sep 22Pushed 5y ago2 watchersCompare

[ Source](https://github.com/TypeRocket/laravel)[ Packagist](https://packagist.org/packages/typerocket/laravel)[ Docs](https://github.com/TypeRocket/laravel)[ RSS](/packages/typerocket-laravel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (61)Used By (0)

TypeRocket for Laravel 5.3
--------------------------

[](#typerocket-for-laravel-53)

Originally for WordPress, TypeRocket makes building advanced forms and fields easy for Laravel too.

See  for documentation (mainly for WordPress).

### Installing

[](#installing)

```
composer require typerocket/laravel

```

[Laravel Service Providers](https://laravel.com/docs/5.3/providers#registering-providers) make a way for extending Laravel. TypeRocket Laravel 2.0 is a service provider for Laravel. In your `config/app.php` file add:

```
'providers' => [
    // Other Service Providers

    TypeRocket\Service::class,
],
```

Then form the command line:

```
php artisan vendor:publish --provider="TypeRocket\Service"

```

You can now access the `config/typerocket.php`.

Finally, add uploads to public folder. From your site root directory run:

```
ln -s ../storage/uploads uploads

```

*Note: Routes, views, and controller will be adding for you.*

JS and CSS init
---------------

[](#js-and-css-init)

In blade templates such master templates.

```
{!! \TypeRocket\Assets::getHeadString() !!}
{!! \TypeRocket\Assets::getFooterString() !!}

```

### Adding assets

[](#adding-assets)

```
$paths = Config::getPaths();

// type ( js || css), id, path
Assets::addToFooter('js', 'typerocket-core', $paths['urls']['js'] . '/typerocket.js');
Assets::addToHead('js', 'typerocket-global', $paths['urls']['js'] . '/global.js');
```

Forms
-----

[](#forms)

```
// model, action ( create || update ), id, path
$form = new \TypeRocket\Form('Post', 'update', $id, '/posts/' . $id);
```

```

    {!! $form->open() !!}
    {!! $form->text('title')->setLabel('Post Title') !!}
    {!! $form->checkbox('publish')->setText('Published') !!}
    {!! $form->close('Submit') !!}

```

Request Old Input
-----------------

[](#request-old-input)

To load old input into the form set the request.

```
class PostController extends Controller
{
    public function create(Request $request)
    {
        $form = new \TypeRocket\Form('Post', 'create', null, '/posts/');
        $form->setRequest($request); // set request
        return view('posts.create', ['form' => $form]);
    }
}
```

Validate
--------

[](#validate)

```
class PostController extends Controller
{

    public function store(Request $request)
    {
        $tr = $request->input('tr');

        $validator = \Validator::make($tr, [
            'title' => 'required|max:255'
        ]);

        if ($validator->fails()) {
            return redirect("posts/create")
                ->withErrors($validator)
                ->withInput();
        }

        $post = new Fabric();
        $post->title = $tr['title'];
        $post->save();

        header('Location: /posts/');
    }

}
```

Matrix route.
-------------

[](#matrix-route)

Working with matrix fields the service provider will add this for you.

```
Route::post('matrix_api/{group}/{type}', function($group, $type) {
    (new TypeRocket\Matrix())->route($group, $type);
});
```

### CSFR for matrix

[](#csfr-for-matrix)

```
