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.
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:
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.composer require toro/core-bundle
If it isn't on Packagist under that name, add the VCS repository and require the dev-master constraint.app/AppKernel.php under new Toro\CoreBundle\ToroCoreBundle() — verify the actual bundle class name and namespace from the repo root before guessing.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.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.
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.
DependencyInjection/Configuration.php and any Definition::setScope()-era calls are the usual breakages.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.@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.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).app/console cache:clear --env=dev is mandatory; stale Twig caches from a different bundle version produce phantom errors that look like code bugs.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.|raw in its templates before rendering anything user-supplied inside its blocks.How can I help you explore Laravel packages today?