Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m working on an very old internal portal (pure PHP, many developers, no rules

ID: 659243 • Letter: I

Question

I'm working on an very old internal portal (pure PHP, many developers, no rules, deprecated functions, etc...) which contains many independent tools (statistics, forms, news, etc...).

In order to stop the disaster I would like to reorganize it, and I would like to base it on a framework to manage its core (routing, user permissions, DB access).

Then the different parts of the portal should be organized/developed like independent plugins/modules/blocks/extensions/whatever.

Main requirements:

Provide restricted page access, restricted functionality access, and the best would be restricted data access (all my registered users are tagged with their company name, and all DB's data too, in order to check who can access this data)
Database access compatible with SQL Server 2008
Good PHP/CSS/JS file organization for independent developments

Explanation / Answer

Laravel should do the trick just fine.

It has by default some basic authentication functions and a route filter that allows to easily restrict routes to authenticated users (or course, you can make your own filters).

If you need advanced permissions with groups and roles you can extend it with third-party packages such as Confide+Entrust or Sentry.

It seems to support SQL Server but I've never tried that so I can't be sure.

For your separate plugins/blocks/modules requirement, maybe you should just use multiple installations of the framework (and use the same models for shared data such as users) ? That way they don't interfere with each other, can be developed independently and if one of them breaks the others are fine.