statify icon indicating copy to clipboard operation
statify copied to clipboard

migrate to PSR-4 namespace and use Composer in production

Open stklcode opened this issue 1 year ago • 4 comments

This PR is WORK IN PROGRESS and not yet ready to be merged.


This proposal does change the project structure and class names.

First we introduce a Pluginkollektiv\Statify\ namespace and move the classes into it stripping their prefixes, i.e. Statify_Frontend will become Pluginkollektiv\Statify\Frontend. Then we introduce a PSR-4 autoloader with Composer and replace our custom autoloading function.

ToDo:

  • Find a different way to minify our CS/JS resources, because this currently requires dev-dependencies, so the mechanism is not yet suitable for production.
    • Might be a pre-commit hook that generates them, so they are kept in the source tree while still be automatically generated.
  • Point third-party CSS/JS to the vendor directory.
  • Discuss, whether we want to go that way (probably do this first place)

stklcode avatar Mar 31 '23 19:03 stklcode

A small suggestion: I would stick to Vendor\Product scheme for namespaces as this scheme is well-established in PHP world and use Pluginkollektiv as vendor name, so the new namespace would be Pluginkollektiv\Statify. This lessens the risk of namespace collision to practically zero as Pluginkollektiv is also well-established name in PHP world... :-)

chesio avatar Apr 01 '23 07:04 chesio

Good point.

stklcode avatar Apr 01 '23 08:04 stklcode

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 18 Code Smells

No Coverage information No Coverage information
1.7% 1.7% Duplication

sonarqubecloud[bot] avatar Sep 17 '23 08:09 sonarqubecloud[bot]

I would vote to go with the minimal approach from #260 for now

florianbrinkmann avatar Sep 17 '23 14:09 florianbrinkmann