064ae558ab
- The `Container` class now implements `Psr\Container\ContainerInterface` (and registers itself as such), holding a private instance of the real container. This way it's a read-only container from the point of view of plugins (which should use their own containers, but can still use this to get WooCommerce classes). - All registrations are now done in the `Container` constructor via service providers. - The container instance is now held in a global variable, set in `woocommerce.php` - Added the `wc_get_container` function for old code. - Added the `AbstractServiceProvider` class, which inherits with the corresponding League's class and adds some utility methods, most notably `add/shareWithAutoArguments`. - Added the `ActionsProxy` and `LegacyProxy` classes, they are registered via a dedicated service provider. - `WC_Queue_Interface` is no longer resolvable via the container (which is for classes inside `src` only). - All the method names in the new classes have the format `fooBarFizz` to be PSR4 compliant, so the MethodNameInvalid error has been disabled in phpcs.xml for the `src` directory. - Introduced the `@public` annotation for public API classes (classes that plugins can use and whose backwards compatibility we guarantee), applied to `ActionsProxy` and to `LegacyProxy` for now. - Removed the hack for the autoloader as now it doesn't work anyway. For the changes in this branch to work, now WP_DEBUG must be false. |
||
---|---|---|
.github | ||
.wordpress-org | ||
assets | ||
bin | ||
i18n | ||
includes | ||
packages | ||
sample-data | ||
src | ||
templates | ||
tests | ||
.codeclimate.yml | ||
.codecov.yml | ||
.distignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.scrutinizer.yml | ||
.stylelintrc | ||
.travis.yml | ||
CHANGELOG.txt | ||
CODE_OF_CONDUCT.md | ||
Dockerfile | ||
Gruntfile.js | ||
README.md | ||
babel.config.js | ||
composer.json | ||
composer.lock | ||
docker-compose.yaml | ||
lerna.json | ||
license.txt | ||
package-lock.json | ||
package.json | ||
phpcs.xml | ||
phpunit.xml | ||
readme.txt | ||
renovate.json | ||
uninstall.php | ||
webpack.config.js | ||
woocommerce.php |
README.md
Welcome to the WooCommerce repository on GitHub. Here you can browse the source, look at open issues and keep track of development. We recommend all developers to follow the WooCommerce development blog to stay up to date about everything happening in the project. You can also follow @DevelopWC on Twitter for the latest development updates.
If you are not a developer, please use the WooCommerce plugin page on WordPress.org.
Documentation
- WooCommerce Documentation
- WooCommerce Developer Documentation
- WooCommerce Code Reference
- WooCommerce REST API Docs
Reporting Security Issues
To disclose a security issue to our team, please submit a report via HackerOne here.
Support
This repository is not suitable for support. Please don't use our issue tracker for support requests, but for core WooCommerce issues only. Support can take place through the appropriate channels:
- If you have a problem, you may want to start with the self help guide.
- The WooCommerce.com premium support portal for customers who have purchased themes or extensions.
- Our community forum on wp.org which is available for all WooCommerce users.
- The WooCommerce Help and Share Facebook group.
- For customizations, you may want to check our list of WooExperts or Codeable.
Support requests in issues on this repository will be closed on sight.
Contributing to WooCommerce
If you have a patch or have stumbled upon an issue with WooCommerce core, you can contribute this back to the code. Please read our contributor guidelines for more information how you can do this.