Skip to content

Instantly share code, notes, and snippets.

@prashantdsala
prashantdsala / SettingsForm.php
Last active March 6, 2023 10:42
How to create your own custom settings form in Drupal
<?php
namespace Drupal\custom_config_form\Form;
use Drupal\Core\Form\ConfigFormBase;
use Drupal\Core\Form\FormStateInterface;
/**
* Configure Custom Config Form settings for this site.
*/
@prashantdsala
prashantdsala / CustomControllerController.php
Created March 6, 2023 10:44
How to write a custom Controller in Drupal
<?php
namespace Drupal\custom_controller\Controller;
use Drupal\Core\Controller\ControllerBase;
/**
* Returns responses for Custom Controller routes.
*/
class CustomControllerController extends ControllerBase {
@prashantdsala
prashantdsala / CustomDrushCommandCommands.php
Created March 6, 2023 10:46
How to write a custom drush command in Drupal
<?php
namespace Drupal\custom_drush_command\Commands;
use Consolidation\OutputFormatters\StructuredData\RowsOfFields;
use Drush\Commands\DrushCommands;
/**
* A Drush commandfile.
*
@prashantdsala
prashantdsala / custom_template.module
Created March 6, 2023 10:55
How to create a custom template file in Drupal
<?php
/**
* @file
* Primary module hooks for Custom Template module.
*/
/**
* Implements hook_theme().
*/
@prashantdsala
prashantdsala / modulename.install
Created March 9, 2023 05:16
How to create a custom table using hook_schema() from .install file in Drupal
<?php
/**
* @file
* Install, update and uninstall functions for the modulename module.
*/
/**
* Implements hook_schema().
@prashantdsala
prashantdsala / customForm.php
Last active March 10, 2023 05:08
How to redirect from a Form using setRedirectUrl() method in Drupal
<?php
In the submitForm() method of your form class, create a new instance of the RedirectResponse class, which is used to redirect to a new URL.
// Use the setRedirectUrl() method to set the URL to which you want to redirect. You can pass the URL as a string or as an instance of the Url class.
// Return the RedirectResponse object from the submitForm() method to trigger the redirect.
// Here's an example of how to use setRedirectUrl() in a form class:
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Routing\RedirectDestinationInterface;
@prashantdsala
prashantdsala / named_arguments.php
Created March 10, 2023 05:20
Named arguments in PHP 8
<?php
// Named arguments were introduced in PHP 8,
// and they allow you to pass arguments to a function or method by specifying the name of the argument
// rather than relying on the order in which the arguments are defined.
// Here's an example of using named arguments in PHP:
function createUser($name, $email, $age) {
echo "Name: $name <br>";
@prashantdsala
prashantdsala / splat_operator.php
Last active March 10, 2023 05:29
Splat/Variadic operator (3 dots ...) in PHP
<?php
// The splat operator (also known as the variadic operator) in PHP is represented by three dots (...)
// It allows you to pass an arbitrary number of arguments to a function or method.
// Here's an example of using the splat operator in PHP:
function addNumbers(...$numbers) {
$sum = 0;
foreach ($numbers as $number) {
$sum += $number;
@prashantdsala
prashantdsala / file-download.php
Last active March 21, 2023 07:05
PHP script to directly download any file type from external URL using cURL
<?php
/**
* Generic function to direct download any type of file.
*/
function directDownloadAnyFile($file, $newfilename = '', $mimetype='', $isremotefile = false) {
$formattedhpath = "";
$filesize = "";
@prashantdsala
prashantdsala / example.php
Last active March 21, 2023 07:26
How to load media entity and get the uploaded file details from media entity programatically in Drupal
<?php
use Drupal\media\Entity\Media;
use Drupal\file\Entity\File;
use Drupal\Core\Url;
// Load the media
$media_id = <Replace with the id of media entity>;
$media = Media::load($media_id);
// Get file id from the media.