PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.1.0
GiveWP – Donation Plugin and Fundraising Platform v3.1.0
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / TestData / ServiceProvider.php
give / src / TestData Last commit date
Addons 4 years ago Commands 4 years ago Factories 4 years ago Framework 2 years ago Repositories 4 years ago Addons.php 4 years ago ServiceProvider.php 2 years ago
ServiceProvider.php
92 lines
1 <?php
2
3 namespace Give\TestData;
4
5 use Give\Vendors\Faker\Factory as FakerFactory;
6 use Give\Vendors\Faker\Generator as FakerGenerator;
7 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
8 use Give\ServiceProviders\ServiceProvider as GiveServiceProvider;
9 use Give\TestData\Commands\DonationSeedCommand;
10 use Give\TestData\Commands\DonationStatusCommand;
11 use Give\TestData\Commands\DonorSeedCommand;
12 use Give\TestData\Commands\FormSeedCommand;
13 use Give\TestData\Commands\LogsSeedCommand;
14 use Give\TestData\Commands\PageSeedCommand;
15 use WP_CLI;
16
17 /**
18 * Class ServiceProvider
19 * @package Give\TestData
20 */
21 class ServiceProvider implements GiveServiceProvider
22 {
23 /**
24 * @inheritDoc
25 */
26 public function register()
27 {
28 // Instead of passing around an instance, bind a singleton to the container.
29 give()->singleton(
30 FakerGenerator::class,
31 function () {
32 return FakerFactory::create();
33 }
34 );
35 }
36
37 /**
38 * @inheritDoc
39 */
40 public function boot()
41 {
42 // Add CLI commands
43 if (defined('WP_CLI') && WP_CLI) {
44 $this->addCommands();
45
46 try {
47 $this->loadAddonsServiceProviders();
48 } catch (InvalidArgumentException $e) {
49 exit($e->getMessage());
50 }
51 }
52 }
53
54 /**
55 * Load addons service providers for TestData
56 */
57 private function loadAddonsServiceProviders()
58 {
59 $providers = [];
60
61 // Load Test Data add-ons Service Providers as they are not handled by Give
62 foreach (Addons::getActiveAddons() as $addon) {
63 if ( ! is_subclass_of($addon['serviceProvider'], GiveServiceProvider::class)) {
64 throw new InvalidArgumentException(
65 "{$addon['serviceProvider']} class must implement the ServiceProvider interface"
66 );
67 }
68
69 $addonServiceProvider = new $addon['serviceProvider']();
70 $addonServiceProvider->register();
71 $providers[] = $addonServiceProvider;
72 }
73
74 foreach ($providers as $addonServiceProvider) {
75 $addonServiceProvider->boot();
76 }
77 }
78
79 /**
80 * Add CLI comands
81 */
82 private function addCommands()
83 {
84 WP_CLI::add_command('give test-donors', give()->make(DonorSeedCommand::class));
85 WP_CLI::add_command('give test-donations', give()->make(DonationSeedCommand::class));
86 WP_CLI::add_command('give test-donation-statuses', give()->make(DonationStatusCommand::class));
87 WP_CLI::add_command('give test-demonstration-page', give()->make(PageSeedCommand::class));
88 WP_CLI::add_command('give test-donation-form', give()->make(FormSeedCommand::class));
89 WP_CLI::add_command('give test-logs', give()->make(LogsSeedCommand::class));
90 }
91 }
92