Skip to content

Instantly share code, notes, and snippets.

@Lefaux
Last active January 27, 2018 13:30
Show Gist options
  • Save Lefaux/4baaf7d209fe895bc2d936593e7333ab to your computer and use it in GitHub Desktop.
Save Lefaux/4baaf7d209fe895bc2d936593e7333ab to your computer and use it in GitHub Desktop.
Readibility Test
<?php
// Variant A (in order to make PHPStorm EA Inspections happy)
if ($this->languageHasTranslationsCache[$lP]['hasStandAloneContent']
&& $this->languageHasTranslationsCache[$lP]['hasTranslations']
) {
$languageMode = $this->getLanguageService()->getLL('languageModeMixed');
$labelClass = 'danger';
} elseif (!$this->languageHasTranslationsCache[$lP]['hasStandAloneContent']
&& $this->languageHasTranslationsCache[$lP]['hasTranslations']
) {
$languageMode = $this->getLanguageService()->getLL('languageModeConnected');
$labelClass = 'info';
} elseif ($this->languageHasTranslationsCache[$lP]['hasStandAloneContent']
&& !$this->languageHasTranslationsCache[$lP]['hasTranslations']
) {
$languageMode = $this->getLanguageService()->getLL('languageModeFree');
$labelClass = 'info';
}
// Variant A1
if ($this->languageHasTranslationsCache[$lP]['hasStandAloneContent']
&& $this->languageHasTranslationsCache[$lP]['hasTranslations']
) {
$languageMode = $this->getLanguageService()->getLL('languageModeMixed');
$labelClass = 'danger';
} elseif (!$this->languageHasTranslationsCache[$lP]['hasStandAloneContent']) {
$languageMode = $this->getLanguageService()->getLL('languageModeConnected');
$labelClass = 'info';
} elseif ($this->languageHasTranslationsCache[$lP]['hasStandAloneContent']) {
$languageMode = $this->getLanguageService()->getLL('languageModeFree');
$labelClass = 'info';
}
// Variant B
switch (true) {
case $this->languageHasTranslationsCache[$lP]['hasStandAloneContent'] && $this->languageHasTranslationsCache[$lP]['hasTranslations']:
$languageMode = $this->getLanguageService()->getLL('languageModeMixed');
$labelClass = 'danger';
break;
case $this->languageHasTranslationsCache[$lP]['hasTranslations']:
$languageMode = $this->getLanguageService()->getLL('languageModeConnected');
$labelClass = 'info';
break;
case $this->languageHasTranslationsCache[$lP]['hasStandAloneContent']:
$languageMode = $this->getLanguageService()->getLL('languageModeFree');
$labelClass = 'info';
break;
default:
// we'll let opcode optimize this intentionally empty case
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment