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

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.