setDictionary('_index',100); include "../lib/es_ES/Person.php"; // skip next day // skip next workingday // skip next weekend // skip next monday // skip add 8 hours // skip next month (first month) $chaos->table('table',1000) ->field('name','string','database','',0,200) ->field('fullname','string','database','',0,200) ->field('text','string','database','',0,40) ->field('prefix','string','database','',0,40) ->field('prefixprop','string','database','',0,40) ->field('nationalid','string','database','',0,40) ->field('email','string','database','',0,40) ->field('sex','int','local',0,0,1) ->setArray('suffix',PersonContainer::$suffix,'increase') ->setArray('firstNameMale',PersonContainer::$firstNameMale,"increase") // first name are not popular, last names are most popular ->setArray('lastName',PersonContainer::$lastName) ->setArray('titleMale',PersonContainer::$titleMale) ->setArray('firstNameFemale',PersonContainer::$firstNameFemale,"decrease") // first name are popular, last names are least popular ->setArray('titleFemale',PersonContainer::$titleFemale) ->setArray('loremIpsum',PersonContainer::$loremIpsum) ->setArray('domains',PersonContainer::$domains) ->setArray('prefixarray',[''=>70,'Dr.'=>10,'Phd.'=>20]) //70% change of no prefix, 10% of Dr. and 20% of PhD ->setFormat('maleNameFormats',PersonContainer::$maleNameFormats) // '{{titleMale}} {{firstNameMale}} {{lastName}}', ->setFormat('femaleNameFormats',PersonContainer::$femaleNameFormats) ->setFormat('formatProp',['{{firstNameMale}}'=>80,'{{suffix}} {{firstNameMale}}'=>20]) // 80% only name, 20% suffix and name ->gen('when always then sex=random(0,1)') ->gen('when sex=0 set name.value=randomarray("firstNameMale")') ->gen('when sex=0 set fullname.value=randomformat("maleNameFormats")') /** @see \eftec\chaosmachineone\ChaosMachineOne::randomformat */ ->gen('when sex=1 set name.value=randomarray("firstNameFemale")') ->gen('when sex=1 set fullname.value=randomformat("femaleNameFormats")') ->gen('when always set prefixprop.value=randomformat("formatProp")') ->gen('when always set prefix.value=randomarray("prefixarray")') ->gen('when always set nationalid.value=randommask("##-00 uu ll \0 - xx (?)","lastName")') // 0 optional number #=forced number, u=upper text, l=lower text o=optional text,a=array ->gen('when always then text.value=randomtext("Lorem ipsum dolor","loremIpsum",1,4,30)') ->gen('when always then email.value=name.getvalue and email.concat=randommask("@?","domains")') ->showTable(['name','fullname','text','prefix','prefixprop','nationalid','email'],true) ->run();