Creating a contact form programmatically in Drupal 8
Drupal 8's expanded and broadly-used Entity API extends even to Contact Forms, and recently I needed to create a contact form programmatically as part of Honeypot's test suite. Normally, you can export a contact form as part of your site configuration, then when it's imported in a different site/environment, it will be set up simply and easily.
However, if you need to create a contact form programmatically (in code, dynamically), it's a rather simple affair:
First, use
Drupal's ContactForm class at the top of the file so you can use the class in your code later:
<?php
use Drupal\contact\Entity\ContactForm;
?>
Then, create()
and save()
a ContactForm entity using: