PHPackages                             lambelcebur/mvc-basic-tools - 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. [Framework](/categories/framework)
4. /
5. lambelcebur/mvc-basic-tools

ActiveLibrary[Framework](/categories/framework)

lambelcebur/mvc-basic-tools
===========================

Lam tools for controllers,views,helpers, plugins and more ...

06PHP

Since Jan 10Pushed 6y agoCompare

[ Source](https://github.com/Belcebur/lambelcebur-mvc-basic-tools)[ Packagist](https://packagist.org/packages/lambelcebur/mvc-basic-tools)[ RSS](/packages/lambelcebur-mvc-basic-tools/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

lambelcebur-mvc-basic-tools
===========================

[](#lambelcebur-mvc-basic-tools)

Tools for views and controllers

See
---

[](#see)

-

Installation
------------

[](#installation)

Installation of this module uses composer. For composer documentation, please refer to [getcomposer.org](http://getcomposer.org/).

```
composer require lambelcebur/mvc-basic-tools
```

Then add `LamBelcebur\MvcBasicTools` to your `config/application.config.php`

Controller Plugin
-----------------

[](#controller-plugin)

- Integrate Doctrine ORM Auth with controllers

```
/** @var \LamBelcebur\MvcBasicTools\Controller\Plugin\AuthenticatePlugin $authPlugin
$authPlugin=$this->authenticatePlugin();
$authPlugin->authenticate('myCredential','myPassword'); // return \Laminas\Authentication\Result
$authPlugin->logout(); // Clear session
```

Abstract Controllers
--------------------

[](#abstract-controllers)

Extends your controller with more functionalities

- `LamBelcebur\MVCBasicTools\BaseController`
- `LamBelcebur\MVCBasicTools\BaseRestfulController`
- `LamBelcebur\MVCBasicTools\FormManagerController`
- `LamBelcebur\MVCBasicTools\FormManagerRestfulController`

### `LamBelcebur\MVCBasicTools\BaseController & LamBelcebur\MVCBasicTools\BaseRestfulController` Properties

[](#lambelceburmvcbasictoolsbasecontroller--lambelceburmvcbasictoolsbaserestfulcontroller-properties)

```
    /** @var int defined from PHP CONSTANT "DEFAULT_LIMIT_ITEMS_PER_PAGE", if constant is not defined the value is 50 */
    protected $limitItemsPerPage;

    /** @var int defined from query param "page", by default 1*/
    protected $currentPageNumber;

    /** @var int defined from query param "limit", by default $this->limitItemsPerPage*/
    protected $itemCountPerPage;
```

### `LamBelcebur\MVCBasicTools\BaseController & LamBelcebur\MVCBasicTools\BaseRestfulController` Methods

[](#lambelceburmvcbasictoolsbasecontroller--lambelceburmvcbasictoolsbaserestfulcontroller--methods)

- Create Paginator from Doctrine ORM QueryBuilder

```
    /**
     * @param QueryBuilder $qb
     * @param bool $fetchJoinCollection
     * @param string|null $prefix
     * @param int $queryHydrationMode
     * @return Paginator
     */
    public function createPaginator(QueryBuilder $qb, bool $fetchJoinCollection = false, string $prefix = null, int $queryHydrationMode = Query::HYDRATE_OBJECT): Paginator;
```

- Convert paginator to Array Result

```
    /**
     * @param Paginator $paginator
     * @param bool $isJsonModel
     * @param array $extraParams
     * @return array
     */
    public function getPaginatorArrayResult(Paginator $paginator, bool $isJsonModel = true, array $extraParams = []): array

```

- Compare current url with other route and redirect if not is the same

```
    /**
     * @param string $routeName
     * @param array $routeParams
     * @param int $statusCode
     * @return HttpResponse|null
     */
    public function checkAndRedirectUrl(string $routeName, array $routeParams = [], int $statusCode = 301): ?HttpResponse

```

- Get MvcTranslator

```
    /**
     * @return MvcTranslator
     */
    public function getMvcTranslator(): MvcTranslator

```

- Get Translator

```
    /**
     * @return Translator
     */
    public function getTranslator(): Translator
```

- translate method directly inside controller

```
    /**
     * @param $message
     * @param string $textDomain
     * @param string|null $locale
     * @return string
     */
    public function translate($message, string $textDomain = 'default', string $locale = null): string
```

- Get Router

```
   /**
    * @return TranslatorAwareTreeRouteStack|TreeRouteStack|SimpleRouteStack|RouteStackInterface
    */
   public function getRouter(): RouteStackInterface

```

- Get Doctrine ORM EntityManager

```
    /**
     * @return EntityManager
     */
    public function getEntityManager(): EntityManager
```

### `LamBelcebur\MVCBasicTools\FormManagerController & LamBelcebur\MVCBasicTools\FormManagerController` Methods

[](#lambelceburmvcbasictoolsformmanagercontroller--lambelceburmvcbasictoolsformmanagercontroller-methods)

- Extends `LamBelcebur\MVCBasicTools\BaseController`
- getFormManager();
    - return `\Laminas\Form\FormElementManager\FormElementManagerV3Polyfill`

Controller Factories
--------------------

[](#controller-factories)

- `LamBelcebur\MVCBasicTools\Factory\ControllerBaseControllerFactory`
- `LamBelcebur\MVCBasicTools\Factory\ControllerBaseRestfulControllerFactory`
- `LamBelcebur\MVCBasicTools\Factory\ControllerFormManagerControllerFactory`
- `LamBelcebur\MVCBasicTools\Factory\ControllerFormManagerRestfulControllerFactory`

View Helper
-----------

[](#view-helper)

```
