Skip to content

Commit 2a3ffdf

Browse files
committed
feat: use psr-4 autoload
1 parent 9810ed7 commit 2a3ffdf

File tree

11 files changed

+195
-192
lines changed

11 files changed

+195
-192
lines changed

composer.json

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,48 @@
11
{
2-
"name": "j7-dev/wp-refine-plugin",
3-
"description": "This is a boilerplate for creating a WordPress plugin with React, Tailwind, Ant Design, TypeScript, Zod, MSW, React Router v6, React Query v4, SCSS and Vite.",
4-
"type": "wordpress-plugin",
5-
"license": "GPL-2.0-only",
6-
"authors": [
7-
{
8-
"name": "JerryLiu",
9-
"email": "[email protected]",
10-
"homepage": "https://github.com/j7-dev",
11-
"role": "Developer"
12-
}
13-
],
14-
"repositories": [
15-
{
16-
"type": "composer",
17-
"url": "https://wpackagist.org"
18-
}
19-
],
20-
"config": {
21-
"allow-plugins": {
22-
"dealerdirect/phpcodesniffer-composer-installer": true,
23-
"phpstan/extension-installer": true
24-
}
25-
},
26-
"require": {
27-
"kucrut/vite-for-wp": "^0.8.0",
28-
"j7-dev/wp-utils": "0.2.9"
29-
},
30-
"require-dev": {
31-
"squizlabs/php_codesniffer": "@stable",
32-
"wp-coding-standards/wpcs": "@stable",
33-
"dealerdirect/phpcodesniffer-composer-installer": "@stable",
34-
"phpcompatibility/php-compatibility": "@stable",
35-
"phpstan/phpstan": "^1.11",
36-
"php-stubs/woocommerce-stubs": "^9.0",
37-
"php-stubs/wordpress-stubs": "^6.5",
38-
"phpstan/extension-installer": "^1.4"
39-
},
40-
"scripts": {
41-
"lint": "phpcs"
42-
}
43-
}
2+
"name": "j7-dev/wp-refine-plugin",
3+
"description": "This is a boilerplate for creating a WordPress plugin with React, Tailwind, Ant Design, TypeScript, Zod, MSW, React Router v6, React Query v4, SCSS and Vite.",
4+
"type": "wordpress-plugin",
5+
"license": "GPL-2.0-only",
6+
"authors": [
7+
{
8+
"name": "JerryLiu",
9+
"email": "[email protected]",
10+
"homepage": "https://github.com/j7-dev",
11+
"role": "Developer"
12+
}
13+
],
14+
"repositories": [
15+
{
16+
"type": "composer",
17+
"url": "https://wpackagist.org"
18+
}
19+
],
20+
"autoload": {
21+
"psr-4": {
22+
"J7\\WpRefinePlugin\\": "inc/classes/"
23+
}
24+
},
25+
"config": {
26+
"allow-plugins": {
27+
"dealerdirect/phpcodesniffer-composer-installer": true,
28+
"phpstan/extension-installer": true
29+
}
30+
},
31+
"require": {
32+
"kucrut/vite-for-wp": "^0.8.0",
33+
"j7-dev/wp-utils": "0.2.9"
34+
},
35+
"require-dev": {
36+
"squizlabs/php_codesniffer": "@stable",
37+
"wp-coding-standards/wpcs": "@stable",
38+
"dealerdirect/phpcodesniffer-composer-installer": "@stable",
39+
"phpcompatibility/php-compatibility": "@stable",
40+
"phpstan/phpstan": "^1.11",
41+
"php-stubs/woocommerce-stubs": "^9.0",
42+
"php-stubs/wordpress-stubs": "^6.5",
43+
"phpstan/extension-installer": "^1.4"
44+
},
45+
"scripts": {
46+
"lint": "phpcs"
47+
}
48+
}

inc/class/admin/index.php

Lines changed: 0 additions & 2 deletions
This file was deleted.

inc/class/front-end/index.php

Lines changed: 0 additions & 2 deletions
This file was deleted.

inc/class/utils/index.php

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,17 @@
1010
use J7\WpRefinePlugin\Utils\Base;
1111
use J7\WpRefinePlugin\Plugin;
1212

