impress-org / givewp

GiveWP - The #1 Donation Plugin for WordPress. Easily accept donations and fundraise using your WordPress website.
https://givewp.com/
GNU General Public License v3.0
345 stars 191 forks source link

feat: improve core bootstrapping #4562

Closed ravinderk closed 3 years ago

ravinderk commented 4 years ago

Feature Request

Developer Story

As a developer, I want to load a part of the plugin code only if required. This will improve plugin loading performance and also reduce memory usage.

https://github.com/impress-org/givewp/blob/0e92e84d9444dee243cdf73cb65cb53fa45e1373/give.php#L355 https://github.com/impress-org/givewp/blob/0e92e84d9444dee243cdf73cb65cb53fa45e1373/give.php#L479

As we can see in the above link that we are loading most of the core initial even if not required.

Slack discussion: https://givewp.slack.com/archives/C0FAGC83C/p1584561548026300

Possible Solution

Improve the plugin bootstrapping process and load classes and functions dynamically by the autoloader.

Acceptance Criteria

JasonTheAdams commented 3 years ago

We now have a slick new bootstrapping system using Service Providers. So this can be closed! 🙌