use Silex\Application; use MySubApp\Provider\SubAppServiceProvider; // create main application $app = new Application(); // mount sub-application $subApp = new SubAppServiceProvider(); $app->mount('/subapp', $subApp); // define route for main application $app->get('/', function () use ($app) { return "Hello from main application!"; }); // define route for sub-application $subApp->get('/', function () { return "Hello from sub-application!"; }); $app->run();In this example, we create a main Silex application and mount a sub-application using the `mount()` method. The sub-application is defined in a separate service provider class and has its own set of routes. The main application also has its own route. The package library used in this example is `MySubApp\Provider\SubAppServiceProvider`.