Download the PHP package playtini/easy-admin-helper-bundle without Composer

On this page you can find all versions of the php package playtini/easy-admin-helper-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package easy-admin-helper-bundle

EasyAdmin Helper Bundle

Extends EasyAdmin with reusable traits, fields, and controllers for building admin panels. Requires PHP 8.5+ and Symfony 7.4+/8.1+.

Install

composer require playtini/easy-admin-helper-bundle

Create App\EasyAdmin\EasyAdminMenu implementing EasyAdminMenuInterface. Create DashboardController extending CustomDashboardController.

Add to config/services.yaml:

Load routes. Add to config/routes/easyadmin.yaml:

EasyAdmin 5 requires pretty URLs, so the EasyAdmin route loader must be enabled for the custom CRUD actions (archive, duplicate) to be registered. Add to the same config/routes/easyadmin.yaml:

Install bundle assets (symlinks JS/CSS to public/bundles/easyadminhelper/):

php bin/console assets:install

Features

Controller Traits

Trait Purpose
CrudControllerTrait Base CRUD config (date formats, pagination, actions, detail→edit redirect)
ArchiveCrudControllerTrait Soft-delete via archiving (auto-filters archived, archive/unarchive actions)
DuplicateCrudControllerTrait Entity duplication via DuplicateInterface
ReadOnlyCrudControllerTrait Disables all edit/delete actions, makes fields disabled
InlineEditCrudControllerTrait Inline editing support
SaveCrudControllerTrait Custom save logic via repository
UserCrudControllerTrait Current user helpers
QuickDateFilterCrudTrait Dropdown with preset date periods (1h, today, 24h, 7d, 30d)
DateRangePickerCrudTrait Calendar-based date range picker with from/to params

Entity Traits

Trait Fields
IdEntityTrait Auto-increment id
NameEntityTrait / NameUniqueEntityTrait name (varchar 255)
LongNameEntityTrait name (varchar 1000)
CreatableEntityTrait createdAt (auto-set on persist)
UpdatableEntityTrait updatedAt (auto-set on persist/update)
ArchivableEntityTrait archivedAt (soft-delete timestamp)
IsEnabledTrait isEnabled (boolean)
UidEntityTrait uid (unique string)
CommentEntityTrait / ShortCommentEntityTrait comment (text / varchar 1024)
DataEntityTrait data (JSON column with YAML display helper)
VirtualFieldsEntityTrait Stub methods for computed fields

Entity Base Classes

BaseAuditLog is a #[ORM\MappedSuperclass] carrying the eight columns of a per-request audit log (username, routeName, routeParams, url, httpMethod, statusCode, ip, responseTimeMs) plus id/createdAt via CreatableEntityTrait. Subclass it with your own #[ORM\Entity], indexes and repository:

#[ORM\HasLifecycleCallbacks] must be declared on the concrete class or createdAt never gets set. Do not also use IdEntityTrait — CreatableEntityTrait already composes it.

Requires doctrine.orm.auto_mapping: true in the consuming application, or an explicit Doctrine mapping for the Playtini\EasyAdminHelperBundle\Entity namespace. Without one, Doctrine treats BaseAuditLog as transient and the subclass maps to zero columns — doctrine:schema:update will then propose dropping every column from the existing table rather than failing loudly.

CrudField Helper

Static factory for pre-configured EasyAdmin fields:

AdminFormatter

Quick Date Filter

Dropdown with preset date periods. Query param: ?period=24h

Override getQuickDateField(), getQuickDateDefault(), getQuickDateOptions() to customize.

Date Range Picker

Calendar-based date range picker. Query params: ?from=2025-01-01&to=2025-01-31

The trait handles createIndexQueryBuilder() and configureResponseParameters() automatically. Override getDateRangeField() and getDateRangeDefaultDays() to customize.

Release Session Early

#[ReleaseSessionEarly] marks a controller class or method as session-read-only. ReleaseSessionEarlyListener then flushes the session ($session->save()) before the action runs, so the session row isn't held for the duration — useful for concurrent XHRs from the same user.

Sessions are never started by the listener: if the controller hasn't started one, nothing happens. It's inert in a project that doesn't use the attribute. Attribute lookup is not inheritance-aware — declare it on the concrete controller class or method, not on an abstract base controller. For invokable controllers, the attribute is honoured whether it's placed on the class or on __invoke().

Bulk Import

BulkImportType is a paste-a-TSV import form backed by Form\Dto\BulkImport. It knows nothing about the target entity: the controller reads BulkImport::getRows() and decides what each row means. BulkImport::getMode() returns one of five modes (MODE_CREATE_OR_UPDATE, MODE_CREATE_ONLY, MODE_UPDATE_ONLY, MODE_CREATE_SKIP_EXISTING, MODE_UPDATE_SKIP_MISSING) so every project offers the same choices with the same stored values.

Doc Controllers

Built-in documentation viewer for markdown files in {project}/doc/. Supports YAML front matter. Routes:

Bundled Assets

The bundle ships common vendor JS/CSS in public/. After assets:install they're available at /bundles/easyadminhelper/:

The bundle layout (templates/layout.html.twig) includes common CSS utilities (.positive, .negative, .uid, .short-1–.short-6, .btn-xs, etc.) and auto-initializes Bootstrap tooltips.


All versions of easy-admin-helper-bundle with dependencies

PHP Build Version
Package Version
Requires php Version ^8.5
easycorp/easyadmin-bundle Version ^5.1
erusev/parsedown Version ^1.8
gupalo/browser-notifier Version ^1.4
gupalo/dateutils Version ^1.20
gupalo/monolog-dbal-logger Version ^1.11
gupalo/symfony-form-transformers Version ^1.4
gupalo/uidgenerator Version ^1.2
luchaninov/csv-file-loader Version ^1.10
peekabooauth/peekaboo-bundle Version ^1.8
spatie/yaml-front-matter Version ^2.1
symfony/framework-bundle Version ^7.4|^8.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package playtini/easy-admin-helper-bundle contains the following files

Loading the files please wait ...