DWS WP Framework
  • Welcome
  • Primary goals
    • Modular design
    • No 3rd-party dependencies
  • Key concepts and dev tools
    • PHP and WP requirements
    • Object-Oriented Programming
    • Semantic Versioning
    • Version Control (git / GitHub)
    • Dependency Management (Composer)
    • Automated Testing (Codeception + Github Actions)
    • Dependency Injection (PHP-DI)
    • Coding Standards (PHPCS and PHPMD)
    • Dependencies Scoping (PHP-Scoper)
    • TypeScript and Sass
    • Task Runners (Grunt)
  • Setting up your dev environment
    • Windows
  • Your first plugin
    • Multiple plugins using the framework on the same site
  • Frequently Asked Questions
  • Bootstrapper Module
    • Motivation
    • How it works
    • How to use
    • White Labeling
  • Helpers Module
    • Motivation
    • How to use
  • Foundations Module
    • Motivation and How to use
    • Actions
      • Local action traits
      • Extension action traits
      • Integration action traits
    • States
    • Utilities
      • Stores
      • Handlers and Services
        • Logging Service
  • Plugin
    • Main Plugin Instance
    • Plugin Components
  • Hierarchies
  • Helpers
  • Utilities Module
    • Motivation and How to use
    • Hooks Service
      • Scoped Handler
    • Shortcodes Service
    • Templating Service
    • Assets Service
      • Scripts Handler
      • Styles Handler
    • CRON Events Service
      • Action Scheduler Handler
    • Admin Notices Service
    • Dependencies Service
    • Validation Service
  • Core Module
    • Motivation and How to use
    • Plugin Tree
      • Plugin Root
      • Plugin Functionality
    • Plugin Components
      • Internationalization
      • Installation / Upgrade / Uninstallation
  • Settings Module
    • Motivation and How to use
    • Settings Service
      • WordPress Handler
      • MetaBox Handler
      • ACF Handler
    • Validated Settings
  • WooCommerce Module
    • Motivation and How to use
    • Extended WC Logger
    • WC Settings Handler
Powered by GitBook
On this page

Was this helpful?

  1. Primary goals

No 3rd-party dependencies

PreviousModular designNextKey concepts and dev tools

Last updated 4 years ago

Was this helpful?

The framework itself doesn't have any 3rd-party dependencies. Our do -- but we don't force you to use the same libraries we do.

For example, we are strong advocates for and we really like , but you are free to build your plugins using either no dependency injection at all or using a different container. Whenever the framework references dependency injection, it simply assumes that it's been passed on a -compatible container (which should be most, if not all, popular containers) and it always provides a fallback in case no container is used at all.

That being said, the framework does have internal dependencies. It is possible to build a plugin using only the . If you need the , it will auto-install the Bootstrapper Module as well when using since that is listed as a dependency. Similarly, the depends on both the Bootstrapper and the Helpers modules, and so on.

There is an exception though. The does NOT depend on the as it is technically an extension to the . As the depends on the Settings one, it doesn't require the Core module either.

plugins
Dependency Injection
PHP-DI
PSR-11
Bootstrapper Module
Helpers Module
Composer
Foundations Module
Settings Module
Core Module
Utilities Module
WooCommerce Module