Commands encapsulate requests to DO something in the system. Each command uses the imperative tense ("CreateWidget", "MakeCustomerHappy", "UseTheForce"). A command is an immutable value object with no behaviour of its own. Commands are processed by Command Handlers. Each command must have exactly one command handler.
class CreateWidgetCommand
{
function __construct($widgetColour, $widgetHeight, $widgetWidth){ ...}