Drupal is a registered trademark of Dries Buytaert

pinto

32 sites Security covered
View on drupal.org

Pinto is a way of defining frontend components with plain PHP. Define components as simple classes, and let Pinto do the rest. Works well with controller/render-arrays, blocks, layouts, entity displays, etc. No fussing with YAML. Some say its a nicer alternative to SDC. Helpers are provided to replicate a "single directory" setup, wherein PHP, Twig, CSS, JS are colocated.

Pinto Documentation

Example

Component class

namespace Drupal\my_site_ds;

class MyComponent {

  use Drupal\pinto\Object\DrupalInvokableSlotsTrait;

  public function __construct(
    public string $str,
    public int $number,
  ) {
  }
  
}

Template

{{ str }}
{{ number }}

Usage

(new MyComponent(
  str: 'Hello world',
  number: 123,
))();

Project

Pinto has adopted zerover. To inspire confidence, you'll find both the Drupal Pinto project and Pinto PHP library have great test coverage, code coverage, and [level 9 PHPStan] static analysis.

Development of core Pinto features happen on GitHub, while the Drupal integration happens on Drupal.org. Each of these projects are completely independent, while the Drupal integration has a dependency on the library.

See also:

Documentation

Official documentation is available at https://pinto.docs.contrib.social/

Read the blog posts on Pinto:

Activity

Total releases
18
First release
Jan 2025
Latest release
2 months ago
Release cadence
19 days
Stability
67% stable

Release Timeline

Releases

Version Type Release date
0.7.0-beta6 Pre-release Dec 22, 2025
0.7.0-beta5 Pre-release Dec 21, 2025
0.7.0-beta4 Pre-release Dec 20, 2025
0.7.0-beta3 Pre-release Dec 19, 2025
0.7.0-beta2 Pre-release Dec 17, 2025
0.7.0-beta1 Pre-release Dec 11, 2025
0.6.0 Stable Nov 6, 2025
0.5.2 Stable Aug 7, 2025
0.5.1 Stable May 4, 2025
0.5.0 Stable Apr 20, 2025
0.4.3 Stable Apr 14, 2025
0.4.2 Stable Apr 9, 2025
0.3.2 Stable Apr 9, 2025
0.4.1 Stable Apr 7, 2025
0.4.0 Stable Apr 5, 2025
0.3.1 Stable Apr 4, 2025
0.3.0 Stable Apr 1, 2025
0.2.2 Stable Jan 31, 2025