Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Acme Symfonyan Bundle Laravel Package

symfonyan/acme-symfonyan-bundle

Acme Symfonyan Bundle is a lightweight Symfony integration for Symfonyan, providing bundle registration, configuration, and service container wiring. Install it via Composer, enable it in your app, and customize the defaults to fit your project.

View on GitHub
Deep Wiki
Context7

Getting Started

This is a Symfony 2/3-era bundle from the Symfony Japan community that swaps Symfony's default welcome page and error pages for Japanese-localized versions. Before investing time, verify it even loads against your Symfony version — the score (0.055), 11 stars, and 0 dependents signal it is effectively abandoned, not a maintained library.

Minimal steps:

  1. Install and confirm the target Symfony major. The package name is symfonyan/acme-symfonyan-bundle, but the bundle class is likely AcmeSymfonyanBundle (note the Acme prefix mismatch). This matters because the FQCN you register is not derivable from the Composer name.

    composer require symfonyan/acme-symfonyan-bundle
    

    Expect this to fail on Symfony 4+ unless you also bump symfony/framework-bundle constraints or use --ignore-platform-reqs; do not paper over a constraint conflict — it usually means the bundle's service definitions or Twig paths are incompatible.

  2. Register the bundle. Symfony 2/3: append new AcmeSymfonyanBundle() to AppKernel::registerBundles(). Symfony 4+: add to config/bundles.php. If the class does not autoload, run composer dump-autoload -o and check vendor/symfonyan/acme-symfonyan-bundle/ for the actual namespace in the bundle file.

  3. Look here first. Inside the vendor directory, read in this order:

    • AcmeSymfonyanBundle.php — namespace, bundle name.
    • Resources/config/ (or config/) — any service definitions and Twig path additions.
    • Resources/views/ — the actual Japanese templates; this is the payload you care about.
    • Controller/ and Resources/config/routing.yml — whether a welcome route is exposed.
    • DependencyInjection/ — configuration tree, if any.
  4. First use case. The fastest win is not routing — it is copying the Japanese error templates out of the bundle into your app and letting TwigBundle use them. Symfony resolves app/Resources/TwigBundle/views/Exception/error404.html.twig (or in Symfony 4+, templates/bundles/TwigBundle/Exception/) before the bundle's own. This gives you the translated content without depending on the bundle's controllers or config at all.

If the bundle does register a welcome route, the second use case is mounting it at / conditionally (dev/demo environments only) rather than replacing your application's real homepage.

Implementation Patterns

Template extraction (recommended pattern). Treat the bundle as a content source, not a runtime dependency. Copy Resources/views/Exception/*.html.twig into your app's TwigBundle override directory and commit them. You keep the Japanese copy, drop the maintenance risk, and can delete the Composer requirement afterward. This is the pattern to use if you only want the translated error pages.

Bundle-as-override (if it stays installed). If the bundle adds its views directory to the Twig loader at a priority ahead of TwigBundle's defaults, error pages flip automatically once registered. Verify by hitting a deliberate 404 with APP_ENV=prod APP_DEBUG=0; debug mode disables the pretty error pages and you will wrongly conclude the bundle is broken.

Localized error selection. Symfony maps exception status codes to templates by filename (error404.html.twig, error500.html.twig, plus the generic error.html.twig) and, if present, locale-suffixed variants (error404.ja.html.twig). If you serve multiple locales, use the suffix form and let the request locale pick the file — do not stuff {% trans %} calls into the base template, since the bundle's copy is likely hardcoded Japanese and mixing approaches produces a half-translated page.

Welcome page integration. If a symfonyan_welcome route exists, import its routing explicitly rather than relying on bundle auto-loading (which Symfony removed):

# config/routes.yaml
symfonyan_welcome:
    resource: "@AcmeSymfonyanBundle/Resources/config/routing.yml"
    prefix: /welcome

Prefix it so it does not collide with your real / route.

Environment gating. Wrap any bundle-provided controller route in a when@dev block or an %kernel.environment% condition. Demo/welcome pages should never be reachable in production; this bundle predates the convention and will happily expose them.

Deployment pattern. Since this is a UI-only bundle, add it to your image build and verify templates are present after cache:clear (prod). A cache warmed in a build step that lacks the bundle will serve stale non-Japanese pages until the next deploy.

Gotchas and Tips

  • Abandoned, not just old. Zero dependents and a near-zero score mean no one will catch a security or compatibility regression for you. Fork it into your own VCS or copy the templates; do not put it on your critical path.
  • FQCN vs package name mismatch. symfonyan/acme-symfonyan-bundle → AcmeSymfonyanBundle is the most common first-hour failure. Check the namespace in the bundle file before registering.
  • Symfony version ceiling. Anything touching DIC, KernelInterface, or Twig 1.x paths will not survive Symfony 4+. Error-page conventions moved from app/Resources/ to templates/bundles/ in Symfony 4, so the bundle's documented install instructions are likely wrong for modern Symfony.
  • Debug mode masks everything. Pretty error pages require APP_DEBUG=0 and APP_ENV=prod. When testing localization, always hit a real prod-cached request path.
  • Cache is the usual culprit. After registering a bundle or moving templates: bin/console cache:clear (and cache:warmup in prod). Stale Twig cache will serve the old English error page and make you think the bundle is inert.
  • Extension points are thin by design. There is typically no configuration tree — no enable/disable flags, no message translation. Your extension points are (a) overriding the Twig template and (b) not registering the bundle. Plan accordingly instead of hunting for config.
  • Don't let the welcome route shadow your app. If you import routing without a prefix, your real homepage route (or the bundle's) wins by load order, and you get the Japanese welcome page on your production root.
  • Japanese copy is untested. 11 stars implies very few eyes on the actual translations. Have a native speaker review 404/500/403 copy — error pages are high-visibility and awkward wording on a 500 is worse than plain English.
  • Check for hardcoded absolute URLs and asset paths in the templates (/bundles/acmesymfonyan/...). These break under a subdirectory deployment or a CDN prefix; switch to asset() before shipping.
  • Licensing. Read the bundle's LICENSE before extracting templates into a proprietary codebase — small community bundles sometimes omit one, which defaults to "all rights reserved" in many jurisdictions.

Verdict for day-to-day use: the only durable, low-risk way to leverage this package is as a one-time source of Japanese error-page copy. Vendor-copy the Twig templates into your app, review the wording, and remove the dependency. Anything beyond that — relying on its routing, services, or Symfony compatibility — is borrowing against a package nobody maintains.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource