Jump to content

Newbie notation question


Fionn

Recommended Posts

I am fairly new to php coding and completely new Drupal 8 coding. I am having trouble understanding some regular notation I see in passing arguments to functions. Here is an example 

function mymodule_form_alter(&$form, Drupal\Core\Form\FormStateInterface $form_state, $form_id)

I am not sure what "Drupal\Core\Form\FormStateInterface $form_state" means. Does is mean that $form_state will be passed in from FormStateInterface?

Link to comment
Share on other sites

That is "type hinting" which PHP calls "Type Declarations".  It is telling PHP that when this function is called and a $form_state object is passed in, it must be an object that implements the Drupal\Core\Form\FormStateInterface.  

In general, Interface definitions describe a series of methods that a class must implement, so that in dependency injection situations, a class can be certain it can safely call a specific class function for an injected object (ie. an object that was passed into the class) and know that certain methods exist even though the object class is otherwise completely unknown to the wrapper class. 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.