Skip to content

Instantly share code, notes, and snippets.

View woprrr's full-sized avatar

Alexandre Mallet woprrr

View GitHub Profile
@woprrr
woprrr / example.php
Created October 4, 2017 07:40
Drupal 8 Dynamic field cardinality
$field_updated = &$form['YOUR_FIELD_NAME'];
$field_state = \Drupal\Core\Field\WidgetBase::getWidgetState($form['#parents'], $field_updated['widget']['#field_name'], $form_state);
// You can change number of item to control the number of items we can change it with another field value into $form_state.
if ($field_state['items_count'] >= 2) {
$field_updated['widget']['add_more']['#access'] = FALSE;
}
$form['YOUR_FIELD_NAME'] = $field_updated;
<?php
namespace Drupal\ton_module\Ajax;
use Drupal\Core\Ajax\CommandInterface;
/**
* Provides an AJAX command ....
*
* This command is implemented in Drupal.AjaxCommands.prototype.ajaxRedirect.
<?php
namespace Drupal\my_dummy_module;
use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Drupal\Core\Session\AccountInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Manipulates entity type information.
filter:
paths:
- 'module/*'
tools:
php_mess_detector:
config:
code_size_rules: { cyclomatic_complexity: true, npath_complexity: true, excessive_method_length: true, excessive_class_length: true, excessive_parameter_list: true, excessive_public_count: true, too_many_fields: true, too_many_methods: true, excessive_class_complexity: true }
design_rules: { number_of_class_children: true, depth_of_inheritance: true, coupling_between_objects: true }
unused_code_rules: { unused_local_variable: true, unused_private_method: true, unused_formal_parameter: true }
tools:
php_mess_detector:
config:
code_size_rules: { cyclomatic_complexity: true, npath_complexity: true, excessive_method_length: true, excessive_class_length: true, excessive_parameter_list: true, excessive_public_count: true, too_many_fields: true, too_many_methods: true, excessive_class_complexity: true }
design_rules: { number_of_class_children: true, depth_of_inheritance: true, coupling_between_objects: true }
unused_code_rules: { unused_local_variable: true, unused_private_method: true, unused_formal_parameter: true }
naming_rules: { short_variable: true, long_variable: true, short_method: true, boolean_method_name: true }
controversial_rules: { camel_case_class_name: true, camel_case_property_name: true, camel_case_method_name: true, camel_case_parameter_name: true, camel_case_variable_name: true }
php_cs_fixer:
config:
<?php
$first = 0;
$second = 1;
$current = 1;
$tableau = [];
$nbToFound = 51;
for ($i = 0; $i <= $nbToFound; $i++) {
@woprrr
woprrr / knapsack_exercice
Created October 26, 2018 09:47
Tu dois rendre la monnaie sur une valeur qui va de 0 a 2 puissances 31 - 1 pour rendre la monnaie tu as pièce de 2 / billet de 5 et billet de 10 Tu dois trouver la façons la plus optimiser de rendre la monnaie sur la valeur donnée donc pour une valeur de 8 par exemple : 2 + 2 + 2 +2 pour 7 = 5 + 2 etc ... jusqu'a 392041010
<?php
final class Money
{
public $coin2;
public $billet5;
public $billet10;
}
@woprrr
woprrr / method_exist Vs is_callable Vs __call
Created November 5, 2018 10:09
That gist demonstrate simply when use is_callable / __call instead of method_exist to avoid all visibility problems induced by method_exist().
<?php
class LaBase {
// private function foobar() {return true;}
// public function foobar() {return true;}
}
class NoMagic extends LaBase {
function isParentFoobarCallable() {
return is_callable('parent::foobar');
/**
* Populate organisation with given already existing user list.
*
* @param array $userList
*
* @return \Doctrine\Common\Collections\ArrayCollection
*/
private function populateUsers(array $userList): ArrayCollection
{
$collection = new ArrayCollection();