Not reviewed here, but certainly a viable PHP-only option for creating a block is Carbon Fields.

https://docs.carbonfields.net/#/containers/gutenberg-blocks

A quick comparison:
- Carbon Fields has no UI within the admin area, which means that the creation of a block is only accomplished via code in a plugin or theme.
- The creation of the block itself is very easy and follows the same pattern that the rest of the library uses to create meta boxes, widgets, theme options panels, etc.

I'd love to see the folks at HTML Burger mentioned in the same vicinity as some of the other solutions mentioned above. Their product is comprehensive, easy to use and totally free. :-)