Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Please fix the following installer errors
- This plugin did not install gracefully
- > User deprecated in wp-content/plugins/projects-m-membership/vendor/twig/twig/lib/Twig/Loader/Filesystem.php+7
Using the "Twig_Loader_Filesystem" class is deprecated since Twig version 2.7, use "Twig\Loader\FilesystemLoader" instead.
Server metrics [RAM: ▼1.77MB] [CPU: ▼53.42ms] Passed 4 tests
Analyzing server-side resources used by Projects M Membership
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.22 ▼1.24 | 13.32 ▼41.80 |
Dashboard /wp-admin | 2.24 ▼1.06 | 9.86 ▼35.93 |
Posts /wp-admin/edit.php | 2.25 ▼1.11 | 8.07 ▼41.46 |
Add New Post /wp-admin/post-new.php | 2.24 ▼3.65 | 10.34 ▼94.50 |
Media Library /wp-admin/upload.php | 2.25 ▼0.99 | 8.98 ▼23.62 |
Übersicht /wp-admin/admin.php?page=pm_membership | 2.24 | 8.76 |
Anmeldungen /wp-admin/admin.php?page=pm_membership_sign-ups | 2.24 | 8.89 |
Server storage [IO: ▲1.27MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 455 new files
Database: 1 new table, 7 new options
New tables |
---|
wp_pm_membership_sign_ups |
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-comments |
db_upgraded |
theysaidso_admin_options |
can_compress_scripts |
membership__db_version |
widget_recent-posts |
Browser metrics Passed 4 tests
A check of browser resources used by Projects M Membership
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,910 ▲164 | 13.61 ▼0.77 | 5.79 ▲3.95 | 41.75 ▼1.33 |
Dashboard /wp-admin | 2,220 ▲29 | 4.89 ▼0.02 | 102.18 ▼8.77 | 66.92 ▲28.27 |
Posts /wp-admin/edit.php | 2,118 ▲26 | 1.98 ▼0.02 | 35.49 ▼6.44 | 34.55 ▼3.95 |
Add New Post /wp-admin/post-new.php | 1,690 ▲157 | 22.40 ▼0.82 | 749.50 ▲30.66 | 54.62 ▼1.72 |
Media Library /wp-admin/upload.php | 1,411 ▲26 | 4.14 ▼0.04 | 97.32 ▼5.04 | 75.21 ▲34.21 |
Übersicht /wp-admin/admin.php?page=pm_membership | 905 | 2.21 | 27.59 | 30.62 |
Anmeldungen /wp-admin/admin.php?page=pm_membership_sign-ups | 925 | 2.05 | 25.66 | 26.64 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
- Uninstall procedure validation failed for this plugin
- > User deprecated in wp-content/plugins/projects-m-membership/vendor/twig/twig/lib/Twig/Loader/Filesystem.php+7
Using the "Twig_Loader_Filesystem" class is deprecated since Twig version 2.7, use "Twig\Loader\FilesystemLoader" instead.
- Zombie WordPress options detected upon uninstall: 6 options
- widget_theysaidso_widget
- widget_recent-posts
- can_compress_scripts
- theysaidso_admin_options
- db_upgraded
- widget_recent-comments
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Please fix the following server-side errors
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=pm_membership_sign-ups
- > User deprecated in wp-content/plugins/projects-m-membership/vendor/twig/twig/lib/Twig/Loader/Filesystem.php+7
Using the "Twig_Loader_Filesystem" class is deprecated since Twig version 2.7, use "Twig\Loader\FilesystemLoader" instead.
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=pm_membership_sign-ups
- > User deprecated in wp-content/plugins/projects-m-membership/vendor/twig/twig/lib/Twig/Environment.php+7
Using the "Twig_Environment" class is deprecated since Twig version 2.7, use "Twig\Environment" instead.
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=pm_membership_sign-ups
- > Notice in wp-content/plugins/projects-m-membership/src/Api/MembershipCloud.php+122
Trying to access array offset on value of type null
SRP 0% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Almost there! Just fix the following items
- 1× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/projects-m-membership/projects-m-membership.php
- 169× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Twig\\TokenParser\\AbstractTokenParser' not found in wp-content/plugins/projects-m-membership/vendor/twig/twig/src/TokenParser/ImportTokenParser.php:23
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\Binary\\AbstractBinary' not found in wp-content/plugins/projects-m-membership/vendor/twig/twig/src/Node/Expression/Binary/LessEqualBinary.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\AbstractExpression' not found in wp-content/plugins/projects-m-membership/vendor/twig/twig/src/Node/Expression/GetAttrExpression.php:19
- > PHP Fatal error
Uncaught Error: Class 'ProjectsM\\MembershipWordpress\\Api\\Data\\AbstractEntity' not found in wp-content/plugins/projects-m-membership/src/Api/Data/OptionsCategory.php:6
- > PHP Fatal error
Uncaught Error: Class 'ProjectsM\\MembershipWordpress\\Api\\Data\\AbstractEntity' not found in wp-content/plugins/projects-m-membership/src/Api/Data/Notification/WelcomeNotification.php:8
- > PHP Fatal error
Uncaught Error: Class 'Twig\\Error\\Error' not found in wp-content/plugins/projects-m-membership/vendor/twig/twig/src/Error/SyntaxError.php:20
- > PHP Fatal error
Uncaught Error: Interface 'ProjectsM\\MembershipWordpress\\Api\\Constraint\\ValidationConstraintInterface' not found in wp-content/plugins/projects-m-membership/src/Api/Constraint/IbanConstraint.php:6
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\ode' not found in wp-content/plugins/projects-m-membership/vendor/twig/twig/src/Node/SetNode.php:22
- > PHP Fatal error
Uncaught Error: Class 'Twig\\TokenParser\\AbstractTokenParser' not found in wp-content/plugins/projects-m-membership/vendor/twig/twig/src/TokenParser/IncludeTokenParser.php:25
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\AbstractExpression' not found in wp-content/plugins/projects-m-membership/vendor/twig/twig/src/Node/Expression/ArrowFunctionExpression.php:22
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
There were no browser issues found
Optimizations
Plugin configuration Passed 29 tests
readme.txt Passed 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
No plugin tags provided
projects-m-membership/projects-m-membership.php Passed 13 tests
"Projects M Membership" version 1.4.4's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
77 characters long description:
Integrates the Projects M Membership system into your WordPress installation.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Everything looks great! No dangerous files found in this plugin20,314 lines of code in 439 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 418 | 4,476 | 6,089 | 19,105 |
JSON | 7 | 0 | 0 | 650 |
Twig | 5 | 26 | 2 | 294 |
YAML | 2 | 48 | 0 | 155 |
Markdown | 4 | 47 | 0 | 98 |
reStructuredText | 1 | 8 | 5 | 10 |
CSS | 1 | 0 | 0 | 1 |
JavaScript | 1 | 0 | 0 | 1 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.48 |
Average class complexity | 5.31 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 166.00 |
Average method complexity | 2.73 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 33.00 |
Code structure | ||
---|---|---|
Namespaces | 35 | |
Interfaces | 16 | |
Traits | 1 | |
Classes | 384 | |
▷ Abstract classes | 12 | 3.12% |
▷ Concrete classes | 372 | 96.88% |
▷ Final classes | 52 | 13.98% |
Methods | 1,006 | |
▷ Static methods | 96 | 9.54% |
▷ Public methods | 837 | 83.20% |
▷ Protected methods | 61 | 6.06% |
▷ Private methods | 108 | 10.74% |
Functions | 183 | |
▷ Named functions | 160 | 87.43% |
▷ Anonymous functions | 23 | 12.57% |
Constants | 72 | |
▷ Global constants | 11 | 15.28% |
▷ Class constants | 61 | 84.72% |
▷ Public constants | 60 | 98.36% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
1 compressed PNG file occupies 0.00MB
Potential savings
Compression of 1 random PNG file using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
build/img/icon.png | 0.46KB | 0.46KB | 0.00% |