13+
if (class_exists('J7\WpRefinePlugin\Admin\CPT')) {
14+
return;
15+
}
1316
/**
1417
* Class CPT
1518
*/
1619
final class CPT {
1720
use \J7\WpUtils\Traits\SingletonTrait;
1821

1922
/**
20-
* Post metas
23+
* Post meta
2124
*
2225
* @var array
2326
*/
@@ -31,8 +34,6 @@ final class CPT {
3134

3235
/**
3336
* Constructor
34-
*
35-
* @param array $args Arguments.
3637
*/
3738
public function __construct() {
3839
$args = [
@@ -286,5 +287,3 @@ public function load_custom_template( $template ) {
286287
return $template;
287288
}
288289
}
289-
290-
CPT::instance();
Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,30 @@
1010
use J7\WpRefinePlugin\Utils\Base;
1111
use Kucrut\Vite;
1212

13+
if ( class_exists( 'J7\WpRefinePlugin\Bootstrap' ) ) {
14+
return;
15+
}
1316
/**
1417
* Class Bootstrap
1518
*/
1619
final class Bootstrap {
1720
use \J7\WpUtils\Traits\SingletonTrait;
1821

22+
/**
23+
* @var array
24+
* Store instances of classes
25+
*/
26+
public $instances = [];
1927

2028
/**
2129
* Constructor
2230
*/
2331
public function __construct() {
24-
require_once __DIR__ . '/utils/index.php';
25-
require_once __DIR__ . '/admin/index.php';
26-
require_once __DIR__ . '/front-end/index.php';
32+
$this->instances['FrontEnd\Entry'] = FrontEnd\Entry::instance();
33+
$this->instances['Admin\CPT'] = Admin\CPT::instance();
2734

28-
\add_action( 'admin_enqueue_scripts', [ $this, 'admin_enqueue_script' ], 99 );
29-
\add_action( 'wp_enqueue_scripts', [ $this, 'frontend_enqueue_script' ], 99 );
35+
\add_action( 'admin_enqueue_scripts', [ __CLASS__, 'admin_enqueue_script' ] );
36+
\add_action( 'wp_enqueue_scripts', [ __CLASS__, 'frontend_enqueue_script' ]);
3037
}
3138

3239
/**
@@ -37,8 +44,8 @@ public function __construct() {
3744
*
3845
* @return void
3946
*/
40-
public function admin_enqueue_script( $hook ): void {
41-
$this->enqueue_script();
47+
public static function admin_enqueue_script( $hook ): void {
48+
self::enqueue_script();
4249
}
4350

4451

@@ -48,8 +55,8 @@ public function admin_enqueue_script( $hook ): void {
4855
*
4956
* @return void
5057
*/
51-
public function frontend_enqueue_script(): void {
52-
$this->enqueue_script();
58+
public static function frontend_enqueue_script(): void {
59+
self::enqueue_script();
5360
}
5461

5562
/**
@@ -58,7 +65,7 @@ public function frontend_enqueue_script(): void {
5865
*
5966
* @return void
6067
*/
61-
public function enqueue_script(): void {
68+
public static function enqueue_script(): void {
6269

6370
Vite\enqueue_asset(
6471
Plugin::$dir . '/js/dist',
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99

1010
use J7\WpRefinePlugin\Utils\Base;
1111

12+
if (class_exists('J7\WpRefinePlugin\FrontEnd\Entry')) {
13+
return;
14+
}
1215
/**
1316
* Class FrontEnd
1417
*/
@@ -19,16 +22,14 @@ final class Entry {
1922
* Constructor
2023
*/
2124
public function __construct() {
22-
\add_action( 'wp_footer', [ $this, 'render_app' ] );
25+
\add_action( 'wp_footer', [ __CLASS__, 'render_app' ] );
2326
}
2427

2528
/**
2629
* Render application's markup
2730
*/
28-
public function render_app(): void {
31+
public static function render_app(): void {
2932
// phpcs:ignore
30-
echo '<div id="' . substr(Base::APP2_SELECTOR, 1) . '"></div>';
33+
echo '<div id="' . substr(Base::APP1_SELECTOR, 1) . '"></div>';
3134
}
3235
}
33-
34-
Entry::instance();

0 commit comments

Comments
 (0)