PHP Slim - how to have multiple app objects for different routes?

user2302052

Is it possible to have multiple Slim application objects for different sections/routes of a website.

For example:

  • /api -> having its own Slim object with its own routes, configs etc.
  • /admin-panel -> having its own Slim objects (maybe with some middleware)

I already tried modifing Apache's .htaccess using:

RewriteRule ^api front_controller_api.inc.php [QSA,L]
RewriteRule ^admin-panel front_controller_admin.inc.php [QSA,L]

...but this seems to break Slim's routing principles because Slim thinks that /api and /admin-panel are part of the request URI. It would be much easier to have different app objects with different configurations, middlewares etc. for each section of a page.

Any idea?

Martin

I don't know if that's the correct way to do it, but you try a folder structure like this:

public/
|-> api/
    |-> index.php
    |-> .htaccess
|-> admin-panel/
    |-> index.php
    |-> .htaccess

UPDATE:

I "investigated" some more and came up with another solution:

public/
|-> .htaccess
|-> admin-panel.php
|-> api.php

.htaccess:

RewriteEngine On

# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess file.
#
# RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^admin-panel/ admin-panel.php [QSA,L]
RewriteRule ^api/ api.php [QSA,L]

UPDATE 2:

With this solution you have to group everything to '/admin-panel' or '/api' in your route defintion.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

How to refactor long php file of routes (I'm using Slim Framework)

Multiple Slim routes with the same signature

How to access all routes from Slim 3 php framework?

Slim 3 multiple routes to one function?

How to make objects have different names based on the current iteration in the loop?

Slim 4 get all routes into a controller without $app

Avoiding Multiple Routes for Different Languages

How to have disposable routes in Camel?

How to use React Context API to have a state across multiple Routes?

How to have multiple numpy random generating objects with different seeds t the same time

How to instance draw with different transformations for multiple objects

How to have multiple radio buttons with different functionality?

How do different Android app components with different lifecycles share objects?

How to get Slim PHP Framework routes in a subdirectory on nginx

Pass 'use' objects to Routes with Slim Framework

AngularJS, How about multiple routes with different templates but the same controller?

Slim Framework PHP - block routes access to users in some conditions

use different routes for different ports in express app

Azure API App multiple actions with same verb and different routes gives swagger error

How to have different routes ids on different routes for the same resources?

how to update 1 of multiple auxilliary routes in Angular app

Slim Framework: How to catch multiple fully OPTIONAL routes?

List all routes with group in php slim 3

How to separate different routes in different directory with slim Framwork

How to use multiple domains with different pages and routes in Laravel?

How to have multiple placeholders with different colors in HTML?

How to import multiple objects in different files easily

How to modify an array of objects if two following objects have different value?

How to have multiple remix routes serving the same file?

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive