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

Core Bundle Laravel Package

toro/core-bundle

Core bundle for the Toro Laravel package suite, providing shared service providers, configuration defaults, and base utilities that other Toro packages build on. Installs via Composer and integrates cleanly with Laravel's container and bootstrapping lifecycle.

View on GitHub
Deep Wiki
Context7

Getting Started

toro/core-bundle is a Symfony 2-era bundle that ships UI/theme assets and Twig layout scaffolding for admin-style projects. There is no documentation, no dependents, and no release since July 2017 — so treat the source as the spec and budget time to read it before wiring anything in.

Minimal path:

  1. Confirm the constraint. Check composer.json in the repo for symfony/symfony and PHP version pins. Expect ~2.7|~2.8 and PHP 5.5–7.0. Do not try this on Symfony 3.4+ or Flex without forking; the DI extension and template conventions will fight you.
  2. Install into a throwaway Symfony 2.8 app first, not your real project:
    composer require toro/core-bundle
    
    If it isn't on Packagist under that name, add the VCS repository and require the dev-master constraint.
  3. Register it in app/AppKernel.php under new Toro\CoreBundle\ToroCoreBundle() — verify the actual bundle class name and namespace from the repo root before guessing.
  4. Import routing only if it has routes. Look for Resources/config/routing.yml or routing/*.xml; add it under app/config/routing.yml with a prefix so it doesn't collide with your app.
  5. Publish assets: php app/console assets:install --symlink and assetic:dump if it uses Assetic (very likely for 2017).

Where to look first, in order of signal:

  • DependencyInjection/ — reveals every config key and default, and whether it defines services at all.
  • Resources/config/ — services, parameters, routing.
  • Resources/views/ — the actual product here; the base layout is your integration point.
  • Resources/public/ — CSS/JS/images and the asset structure your templates will reference.

First use case: rather than adopting the whole bundle, take its base layout ({% extends '@ToroCore/layout.html.twig' %} or whatever the path resolves to — confirm via app/console debug:twig) and render one page inside your existing app. That tells you quickly whether the asset pipeline and CSS conventions align with your project before you restructure anything.

Implementation Patterns

Layout extension as the primary contract. This bundle's value is almost certainly a Twig base template plus blocks. The healthy pattern is:

{# app/Resources/views/admin/dashboard.html.twig #}
{% extends '@ToroCore/layout.html.twig' %}

{% block title %}Dashboard{% endblock %}
{% block content %}
    {# your markup #}
{% endblock %}

Enumerate available blocks first (grep -n "{% block" Resources/views/layout.html.twig). Overriding a block you guessed at is the most common silent failure — Twig just renders the parent's default.

Override, don't edit vendor. Use app/Resources/ToroCoreBundle/views/... (Symfony 2 bundle inheritance) to shadow any template you need to change. This survives composer update and keeps the diff reviewable. If the bundle's templates are hopelessly coupled, prefer copying the layout into your app and dropping the dependency — at 0 stars you are the maintainer.

Config as a feature flag. Whatever the DI extension exposes (toro_core: { ... } in config.yml), keep it in config_dev.yml/config_prod.yml variants so you can disable the bundle's own routing and services in environments where it misbehaves. Look for a enabled/assets style toggle in the Configuration class.

Composition with sibling bundles. A "core UI" bundle from this era typically assumes companion bundles (menu, admin, form-theme bundles) that provide routes or Twig functions. If templates reference {{ toro_menu(...) }} or similar and you get "Unknown function", you're missing a sibling — either install it or stub the function in a small Twig extension.

Form theming. If Resources/views/Form/ exists, register it:

# config.yml
twig:
    form_themes:
        - 'ToroCoreBundle:Form:fields.html.twig'

This is where bundles like this usually deliver the most day-to-day value, and it's also the most fragile against Symfony minor-version form rendering changes.

Asset strategy. If it's Assetic-based, keep it isolated: one {% stylesheets %} block in your layout rather than scattering tags through partials. If you're migrating forward, assets:install --symlink the public dir and reference bundles/torocore/... paths directly, which decouples you from Assetic filters.

Gotchas and Tips

  • Symfony 2 is EOL (Nov 2018) and this bundle stopped in mid-2017. It will not install alongside Symfony 3.4/4/5/6 without constraint surgery. The DependencyInjection/Configuration.php and any Definition::setScope()-era calls are the usual breakages.
  • Zero stars, zero dependents means zero bug reports. Nothing you hit will be documented. Assume any subtle behavior is a bug rather than a feature and verify against the source.
  • Namespace resolution is your first failure mode. Toro\CoreBundle vs a differently-cased or differently-segmented namespace causes a confusing "class not found" at kernel boot. composer dump-autoload and check vendor/toro/core-bundle/composer.json's autoload.psr-4 map.
  • Template path guessing. @ToroCore/... versus ToroCoreBundle:Default:index.html.twig depends on the Symfony version and bundle config. Use app/console debug:twig --filter=... or just find vendor/toro/core-bundle -name "*.twig" and match literal paths.
  • Debugging checklist for a blank or unstyled page: app/console debug:router (is the route even registered?), debug:container | grep -i toro (did the extension load?), app/console twig:lint app/Resources/views (block/extends errors), browser network tab (404s on bundles/torocore/* mean assets:install wasn't run or the web dir isn't writable).
  • Cache invalidation. After editing vendor templates or config, app/console cache:clear --env=dev is mandatory; stale Twig caches from a different bundle version produce phantom errors that look like code bugs.
  • Extension points, in order of safety: Twig template override → Twig extension to add missing functions → service decoration/parameter override → forking the bundle. Stop at the earliest one that works; forking a 0-star abandoned bundle means you own it forever.
  • Exit criterion. If you find yourself patching more than two files in vendor/, cut the cord: copy Resources/views and Resources/public into your own bundle, delete the dependency, and keep the templates. For a UI-only bundle, that's usually cheaper than maintaining compatibility with a dead library.
  • Security note: an unmaintained 2017 UI bundle won't have had XSS/escaper fixes. Audit for |raw in its templates before rendering anything user-supplied inside its blocks.
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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
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