PHPackages                             telnowedge/freepbx-base - 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. telnowedge/freepbx-base

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

telnowedge/freepbx-base
=======================

Helper to create module with the Symfony components like form validation, dependency injection...

v1.1.3(1y ago)01.5kApache-2.0PHPCI failing

Since Dec 12Pushed 9mo ago1 watchersCompare

[ Source](https://github.com/TelNowEdge/freepbx-base)[ Packagist](https://packagist.org/packages/telnowedge/freepbx-base)[ RSS](/packages/telnowedge-freepbx-base/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (24)Versions (52)Used By (0)

TelNowEdge/FreepbxBase bundle
=============================

[](#telnowedgefreepbxbase-bundle)

Version
-------

[](#version)

- 2018/05/23 &lt;1.0&gt;: Stable release
    - Container caching
    - Template caching
    - Form helper to append Destination block on form
    - Helper to send UserEvent
    - New Verb forn asterisk dialplan

- 2017/11/28 &lt;0.1&gt;: First available working version

Install
-------

[](#install)

### Dependencies requirements

[](#dependencies-requirements)

Currently FreePBX® come with a [symfony/property-access:3.4.19](https://github.com/symfony/property-access) on this version a major bug is known [\#29340](https://github.com/symfony/symfony/issues/29340). So, to install this module you must update your packages.

```
cd /var/www/admin/libraries/Composer
composer update
```

### With `composer require`

[](#with-composer-require)

```
cd /var/www/admin/libraries/Composer/composer.json
composer require telnowedge/freepbx-base
```

### With git

[](#with-git)

git clone inside composer vendor dir

```
cd /var/www/admin/libraries/Composer/vendor/telnowedge/
git clone freepbx-base
```

Update composer autoload by adding on composer.json

```
"autoload": {
  "psr-4": {
  "TelNowEdge\\FreePBX\\Base\\": "vendor/telnowedge/freepbx-base"
  }
}
```

And finally run

```
composer.phar dump-autoload
```

To known
--------

[](#to-known)

1. Cache system

All cached files was written on `rootFreePBX`/assets/cache/. Please take care with the rights.

Overview
--------

[](#overview)

This FreepbxBase *bundle* provide an easy way to write FreePBX® modules like an MVC project. He works alone without any modification of FreePBX® core files except composer.json.

FreepbxBase *bundle* use Symfony® components to improve security, accessibility and support.

It register its own namespace to give access on the different components through several helpers.

FreepbxBase *bundle* introduce in FreePBX® the **Dependency Injection** concept with the Symfony® component. This component is very useful to prevent any `singleton` and share easily your object through your own code.

FreepbxBase *bundle* provide too the Symfony® **Form** component to validate your form on the server side before to save it on your sql storage.

Before start using it, you need to understand namespace and the Symfony base development concepts.

Acme example module
-------------------

[](#acme-example-module)

- [Modfagi](https://github.com/TelNowEdge/modfagi)
- [TimeCondition](https://github.com/TelNowEdge/tnetc)

Coding standard
---------------

[](#coding-standard)

To check the `coding standard` please include on your module GrumPHP.

1. Require packages

    ```
        $ composer require --dev "phpro/grumphp" "nikic/php-parser" "friendsofphp/php-cs-fixer" "jakub-onderka/php-parallel-lint" "phpmd/phpmd" "phpspec/phpspec"
    ```
2. Create config file for `php-cs-fixer` `./php_cs`

    ```
