Installation Add the bundle via Composer:
composer require daemon/simplify-bundle
Register the bundle in config/bundles.php:
return [
// ...
Daemon\SimplifyBundle\DaemonSimplifyBundle::class => ['all' => true],
];
First Use Case: Auto-Generated CRUD
php bin/console daemon:simplify:generate:crud Entity/YourEntity
YourEntityController.php) with pre-configured CRUD actions.Where to Look First
bin/console daemon:simplify for available commands.config/packages/daemon_simplify.yaml.templates/bundles/DaemonSimplify/.Rapid CRUD Development
php bin/console daemon:simplify:generate:crud Entity/User --with-form
configureListFields()).Form Customization
namespace App\Form\Extension;
use Daemon\SimplifyBundle\Form\Type\YourEntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class YourEntityTypeExtension extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('customField', TextType::class);
}
}
config/packages/daemon_simplify.yaml:
daemon_simplify:
form_extensions:
App\Form\Extension\YourEntityTypeExtension: ~
Dynamic Field Configuration
# config/packages/daemon_simplify.yaml
daemon_simplify:
entities:
App\Entity\User:
list_fields: [id, email, createdAt]
edit_fields: [email, password, roles]
Integration with Existing Projects
Theming
vendor/daemon/simplify-bundle/templates/ to templates/bundles/DaemonSimplify/.crud/list.html.twig) to add global UI elements.Entity Naming Conflicts
Crud or Simplify to prevent collisions with bundle internals.AppCrud, CustomSimplify).Form Type Overrides
php bin/console debug:form YourEntityType to verify the form class path.Template Caching
php bin/console cache:clear
Doctrine Lifecycle Callbacks
prePersist). Add them manually to your entity or controller.Permission Handling
// In YourEntityController.php
public function edit(Request $request, YourEntity $entity) {
$this->denyAccessUnlessGranted('EDIT', $entity);
// ...
}
Custom Actions
public function customAction(YourEntity $entity) {
return $this->render('bundles/DaemonSimplify/crud/custom.html.twig', [
'entity' => $entity,
]);
}
{{ path('app_your_entity_custom', {'id': entity.id}) }}
Bulk Operations
daemon_simplify.yaml:
daemon_simplify:
entities:
App\Entity\User:
enable_bulk_actions: true
configureBulkActions() method.Localization
translations/messages.en.yaml:
daemon_simplify:
create: "Create New Record"
edit: "Edit Record"
Performance
daemon_simplify:
entities:
App\Entity\Product:
list_pagination: 50
Debugging
daemon_simplify.yaml to log generator actions:
daemon_simplify:
debug: true
var/log/dev.log for generator errors.Extending the Bundle
Daemon\SimplifyBundle\Generator\GeneratorInterface.services:
App\Generator\CustomCrudGenerator:
tags: [daemon.simplify.generator]
How can I help you explore Laravel packages today?