diff --git a/docs/internals/view-code-style.md b/docs/internals/view-code-style.md
index 351516c..7a115b0 100644
--- a/docs/internals/view-code-style.md
+++ b/docs/internals/view-code-style.md
@@ -25,7 +25,7 @@ use yii\widgets\ActiveForm;
 $this->title = 'Posts';
 ?>
 <!-- Separate PHP blocks are preferred for foreach, for, if etc. -->
-<?php foreach($posts as $post): ?>
+<?php foreach ($posts as $post): ?>
 	<!-- Note indentation level here. -->
 	<h2><?= Html::encode($post['title']) ?></h2>
 	<p><?= Html::encode($post['shortDescription']) ?></p>
diff --git a/extensions/apidoc/apidoc b/extensions/apidoc/apidoc
index 27a10af..a3cd374 100755
--- a/extensions/apidoc/apidoc
+++ b/extensions/apidoc/apidoc
@@ -15,7 +15,7 @@ $composerAutoload = [
 	__DIR__ . '/../../autoload.php', // script is installed as a composer binary
 ];
 $vendorPath = null;
-foreach($composerAutoload as $autoload) {
+foreach ($composerAutoload as $autoload) {
 	if (file_exists($autoload)) {
 		require($autoload);
 		$vendorPath = dirname($autoload);
@@ -27,7 +27,7 @@ $yiiDirs = [
 	__DIR__ . '/vendor/yiisoft/yii2', // standalone with "composer install" run
 	__DIR__ . '/../../yiisoft/yii2', // script is installed as a composer binary
 ];
-foreach($yiiDirs as $dir) {
+foreach ($yiiDirs as $dir) {
 	if (file_exists($dir . '/Yii.php')) {
 		require($dir . '/Yii.php');
 		break;
diff --git a/extensions/apidoc/commands/RenderController.php b/extensions/apidoc/commands/RenderController.php
index 6cf6a8c..5ed8f64 100644
--- a/extensions/apidoc/commands/RenderController.php
+++ b/extensions/apidoc/commands/RenderController.php
@@ -58,8 +58,8 @@ class RenderController extends Controller
 
 		$this->stdout('Searching files to process... ');
 		$files = [];
-		foreach($sourceDirs as $source) {
-			foreach($this->findFiles($source) as $fileName) {
+		foreach ($sourceDirs as $source) {
+			foreach ($this->findFiles($source) as $fileName) {
 				$files[$fileName] = $fileName;
 			}
 		}
@@ -80,7 +80,7 @@ class RenderController extends Controller
 			$this->stdout('done.' . PHP_EOL, Console::FG_GREEN);
 
 			$this->stdout('Checking for updated files... ');
-			foreach($context->files as $file => $sha) {
+			foreach ($context->files as $file => $sha) {
 				if (sha1_file($file) === $sha) {
 					unset($files[$file]);
 				}
@@ -92,7 +92,7 @@ class RenderController extends Controller
 		$this->stdout($fileCount . ' file' . ($fileCount == 1 ? '' : 's') . ' to update.' . PHP_EOL);
 		Console::startProgress(0, $fileCount, 'Processing files... ', false);
 		$done = 0;
-		foreach($files as $file) {
+		foreach ($files as $file) {
 			$context->addFile($file);
 			Console::updateProgress(++$done, $fileCount);
 		}
diff --git a/extensions/apidoc/models/BaseDoc.php b/extensions/apidoc/models/BaseDoc.php
index 4a48a5a..e73d4b4 100644
--- a/extensions/apidoc/models/BaseDoc.php
+++ b/extensions/apidoc/models/BaseDoc.php
@@ -76,7 +76,7 @@ class BaseDoc extends Object
 			$this->phpDocContext = $docblock->getContext();
 
 			$this->tags = $docblock->getTags();
-			foreach($this->tags as $i => $tag) {
+			foreach ($this->tags as $i => $tag) {
 				if ($tag instanceof SinceTag) {
 					$this->since = $tag->getVersion();
 					unset($this->tags[$i]);
diff --git a/extensions/apidoc/models/ClassDoc.php b/extensions/apidoc/models/ClassDoc.php
index c317881..9f52af0 100644
--- a/extensions/apidoc/models/ClassDoc.php
+++ b/extensions/apidoc/models/ClassDoc.php
@@ -45,12 +45,12 @@ class ClassDoc extends TypeDoc
 		if (($subject = parent::findSubject($subjectName)) !== null) {
 			return $subject;
 		}
-		foreach($this->events as $name => $event) {
+		foreach ($this->events as $name => $event) {
 			if ($subjectName == $name) {
 				return $event;
 			}
 		}
-		foreach($this->constants as $name => $constant) {
+		foreach ($this->constants as $name => $constant) {
 			if ($subjectName == $name) {
 				return $constant;
 			}
@@ -64,7 +64,7 @@ class ClassDoc extends TypeDoc
 	public function getNativeEvents()
 	{
 		$events = [];
-		foreach($this->events as $name => $event) {
+		foreach ($this->events as $name => $event) {
 			if ($event->definedBy != $this->name) {
 				continue;
 			}
@@ -93,13 +93,13 @@ class ClassDoc extends TypeDoc
 		$this->isAbstract = $reflector->isAbstract();
 		$this->isFinal = $reflector->isFinal();
 
-		foreach($reflector->getInterfaces() as $interface) {
+		foreach ($reflector->getInterfaces() as $interface) {
 			$this->interfaces[] = ltrim($interface, '\\');
 		}
-		foreach($reflector->getTraits() as $trait) {
+		foreach ($reflector->getTraits() as $trait) {
 			$this->traits[] = ltrim($trait, '\\');
 		}
-		foreach($reflector->getConstants() as $constantReflector) {
+		foreach ($reflector->getConstants() as $constantReflector) {
 			$docblock = $constantReflector->getDocBlock();
 			if ($docblock !== null && count($docblock->getTagsByName('event')) > 0) {
 				$event = new EventDoc($constantReflector);
diff --git a/extensions/apidoc/models/Context.php b/extensions/apidoc/models/Context.php
index c71f40d..897f94f 100644
--- a/extensions/apidoc/models/Context.php
+++ b/extensions/apidoc/models/Context.php
@@ -57,15 +57,15 @@ class Context extends Component
 		$reflection = new FileReflector($fileName, true);
 		$reflection->process();
 
-		foreach($reflection->getClasses() as $class) {
+		foreach ($reflection->getClasses() as $class) {
 			$class = new ClassDoc($class, $this, ['sourceFile' => $fileName]);
 			$this->classes[$class->name] = $class;
 		}
-		foreach($reflection->getInterfaces() as $interface) {
+		foreach ($reflection->getInterfaces() as $interface) {
 			$interface = new InterfaceDoc($interface, $this, ['sourceFile' => $fileName]);
 			$this->interfaces[$interface->name] = $interface;
 		}
-		foreach($reflection->getTraits() as $trait) {
+		foreach ($reflection->getTraits() as $trait) {
 			$trait = new TraitDoc($trait, $this, ['sourceFile' => $fileName]);
 			$this->traits[$trait->name] = $trait;
 		}
@@ -74,7 +74,7 @@ class Context extends Component
 	public function updateReferences()
 	{
 		// update all subclass references
-		foreach($this->classes as $class) {
+		foreach ($this->classes as $class) {
 			$className = $class->name;
 			while (isset($this->classes[$class->parentClass])) {
 				$class = $this->classes[$class->parentClass];
@@ -82,12 +82,12 @@ class Context extends Component
 			}
 		}
 		// update interfaces of subclasses
-		foreach($this->classes as $class) {
+		foreach ($this->classes as $class) {
 			$this->updateSubclassInferfacesTraits($class);
 		}
 		// update implementedBy and usedBy for interfaces and traits
-		foreach($this->classes as $class) {
-			foreach($class->traits as $trait) {
+		foreach ($this->classes as $class) {
+			foreach ($class->traits as $trait) {
 				if (isset($this->traits[$trait])) {
 					$trait = $this->traits[$trait];
 					$trait->usedBy[] = $class->name;
@@ -95,12 +95,12 @@ class Context extends Component
 					$class->methods = array_merge($trait->methods, $class->methods);
 				}
 			}
-			foreach($class->interfaces as $interface) {
+			foreach ($class->interfaces as $interface) {
 				if (isset($this->interfaces[$interface])) {
 					$this->interfaces[$interface]->implementedBy[] = $class->name;
 					if ($class->isAbstract) {
 						// add not implemented interface methods
-						foreach($this->interfaces[$interface]->methods as $method) {
+						foreach ($this->interfaces[$interface]->methods as $method) {
 							if (!isset($class->methods[$method->name])) {
 								$class->methods[$method->name] = $method;
 							}
@@ -110,11 +110,11 @@ class Context extends Component
 			}
 		}
 		// inherit properties, methods, contants and events to subclasses
-		foreach($this->classes as $class) {
+		foreach ($this->classes as $class) {
 			$this->updateSubclassInheritance($class);
 		}
 		// add properties from getters and setters
-		foreach($this->classes as $class) {
+		foreach ($this->classes as $class) {
 			$this->handlePropertyFeature($class);
 		}
 
@@ -127,7 +127,7 @@ class Context extends Component
 	 */
 	protected function updateSubclassInferfacesTraits($class)
 	{
-		foreach($class->subclasses as $subclass) {
+		foreach ($class->subclasses as $subclass) {
 			$subclass = $this->classes[$subclass];
 			$subclass->interfaces = array_unique(array_merge($subclass->interfaces, $class->interfaces));
 			$subclass->traits = array_unique(array_merge($subclass->traits, $class->traits));
@@ -141,7 +141,7 @@ class Context extends Component
 	 */
 	protected function updateSubclassInheritance($class)
 	{
-		foreach($class->subclasses as $subclass) {
+		foreach ($class->subclasses as $subclass) {
 			$subclass = $this->classes[$subclass];
 			$subclass->events = array_merge($class->events, $subclass->events);
 			$subclass->constants = array_merge($class->constants, $subclass->constants);
@@ -160,7 +160,7 @@ class Context extends Component
 		if (!$this->isSubclassOf($class, 'yii\base\Object')) {
 			return;
 		}
-		foreach($class->getPublicMethods() as $name => $method) {
+		foreach ($class->getPublicMethods() as $name => $method) {
 			if ($method->isStatic) {
 				continue;
 			}
@@ -232,7 +232,7 @@ class Context extends Component
 	 */
 	private function paramsOptional($method, $number = 0)
 	{
-		foreach($method->params as $param) {
+		foreach ($method->params as $param) {
 			if (!$param->isOptional && $number-- <= 0) {
 				return false;
 			}
@@ -246,7 +246,7 @@ class Context extends Component
 	 */
 	private function getFirstNotOptionalParameter($method)
 	{
-		foreach($method->params as $param) {
+		foreach ($method->params as $param) {
 			if (!$param->isOptional) {
 				return $param;
 			}
diff --git a/extensions/apidoc/models/EventDoc.php b/extensions/apidoc/models/EventDoc.php
index 17515f0..75f54fc 100644
--- a/extensions/apidoc/models/EventDoc.php
+++ b/extensions/apidoc/models/EventDoc.php
@@ -34,7 +34,7 @@ class EventDoc extends ConstDoc
 			return;
 		}
 
-		foreach($this->tags as $i => $tag) {
+		foreach ($this->tags as $i => $tag) {
 			if ($tag->getName() == 'event') {
 				$eventTag = new ReturnTag('event', $tag->getContent(), $tag->getDocBlock(), $tag->getLocation());
 				$this->type = $eventTag->getType();
diff --git a/extensions/apidoc/models/FunctionDoc.php b/extensions/apidoc/models/FunctionDoc.php
index 2a482f1..a7a599b 100644
--- a/extensions/apidoc/models/FunctionDoc.php
+++ b/extensions/apidoc/models/FunctionDoc.php
@@ -45,12 +45,12 @@ class FunctionDoc extends BaseDoc
 
 		$this->isReturnByReference = $reflector->isByRef();
 
-		foreach($reflector->getArguments() as $arg) {
+		foreach ($reflector->getArguments() as $arg) {
 			$arg = new ParamDoc($arg, $context, ['sourceFile' => $this->sourceFile]);
 			$this->params[$arg->name] = $arg;
 		}
 
-		foreach($this->tags as $i => $tag) {
+		foreach ($this->tags as $i => $tag) {
 			if ($tag instanceof ThrowsTag) {
 				$this->exceptions[$tag->getType()] = $tag->getDescription();
 				unset($this->tags[$i]);
diff --git a/extensions/apidoc/models/InterfaceDoc.php b/extensions/apidoc/models/InterfaceDoc.php
index 2b9699f..7116948 100644
--- a/extensions/apidoc/models/InterfaceDoc.php
+++ b/extensions/apidoc/models/InterfaceDoc.php
@@ -33,11 +33,11 @@ class InterfaceDoc extends TypeDoc
 			return;
 		}
 
-		foreach($reflector->getParentInterfaces() as $interface) {
+		foreach ($reflector->getParentInterfaces() as $interface) {
 			$this->parentInterfaces[] = ltrim($interface, '\\');
 		}
 
-		foreach($this->methods as $method) {
+		foreach ($this->methods as $method) {
 			$method->isAbstract = true;
 		}
 
diff --git a/extensions/apidoc/models/PropertyDoc.php b/extensions/apidoc/models/PropertyDoc.php
index fc7d99d..84cad70 100644
--- a/extensions/apidoc/models/PropertyDoc.php
+++ b/extensions/apidoc/models/PropertyDoc.php
@@ -63,7 +63,7 @@ class PropertyDoc extends BaseDoc
 			$this->defaultValue = PrettyPrinter::getRepresentationOfValue($reflector->getNode()->default);
 		}
 
-		foreach($this->tags as $tag) {
+		foreach ($this->tags as $tag) {
 			if ($tag instanceof VarTag) {
 				$this->type = $tag->getType();
 				$this->types = $tag->getTypes();
diff --git a/extensions/apidoc/models/TraitDoc.php b/extensions/apidoc/models/TraitDoc.php
index 216a535..f005f88 100644
--- a/extensions/apidoc/models/TraitDoc.php
+++ b/extensions/apidoc/models/TraitDoc.php
@@ -34,7 +34,7 @@ class TraitDoc extends TypeDoc
 			return;
 		}
 
-		foreach($reflector->getTraits() as $trait) {
+		foreach ($reflector->getTraits() as $trait) {
 			$this->traits[] = ltrim($trait, '\\');
 		}
 	}
diff --git a/extensions/apidoc/models/TypeDoc.php b/extensions/apidoc/models/TypeDoc.php
index aad261d..de535e0 100644
--- a/extensions/apidoc/models/TypeDoc.php
+++ b/extensions/apidoc/models/TypeDoc.php
@@ -41,7 +41,7 @@ class TypeDoc extends BaseDoc
 	public function findSubject($subjectName)
 	{
 		if ($subjectName[0] != '$') {
-			foreach($this->methods as $name => $method) {
+			foreach ($this->methods as $name => $method) {
 				if (rtrim($subjectName, '()') == $name) {
 					return $method;
 				}
@@ -53,7 +53,7 @@ class TypeDoc extends BaseDoc
 		if ($this->properties === null) {
 			return null;
 		}
-		foreach($this->properties as $name => $property) {
+		foreach ($this->properties as $name => $property) {
 			if (ltrim($subjectName, '$') == ltrim($name, '$')) {
 				return $property;
 			}
@@ -93,7 +93,7 @@ class TypeDoc extends BaseDoc
 	private function getFilteredMethods($visibility = null, $definedBy = null)
 	{
 		$methods = [];
-		foreach($this->methods as $name => $method) {
+		foreach ($this->methods as $name => $method) {
 			if ($visibility !== null && $method->visibility != $visibility) {
 				continue;
 			}
@@ -140,7 +140,7 @@ class TypeDoc extends BaseDoc
 			return [];
 		}
 		$properties = [];
-		foreach($this->properties as $name => $property) {
+		foreach ($this->properties as $name => $property) {
 			if ($visibility !== null && $property->visibility != $visibility) {
 				continue;
 			}
@@ -167,14 +167,14 @@ class TypeDoc extends BaseDoc
 			return;
 		}
 
-		foreach($this->tags as $i => $tag) {
+		foreach ($this->tags as $i => $tag) {
 			if ($tag instanceof AuthorTag) {
 				$this->authors[$tag->getAuthorName()] = $tag->getAuthorEmail();
 				unset($this->tags[$i]);
 			}
 		}
 
-		foreach($reflector->getProperties() as $propertyReflector) {
+		foreach ($reflector->getProperties() as $propertyReflector) {
 			if ($propertyReflector->getVisibility() != 'private') {
 				$property = new PropertyDoc($propertyReflector, $context, ['sourceFile' => $this->sourceFile]);
 				$property->definedBy = $this->name;
@@ -182,7 +182,7 @@ class TypeDoc extends BaseDoc
 			}
 		}
 
-		foreach($reflector->getMethods() as $methodReflector) {
+		foreach ($reflector->getMethods() as $methodReflector) {
 			if ($methodReflector->getVisibility() != 'private') {
 				$method = new MethodDoc($methodReflector, $context, ['sourceFile' => $this->sourceFile]);
 				$method->definedBy = $this->name;
diff --git a/extensions/apidoc/templates/bootstrap/Renderer.php b/extensions/apidoc/templates/bootstrap/Renderer.php
index 488ae3a..616e5c9 100644
--- a/extensions/apidoc/templates/bootstrap/Renderer.php
+++ b/extensions/apidoc/templates/bootstrap/Renderer.php
@@ -60,7 +60,7 @@ class Renderer extends \yii\apidoc\templates\html\Renderer
 		$types = array_merge($context->classes, $context->interfaces, $context->traits);
 
 		$controller->stdout('generating extension index files...');
-		foreach($this->extensions as $ext) {
+		foreach ($this->extensions as $ext) {
 			$readme = @file_get_contents("https://raw.github.com/yiisoft/yii2-$ext/master/README.md");
 			$indexFileContent = $this->renderWithLayout($this->indexView, [
 				'docContext' => $context,
@@ -151,7 +151,7 @@ class Renderer extends \yii\apidoc\templates\html\Renderer
 		$done = 0;
 		$fileData = [];
 		$headlines = [];
-		foreach($files as $file) {
+		foreach ($files as $file) {
 			$fileData[$file] = file_get_contents($file);
 			if (basename($file) == 'index.md') {
 				continue; // to not add index file to nav
@@ -163,7 +163,7 @@ class Renderer extends \yii\apidoc\templates\html\Renderer
 			}
 		}
 
-		foreach($fileData as $file => $content) {
+		foreach ($fileData as $file => $content) {
 			$output = ApiMarkdown::process($content); // TODO generate links to yiiframework.com by default
 			$output = $this->fixMarkdownLinks($output);
 			if ($this->guideLayout !== false) {
@@ -191,7 +191,7 @@ class Renderer extends \yii\apidoc\templates\html\Renderer
 	public function getGuideReferences()
 	{
 		$refs = [];
-		foreach($this->markDownFiles as $file) {
+		foreach ($this->markDownFiles as $file) {
 			$refName = 'guide-' . basename($file, '.md');
 			$refs[$refName] = ['url' => $this->generateGuideFileName($file)];
 		}
diff --git a/extensions/apidoc/templates/bootstrap/SideNavWidget.php b/extensions/apidoc/templates/bootstrap/SideNavWidget.php
index 2e346a2..277e14c 100644
--- a/extensions/apidoc/templates/bootstrap/SideNavWidget.php
+++ b/extensions/apidoc/templates/bootstrap/SideNavWidget.php
@@ -151,7 +151,7 @@ class SideNavWidget extends \yii\bootstrap\Widget
 			$label .= ' ' . Html::tag('b', '', ['class' => 'caret']);
 			if (is_array($items)) {
 				if ($active === false) {
-					foreach($items as $subItem) {
+					foreach ($items as $subItem) {
 						if (isset($subItem['active']) && $subItem['active']) {
 							$active = true;
 						}
diff --git a/extensions/apidoc/templates/bootstrap/layouts/api.php b/extensions/apidoc/templates/bootstrap/layouts/api.php
index 935705d..a1a61c0 100644
--- a/extensions/apidoc/templates/bootstrap/layouts/api.php
+++ b/extensions/apidoc/templates/bootstrap/layouts/api.php
@@ -14,7 +14,7 @@ $this->beginContent('@yii/apidoc/templates/bootstrap/layouts/main.php'); ?>
 		$types = $this->context->getNavTypes(isset($type) ? $type : null, $types);
 		ksort($types);
 		$nav = [];
-		foreach($types as $i=>$class) {
+		foreach ($types as $i => $class) {
 			$namespace = $class->namespace;
 			if (empty($namespace)) {
 				$namespace = 'Not namespaced classes';
diff --git a/extensions/apidoc/templates/bootstrap/layouts/guide.php b/extensions/apidoc/templates/bootstrap/layouts/guide.php
index 6673a97..cecfa44 100644
--- a/extensions/apidoc/templates/bootstrap/layouts/guide.php
+++ b/extensions/apidoc/templates/bootstrap/layouts/guide.php
@@ -17,7 +17,7 @@ $this->beginContent('@yii/apidoc/templates/bootstrap/layouts/main.php'); ?>
 			'url' => './guide_index.html',
 			'active' => isset($currentFile) && (basename($currentFile) == 'index.md'),
 		];
-		foreach($headlines as $file => $headline) {
+		foreach ($headlines as $file => $headline) {
 //			if (!isset($nav[$namespace])) {
 //				$nav[$namespace] = [
 //					'label' => $namespace,
diff --git a/extensions/apidoc/templates/bootstrap/layouts/main.php b/extensions/apidoc/templates/bootstrap/layouts/main.php
index c47bcc4..cef0a71 100644
--- a/extensions/apidoc/templates/bootstrap/layouts/main.php
+++ b/extensions/apidoc/templates/bootstrap/layouts/main.php
@@ -46,7 +46,7 @@ $this->beginPage();
 		'view' => $this,
 	]);
 	$extItems = [];
-	foreach($this->context->extensions as $ext) {
+	foreach ($this->context->extensions as $ext) {
 		$extItems[] = [
 			'label' => $ext,
 			'url' => "./ext_{$ext}_index.html",
diff --git a/extensions/apidoc/templates/bootstrap/views/index.php b/extensions/apidoc/templates/bootstrap/views/index.php
index c7339ab..1e9da87 100644
--- a/extensions/apidoc/templates/bootstrap/views/index.php
+++ b/extensions/apidoc/templates/bootstrap/views/index.php
@@ -26,7 +26,7 @@ if (isset($readme)) {
 	</tr>
 <?php
 ksort($types);
-foreach($types as $i=>$class):
+foreach ($types as $i => $class):
 ?>
 	<tr>
 		<td><?= $this->context->typeLink($class, $class->name) ?></td>
diff --git a/extensions/apidoc/templates/html/Renderer.php b/extensions/apidoc/templates/html/Renderer.php
index 6b8beb7..a440ff4 100644
--- a/extensions/apidoc/templates/html/Renderer.php
+++ b/extensions/apidoc/templates/html/Renderer.php
@@ -105,7 +105,7 @@ abstract class Renderer extends BaseRenderer implements ViewContextInterface
 		$typeCount = count($types) + 1;
 		Console::startProgress(0, $typeCount, 'Rendering files: ', false);
 		$done = 0;
-		foreach($types as $type) {
+		foreach ($types as $type) {
 			$fileContent = $this->renderWithLayout($this->typeView, [
 				'type' => $type,
 				'docContext' => $context,
@@ -147,7 +147,7 @@ abstract class Renderer extends BaseRenderer implements ViewContextInterface
 			$types = [$types];
 		}
 		$links = [];
-		foreach($types as $type) {
+		foreach ($types as $type) {
 			$postfix = '';
 			if (!is_object($type)) {
 				if (substr($type, -2, 2) == '[]') {
@@ -254,7 +254,7 @@ abstract class Renderer extends BaseRenderer implements ViewContextInterface
 	{
 		$interfaces = [];
 		sort($names, SORT_STRING);
-		foreach($names as $interface) {
+		foreach ($names as $interface) {
 			if (isset($this->context->interfaces[$interface])) {
 				$interfaces[] = $this->typeLink($this->context->interfaces[$interface]);
 			} else {
@@ -272,7 +272,7 @@ abstract class Renderer extends BaseRenderer implements ViewContextInterface
 	{
 		$traits = [];
 		sort($names, SORT_STRING);
-		foreach($names as $trait) {
+		foreach ($names as $trait) {
 			if (isset($this->context->traits[$trait])) {
 				$traits[] = $this->typeLink($this->context->traits[$trait]);
 			} else {
@@ -290,7 +290,7 @@ abstract class Renderer extends BaseRenderer implements ViewContextInterface
 	{
 		$classes = [];
 		sort($names, SORT_STRING);
-		foreach($names as $class) {
+		foreach ($names as $class) {
 			if (isset($this->context->classes[$class])) {
 				$classes[] = $this->typeLink($this->context->classes[$class]);
 			} else {
@@ -326,7 +326,7 @@ abstract class Renderer extends BaseRenderer implements ViewContextInterface
 	public function renderMethodSignature($method)
 	{
 		$params = [];
-		foreach($method->params as $param) {
+		foreach ($method->params as $param) {
 			$params[] = (empty($param->typeHint) ? '' : $param->typeHint . ' ')
 				. ($param->isPassedByReference ? '<b>&</b>' : '')
 				. $param->name
diff --git a/extensions/apidoc/templates/html/views/constSummary.php b/extensions/apidoc/templates/html/views/constSummary.php
index b9e200e..28e443e 100644
--- a/extensions/apidoc/templates/html/views/constSummary.php
+++ b/extensions/apidoc/templates/html/views/constSummary.php
@@ -29,7 +29,7 @@ ArrayHelper::multisort($constants, 'name');
 <tr>
   <th>Constant</th><th>Value</th><th>Description</th><th>Defined By</th>
 </tr>
-<?php foreach($constants as $constant): ?>
+<?php foreach ($constants as $constant): ?>
 	<tr<?= $constant->definedBy != $type->name ? ' class="inherited"' : '' ?> id="<?= $constant->name ?>">
 	  <td><?= $constant->name ?><a name="<?= $constant->name ?>-detail"></a></td>
 	  <td><?= $constant->value ?></td>
diff --git a/extensions/apidoc/templates/html/views/eventDetails.php b/extensions/apidoc/templates/html/views/eventDetails.php
index 887f831..e7cfe2d 100644
--- a/extensions/apidoc/templates/html/views/eventDetails.php
+++ b/extensions/apidoc/templates/html/views/eventDetails.php
@@ -16,7 +16,7 @@ if (empty($events)) {
 ArrayHelper::multisort($events, 'name');
 ?>
 <h2>Event Details</h2>
-<?php foreach($events as $event): ?>
+<?php foreach ($events as $event): ?>
 	<div class="detailHeader h3" id="<?= $event->name.'-detail' ?>">
 		<?= $event->name ?>
 		<span class="detailHeaderTag small">
diff --git a/extensions/apidoc/templates/html/views/eventSummary.php b/extensions/apidoc/templates/html/views/eventSummary.php
index f7ef243..e1182dc 100644
--- a/extensions/apidoc/templates/html/views/eventSummary.php
+++ b/extensions/apidoc/templates/html/views/eventSummary.php
@@ -29,7 +29,7 @@ ArrayHelper::multisort($events, 'name');
 <tr>
   <th>Event</th><th>Type</th><th>Description</th><th>Defined By</th>
 </tr>
-<?php foreach($events as $event): ?>
+<?php foreach ($events as $event): ?>
 <tr<?= $event->definedBy != $type->name ? ' class="inherited"' : '' ?> id="<?= $event->name ?>">
 	<td><?= $this->context->subjectLink($event) ?></td>
 	<td><?= $this->context->typeLink($event->types) ?></td>
diff --git a/extensions/apidoc/templates/html/views/methodDetails.php b/extensions/apidoc/templates/html/views/methodDetails.php
index 569bddf..ed83950 100644
--- a/extensions/apidoc/templates/html/views/methodDetails.php
+++ b/extensions/apidoc/templates/html/views/methodDetails.php
@@ -18,7 +18,7 @@ ArrayHelper::multisort($methods, 'name');
 ?>
 <h2>Method Details</h2>
 
-<?php foreach($methods as $method): ?>
+<?php foreach ($methods as $method): ?>
 
 	<div class="detailHeader h3" id="<?= $method->name . '()-detail' ?>">
 		<?= $method->name ?>()
@@ -36,7 +36,7 @@ ArrayHelper::multisort($methods, 'name');
 			<div class="signature2"><?= $this->context->renderMethodSignature($method) ?></div>
 		</td></tr>
 		<?php if (!empty($method->params) || !empty($method->return) || !empty($method->exceptions)): ?>
-			<?php foreach($method->params as $param): ?>
+			<?php foreach ($method->params as $param): ?>
 				<tr>
 				  <td class="paramNameCol"><?= $param->name ?></td>
 				  <td class="paramTypeCol"><?= $this->context->typeLink($param->types) ?></td>
@@ -50,7 +50,7 @@ ArrayHelper::multisort($methods, 'name');
 				  <td class="paramDescCol"><?= ApiMarkdown::process($method->return, $type); ?></td>
 				</tr>
 			<?php endif; ?>
-			<?php foreach($method->exceptions as $exception => $description): ?>
+			<?php foreach ($method->exceptions as $exception => $description): ?>
 				<tr>
 				  <td class="paramNameCol"><?= 'throws' ?></td>
 				  <td class="paramTypeCol"><?= $this->context->typeLink($exception) ?></td>
diff --git a/extensions/apidoc/templates/html/views/methodSummary.php b/extensions/apidoc/templates/html/views/methodSummary.php
index c692831..0b372ca 100644
--- a/extensions/apidoc/templates/html/views/methodSummary.php
+++ b/extensions/apidoc/templates/html/views/methodSummary.php
@@ -33,7 +33,7 @@ if ($protected && count($type->getProtectedMethods()) == 0 || !$protected && cou
 <?php
 $methods = $type->methods;
 ArrayHelper::multisort($methods, 'name');
-foreach($methods as $method): ?>
+foreach ($methods as $method): ?>
 	<?php if ($protected && $method->visibility == 'protected' || !$protected && $method->visibility != 'protected'): ?>
 	<tr<?= $method->definedBy != $type->name ? ' class="inherited"' : '' ?> id="<?= $method->name ?>()">
 		<td><?= $this->context->subjectLink($method, $method->name.'()') ?></td>
diff --git a/extensions/apidoc/templates/html/views/propertyDetails.php b/extensions/apidoc/templates/html/views/propertyDetails.php
index 3be6525..001c30f 100644
--- a/extensions/apidoc/templates/html/views/propertyDetails.php
+++ b/extensions/apidoc/templates/html/views/propertyDetails.php
@@ -18,7 +18,7 @@ ArrayHelper::multisort($properties, 'name');
 ?>
 <h2>Property Details</h2>
 
-<?php foreach($properties as $property): ?>
+<?php foreach ($properties as $property): ?>
 
 	<div class="detailHeader h3" id="<?= $property->name.'-detail' ?>">
 		<?= $property->name ?>
diff --git a/extensions/apidoc/templates/html/views/propertySummary.php b/extensions/apidoc/templates/html/views/propertySummary.php
index 8ff4020..ab33d63 100644
--- a/extensions/apidoc/templates/html/views/propertySummary.php
+++ b/extensions/apidoc/templates/html/views/propertySummary.php
@@ -33,7 +33,7 @@ if ($protected && count($type->getProtectedProperties()) == 0 || !$protected && 
 <?php
 $properties = $type->properties;
 ArrayHelper::multisort($properties, 'name');
-foreach($properties as $property): ?>
+foreach ($properties as $property): ?>
 	<?php if ($protected && $property->visibility == 'protected' || !$protected && $property->visibility != 'protected'): ?>
 	<tr<?= $property->definedBy != $type->name ? ' class="inherited"' : '' ?> id="<?= $property->name ?>">
 		<td><?= $this->context->subjectLink($property) ?></td>
diff --git a/extensions/apidoc/templates/html/views/seeAlso.php b/extensions/apidoc/templates/html/views/seeAlso.php
index 0a5fd90..3752a4f 100644
--- a/extensions/apidoc/templates/html/views/seeAlso.php
+++ b/extensions/apidoc/templates/html/views/seeAlso.php
@@ -6,7 +6,7 @@
  */
 
 $see = [];
-foreach($object->tags as $tag) {
+foreach ($object->tags as $tag) {
 	/** @var $tag phpDocumentor\Reflection\DocBlock\Tag\SeeTag */
 	if (get_class($tag) == 'phpDocumentor\Reflection\DocBlock\Tag\SeeTag') {
 		$ref = $tag->getReference();
@@ -24,7 +24,7 @@ if (empty($see)) {
 <div class="SeeAlso">
 <h4>See Also</h4>
 <ul>
-<?php foreach($see as $ref): ?>
+<?php foreach ($see as $ref): ?>
 	<li><?= \yii\apidoc\helpers\ApiMarkdown::process($ref, $object->definedBy, true) ?></li>
 <?php endforeach; ?>
 </ul>
diff --git a/extensions/apidoc/templates/offline/views/index.php b/extensions/apidoc/templates/offline/views/index.php
index 246271c..4b258fb 100644
--- a/extensions/apidoc/templates/offline/views/index.php
+++ b/extensions/apidoc/templates/offline/views/index.php
@@ -22,7 +22,7 @@ use yii\apidoc\models\TraitDoc;
 	</tr>
 <?php
 ksort($types);
-foreach($types as $i=>$class):
+foreach ($types as $i=>$class):
 ?>
 	<tr>
 		<td><?= $this->context->typeLink($class, $class->name) ?></td>
diff --git a/extensions/apidoc/templates/online/Renderer.php b/extensions/apidoc/templates/online/Renderer.php
index b827650..2365634 100644
--- a/extensions/apidoc/templates/online/Renderer.php
+++ b/extensions/apidoc/templates/online/Renderer.php
@@ -37,7 +37,7 @@ class Renderer extends \yii\apidoc\templates\html\Renderer
 		$controller->stdout("writing packages file...");
 		$packages = [];
 		$notNamespaced = [];
-		foreach(array_merge($context->classes, $context->interfaces, $context->traits) as $type) {
+		foreach (array_merge($context->classes, $context->interfaces, $context->traits) as $type) {
 			/** @var TypeDoc $type */
 			if (empty($type->namespace)) {
 				$notNamespaced[] = str_replace('\\', '-', $type->name);
@@ -47,7 +47,7 @@ class Renderer extends \yii\apidoc\templates\html\Renderer
 		}
 		ksort($packages);
 		$packages = array_merge(['Not namespaced' => $notNamespaced], $packages);
-		foreach($packages as $name => $classes) {
+		foreach ($packages as $name => $classes) {
 			sort($packages[$name]);
 		}
 		file_put_contents($dir . '/packages.txt', serialize($packages));
diff --git a/extensions/apidoc/templates/online/views/index.php b/extensions/apidoc/templates/online/views/index.php
index 1103c5a..feee032 100644
--- a/extensions/apidoc/templates/online/views/index.php
+++ b/extensions/apidoc/templates/online/views/index.php
@@ -22,7 +22,7 @@ use yii\apidoc\models\TraitDoc;
 	</tr>
 <?php
 ksort($types);
-foreach($types as $i=>$class):
+foreach ($types as $i=>$class):
 ?>
 	<tr>
 		<td><?= $this->context->typeLink($class, $class->name) ?></td>
diff --git a/extensions/composer/Installer.php b/extensions/composer/Installer.php
index 09669be..81cc267 100644
--- a/extensions/composer/Installer.php
+++ b/extensions/composer/Installer.php
@@ -192,7 +192,7 @@ class Installer extends LibraryInstaller
 		if (!file_exists($yiiDir)) {
 			mkdir($yiiDir, 0777, true);
 		}
-		foreach(['Yii.php', 'BaseYii.php', 'classes.php'] as $file) {
+		foreach (['Yii.php', 'BaseYii.php', 'classes.php'] as $file) {
 			file_put_contents($yiiDir . '/' . $file, <<<EOF
 <?php
 /**
@@ -213,7 +213,7 @@ EOF
 	protected function removeBaseYiiFiles()
 	{
 		$yiiDir = $this->vendorDir . '/yiisoft/yii2';
-		foreach(['Yii.php', 'BaseYii.php', 'classes.php'] as $file) {
+		foreach (['Yii.php', 'BaseYii.php', 'classes.php'] as $file) {
 			if (file_exists($yiiDir . '/' . $file)) {
 				unlink($yiiDir . '/' . $file);
 			}
diff --git a/extensions/debug/views/default/panels/config/table.php b/extensions/debug/views/default/panels/config/table.php
index 0dc2d8d..f5efc65 100644
--- a/extensions/debug/views/default/panels/config/table.php
+++ b/extensions/debug/views/default/panels/config/table.php
@@ -23,7 +23,7 @@ use yii\helpers\Html;
 			</tr>
 		</thead>
 		<tbody>
-		<?php foreach($values as $name => $value): ?>
+		<?php foreach ($values as $name => $value): ?>
 			<tr>
 				<th style="width: 200px;"><?= Html::encode($name) ?></th>
 				<td style="overflow:auto"><?= Html::encode($value) ?></td>
diff --git a/extensions/debug/views/default/panels/request/table.php b/extensions/debug/views/default/panels/request/table.php
index 9175e6b..333ede1 100644
--- a/extensions/debug/views/default/panels/request/table.php
+++ b/extensions/debug/views/default/panels/request/table.php
@@ -23,7 +23,7 @@ use yii\helpers\VarDumper;
 			</tr>
 		</thead>
 		<tbody>
-		<?php foreach($values as $name => $value): ?>
+		<?php foreach ($values as $name => $value): ?>
 			<tr>
 				<th style="width: 200px;"><?= Html::encode($name) ?></th>
 				<td><?= htmlspecialchars(VarDumper::dumpAsString($value), ENT_QUOTES|ENT_SUBSTITUTE, \Yii::$app->charset, true) ?></td>
diff --git a/extensions/elasticsearch/ActiveQuery.php b/extensions/elasticsearch/ActiveQuery.php
index c7d23ad..0ed64aa 100644
--- a/extensions/elasticsearch/ActiveQuery.php
+++ b/extensions/elasticsearch/ActiveQuery.php
@@ -156,7 +156,7 @@ class ActiveQuery extends Query implements ActiveQueryInterface
 		}
 		$models = $this->createModels($result['hits']['hits']);
 		if ($this->asArray && !$this->indexBy) {
-			foreach($models as $key => $model) {
+			foreach ($models as $key => $model) {
 				if ($pk === '_id') {
 					$model['_source']['_id'] = $model['_id'];
 				}
@@ -168,7 +168,7 @@ class ActiveQuery extends Query implements ActiveQueryInterface
 			$this->findWith($this->with, $models);
 		}
 		if (!$this->asArray) {
-			foreach($models as $model) {
+			foreach ($models as $model) {
 				$model->afterFind();
 			}
 		}
@@ -226,7 +226,7 @@ class ActiveQuery extends Query implements ActiveQueryInterface
 				/** @var ActiveRecord $modelClass */
 				$modelClass = $this->modelClass;
 				$pk = $modelClass::primaryKey()[0];
-				foreach($models as $key => $model) {
+				foreach ($models as $key => $model) {
 					if ($pk === '_id') {
 						$model['_source']['_id'] = $model['_id'];
 					}
@@ -238,7 +238,7 @@ class ActiveQuery extends Query implements ActiveQueryInterface
 				$this->findWith($this->with, $models);
 			}
 			if (!$this->asArray) {
-				foreach($models as $model) {
+				foreach ($models as $model) {
 					$model->afterFind();
 				}
 			}
diff --git a/extensions/elasticsearch/ActiveRecord.php b/extensions/elasticsearch/ActiveRecord.php
index 4fdff54..c8d9109 100644
--- a/extensions/elasticsearch/ActiveRecord.php
+++ b/extensions/elasticsearch/ActiveRecord.php
@@ -122,7 +122,7 @@ class ActiveRecord extends BaseActiveRecord
 		$command = static::getDb()->createCommand();
 		$result = $command->mget(static::index(), static::type(), $primaryKeys, $options);
 		$models = [];
-		foreach($result['docs'] as $doc) {
+		foreach ($result['docs'] as $doc) {
 			if ($doc['exists']) {
 				$model = static::instantiate($doc);
 				static::populateRecord($model, $doc);
@@ -422,7 +422,7 @@ class ActiveRecord extends BaseActiveRecord
 			return 0;
 		}
 		$bulk = '';
-		foreach($primaryKeys as $pk) {
+		foreach ($primaryKeys as $pk) {
 			$action = Json::encode([
 				"update" => [
 					"_id" => $pk,
@@ -441,7 +441,7 @@ class ActiveRecord extends BaseActiveRecord
 		$response = static::getDb()->post($url, [], $bulk);
 		$n=0;
 		$errors = [];
-		foreach($response['items'] as $item) {
+		foreach ($response['items'] as $item) {
 			if (isset($item['update']['error'])) {
 				$errors[] = $item['update'];
 			} elseif ($item['update']['ok']) {
@@ -480,7 +480,7 @@ class ActiveRecord extends BaseActiveRecord
 			return 0;
 		}
 		$bulk = '';
-		foreach($primaryKeys as $pk) {
+		foreach ($primaryKeys as $pk) {
 			$action = Json::encode([
 				"update" => [
 					"_id" => $pk,
@@ -489,7 +489,7 @@ class ActiveRecord extends BaseActiveRecord
 				],
 			]);
 			$script = '';
-			foreach($counters as $counter => $value) {
+			foreach ($counters as $counter => $value) {
 				$script .= "ctx._source.$counter += $counter;\n";
 			}
 			$data = Json::encode([
@@ -504,7 +504,7 @@ class ActiveRecord extends BaseActiveRecord
 		$response = static::getDb()->post($url, [], $bulk);
 		$n=0;
 		$errors = [];
-		foreach($response['items'] as $item) {
+		foreach ($response['items'] as $item) {
 			if (isset($item['update']['error'])) {
 				$errors[] = $item['update'];
 			} elseif ($item['update']['ok']) {
@@ -543,7 +543,7 @@ class ActiveRecord extends BaseActiveRecord
 			return 0;
 		}
 		$bulk = '';
-		foreach($primaryKeys as $pk) {
+		foreach ($primaryKeys as $pk) {
 			$bulk .= Json::encode([
 				"delete" => [
 					"_id" => $pk,
@@ -558,7 +558,7 @@ class ActiveRecord extends BaseActiveRecord
 		$response = static::getDb()->post($url, [], $bulk);
 		$n=0;
 		$errors = [];
-		foreach($response['items'] as $item) {
+		foreach ($response['items'] as $item) {
 			if (isset($item['delete']['error'])) {
 				$errors[] = $item['delete'];
 			} elseif ($item['delete']['found'] && $item['delete']['ok']) {
diff --git a/extensions/elasticsearch/Connection.php b/extensions/elasticsearch/Connection.php
index 4e305cd..bc08303 100644
--- a/extensions/elasticsearch/Connection.php
+++ b/extensions/elasticsearch/Connection.php
@@ -63,7 +63,7 @@ class Connection extends Component
 
 	public function init()
 	{
-		foreach($this->nodes as $node) {
+		foreach ($this->nodes as $node) {
 			if (!isset($node['http_address'])) {
 				throw new InvalidConfigException('Elasticsearch node needs at least a http_address configured.');
 			}
@@ -245,7 +245,7 @@ class Connection extends Component
 				return mb_strlen($data, '8bit');
 			},
 			CURLOPT_HEADERFUNCTION => function($curl, $data) use (&$headers) {
-				foreach(explode("\r\n", $data) as $row) {
+				foreach (explode("\r\n", $data) as $row) {
 					if (($pos = strpos($row, ':')) !== false) {
 						$headers[strtolower(substr($row, 0, $pos))] = trim(substr($row, $pos + 1));
 					}
diff --git a/extensions/elasticsearch/QueryBuilder.php b/extensions/elasticsearch/QueryBuilder.php
index e9511ea..0b6a38b 100644
--- a/extensions/elasticsearch/QueryBuilder.php
+++ b/extensions/elasticsearch/QueryBuilder.php
@@ -177,7 +177,7 @@ class QueryBuilder extends \yii\base\Object
 	private function buildHashCondition($condition)
 	{
 		$parts = [];
-		foreach($condition as $attribute => $value) {
+		foreach ($condition as $attribute => $value) {
 			if ($attribute == '_id') {
 				if ($value == null) { // there is no null pk
 					$parts[] = ['script' => ['script' => '0==1']];
diff --git a/extensions/gii/generators/controller/templates/controller.php b/extensions/gii/generators/controller/templates/controller.php
index b62edc3..95358d2 100644
--- a/extensions/gii/generators/controller/templates/controller.php
+++ b/extensions/gii/generators/controller/templates/controller.php
@@ -18,7 +18,7 @@ namespace <?= $generator->ns ?>;
 
 class <?= $generator->getControllerClass() ?> extends <?= '\\' . trim($generator->baseClass, '\\') . "\n" ?>
 {
-<?php foreach($generator->getActionIDs() as $action): ?>
+<?php foreach ($generator->getActionIDs() as $action): ?>
 	public function action<?= Inflector::id2camel($action) ?>()
 	{
 		return $this->render('<?= $action ?>');
diff --git a/extensions/mongodb/ActiveQuery.php b/extensions/mongodb/ActiveQuery.php
index 351f942..4dcccb4 100644
--- a/extensions/mongodb/ActiveQuery.php
+++ b/extensions/mongodb/ActiveQuery.php
@@ -111,7 +111,7 @@ class ActiveQuery extends Query implements ActiveQueryInterface
 				$this->findWith($this->with, $models);
 			}
 			if (!$this->asArray) {
-				foreach($models as $model) {
+				foreach ($models as $model) {
 					$model->afterFind();
 				}
 			}
diff --git a/extensions/mongodb/file/ActiveQuery.php b/extensions/mongodb/file/ActiveQuery.php
index 79bcd2f..9093f6e 100644
--- a/extensions/mongodb/file/ActiveQuery.php
+++ b/extensions/mongodb/file/ActiveQuery.php
@@ -56,7 +56,7 @@ class ActiveQuery extends Query implements ActiveQueryInterface
 				$this->findWith($this->with, $models);
 			}
 			if (!$this->asArray) {
-				foreach($models as $model) {
+				foreach ($models as $model) {
 					$model->afterFind();
 				}
 			}
diff --git a/extensions/redis/ActiveQuery.php b/extensions/redis/ActiveQuery.php
index df69be1..8ca8e9c 100644
--- a/extensions/redis/ActiveQuery.php
+++ b/extensions/redis/ActiveQuery.php
@@ -87,7 +87,7 @@ class ActiveQuery extends \yii\base\Component implements ActiveQueryInterface
 		// TODO add support for orderBy
 		$data = $this->executeScript($db, 'All');
 		$rows = [];
-		foreach($data as $dataRow) {
+		foreach ($data as $dataRow) {
 			$row = [];
 			$c = count($dataRow);
 			for($i = 0; $i < $c; ) {
@@ -101,7 +101,7 @@ class ActiveQuery extends \yii\base\Component implements ActiveQueryInterface
 				$this->findWith($this->with, $models);
 			}
 			if (!$this->asArray) {
-				foreach($models as $model) {
+				foreach ($models as $model) {
 					$model->afterFind();
 				}
 			}
@@ -336,7 +336,7 @@ class ActiveQuery extends \yii\base\Component implements ActiveQueryInterface
 		if (count($this->where) == 1) {
 			$pks = (array) reset($this->where);
 		} else {
-			foreach($this->where as $values) {
+			foreach ($this->where as $values) {
 				if (is_array($values)) {
 					// TODO support composite IN for composite PK
 					throw new NotSupportedException('Find by composite PK is not supported by redis ActiveRecord.');
@@ -357,7 +357,7 @@ class ActiveQuery extends \yii\base\Component implements ActiveQueryInterface
 		}
 		$i = 0;
 		$data = [];
-		foreach($pks as $pk) {
+		foreach ($pks as $pk) {
 			if (++$i > $start && ($limit === null || $i <= $start + $limit)) {
 				$key = $modelClass::keyPrefix() . ':a:' . $modelClass::buildKey($pk);
 				$result = $db->executeCommand('HGETALL', [$key]);
@@ -380,7 +380,7 @@ class ActiveQuery extends \yii\base\Component implements ActiveQueryInterface
 				return count($data);
 			case 'Column':
 				$column = [];
-				foreach($data as $dataRow) {
+				foreach ($data as $dataRow) {
 					$row = [];
 					$c = count($dataRow);
 					for($i = 0; $i < $c; ) {
@@ -391,7 +391,7 @@ class ActiveQuery extends \yii\base\Component implements ActiveQueryInterface
 				return $column;
 			case 'Sum':
 				$sum = 0;
-				foreach($data as $dataRow) {
+				foreach ($data as $dataRow) {
 					$c = count($dataRow);
 					for($i = 0; $i < $c; ) {
 						if ($dataRow[$i++] == $columnName) {
@@ -404,7 +404,7 @@ class ActiveQuery extends \yii\base\Component implements ActiveQueryInterface
 			case 'Average':
 				$sum = 0;
 				$count = 0;
-				foreach($data as $dataRow) {
+				foreach ($data as $dataRow) {
 					$count++;
 					$c = count($dataRow);
 					for($i = 0; $i < $c; ) {
@@ -417,7 +417,7 @@ class ActiveQuery extends \yii\base\Component implements ActiveQueryInterface
 				return $sum / $count;
 			case 'Min':
 				$min = null;
-				foreach($data as $dataRow) {
+				foreach ($data as $dataRow) {
 					$c = count($dataRow);
 					for($i = 0; $i < $c; ) {
 						if ($dataRow[$i++] == $columnName && ($min == null || $dataRow[$i] < $min)) {
@@ -429,7 +429,7 @@ class ActiveQuery extends \yii\base\Component implements ActiveQueryInterface
 				return $min;
 			case 'Max':
 				$max = null;
-				foreach($data as $dataRow) {
+				foreach ($data as $dataRow) {
 					$c = count($dataRow);
 					for($i = 0; $i < $c; ) {
 						if ($dataRow[$i++] == $columnName && ($max == null || $dataRow[$i] > $max)) {
diff --git a/extensions/redis/ActiveRecord.php b/extensions/redis/ActiveRecord.php
index 34c9c05..91af01f 100644
--- a/extensions/redis/ActiveRecord.php
+++ b/extensions/redis/ActiveRecord.php
@@ -139,7 +139,7 @@ class ActiveRecord extends BaseActiveRecord
 			$key = static::keyPrefix() . ':a:' . static::buildKey($pk);
 			// save attributes
 			$args = [$key];
-			foreach($values as $attribute => $value) {
+			foreach ($values as $attribute => $value) {
 				$args[] = $attribute;
 				$args[] = $value;
 			}
@@ -172,13 +172,13 @@ class ActiveRecord extends BaseActiveRecord
 		}
 		$db = static::getDb();
 		$n=0;
-		foreach(static::fetchPks($condition) as $pk) {
+		foreach (static::fetchPks($condition) as $pk) {
 			$newPk = $pk;
 			$pk = static::buildKey($pk);
 			$key = static::keyPrefix() . ':a:' . $pk;
 			// save attributes
 			$args = [$key];
-			foreach($attributes as $attribute => $value) {
+			foreach ($attributes as $attribute => $value) {
 				if (isset($newPk[$attribute])) {
 					$newPk[$attribute] = $value;
 				}
@@ -224,9 +224,9 @@ class ActiveRecord extends BaseActiveRecord
 		}
 		$db = static::getDb();
 		$n=0;
-		foreach(static::fetchPks($condition) as $pk) {
+		foreach (static::fetchPks($condition) as $pk) {
 			$key = static::keyPrefix() . ':a:' . static::buildKey($pk);
-			foreach($counters as $attribute => $value) {
+			foreach ($counters as $attribute => $value) {
 				$db->executeCommand('HINCRBY', [$key, $attribute, $value]);
 			}
 			$n++;
@@ -254,7 +254,7 @@ class ActiveRecord extends BaseActiveRecord
 		$attributeKeys = [];
 		$pks = static::fetchPks($condition);
 		$db->executeCommand('MULTI');
-		foreach($pks as $pk) {
+		foreach ($pks as $pk) {
 			$pk = static::buildKey($pk);
 			$db->executeCommand('LREM', [static::keyPrefix(), 0, $pk]);
 			$attributeKeys[] = static::keyPrefix() . ':a:' . $pk;
@@ -276,9 +276,9 @@ class ActiveRecord extends BaseActiveRecord
 		$primaryKey = static::primaryKey();
 
 		$pks = [];
-		foreach($records as $record) {
+		foreach ($records as $record) {
 			$pk = [];
-			foreach($primaryKey as $key) {
+			foreach ($primaryKey as $key) {
 				$pk[$key] = $record[$key];
 			}
 			$pks[] = $pk;
@@ -304,7 +304,7 @@ class ActiveRecord extends BaseActiveRecord
 			}
 			ksort($key); // ensure order is always the same
 			$isNumeric = true;
-			foreach($key as $value) {
+			foreach ($key as $value) {
 				if (!is_numeric($value)) {
 					$isNumeric = false;
 				}
diff --git a/extensions/redis/Cache.php b/extensions/redis/Cache.php
index 5d3bfd3..18ac8d7 100644
--- a/extensions/redis/Cache.php
+++ b/extensions/redis/Cache.php
@@ -145,7 +145,7 @@ class Cache extends \yii\caching\Cache
 	protected function setValues($data, $expire)
 	{
 		$args = [];
-		foreach($data as $key => $value) {
+		foreach ($data as $key => $value) {
 			$args[] = $key;
 			$args[] = $value;
 		}
@@ -164,7 +164,7 @@ class Cache extends \yii\caching\Cache
 			}
 			$result = $this->redis->executeCommand('EXEC');
 			array_shift($result);
-			foreach($result as $i => $r) {
+			foreach ($result as $i => $r) {
 				if ($r != 1) {
 					$failedKeys[] = $index[$i];
 				}
diff --git a/extensions/redis/Connection.php b/extensions/redis/Connection.php
index 3a63610..19f1159 100644
--- a/extensions/redis/Connection.php
+++ b/extensions/redis/Connection.php
@@ -351,7 +351,7 @@ class Connection extends Component
 
 		array_unshift($params, $name);
 		$command = '*' . count($params) . "\r\n";
-		foreach($params as $arg) {
+		foreach ($params as $arg) {
 			$command .= '$' . mb_strlen($arg, '8bit') . "\r\n" . $arg . "\r\n";
 		}
 
diff --git a/extensions/redis/LuaScriptBuilder.php b/extensions/redis/LuaScriptBuilder.php
index 1c1082b..e22ff11 100644
--- a/extensions/redis/LuaScriptBuilder.php
+++ b/extensions/redis/LuaScriptBuilder.php
@@ -155,7 +155,7 @@ class LuaScriptBuilder extends \yii\base\Object
 		$modelClass = $query->modelClass;
 		$key = $this->quoteValue($modelClass::keyPrefix());
 		$loadColumnValues = '';
-		foreach($columns as $column => $alias) {
+		foreach ($columns as $column => $alias) {
 			$loadColumnValues .= "local $alias=redis.call('HGET',$key .. ':a:' .. pk, '$column')\n";
 		}
 
diff --git a/extensions/sphinx/ActiveQuery.php b/extensions/sphinx/ActiveQuery.php
index db56090..42391f9 100644
--- a/extensions/sphinx/ActiveQuery.php
+++ b/extensions/sphinx/ActiveQuery.php
@@ -135,7 +135,7 @@ class ActiveQuery extends Query implements ActiveQueryInterface
 			}
 			$models = $this->fillUpSnippets($models);
 			if (!$this->asArray) {
-				foreach($models as $model) {
+				foreach ($models as $model) {
 					$model->afterFind();
 				}
 			}
diff --git a/framework/console/controllers/MessageController.php b/framework/console/controllers/MessageController.php
index 0622e23..9ab35d9 100644
--- a/framework/console/controllers/MessageController.php
+++ b/framework/console/controllers/MessageController.php
@@ -319,7 +319,7 @@ class MessageController extends Controller
 			}
 			if ($format === 'po') {
 				$output = '';
-				foreach ($merged as $k => $v){
+				foreach ($merged as $k => $v) {
 					$k = preg_replace('/(\")|(\\\")/', "\\\"", $k);
 					$v = preg_replace('/(\")|(\\\")/', "\\\"", $v);
 					if (substr($v, 0, 2) === '@@' && substr($v, -2) === '@@') {
@@ -338,7 +338,7 @@ class MessageController extends Controller
 			if ($format === 'po') {
 				$merged = '';
 				sort($messages);
-				foreach($messages as $message) {
+				foreach ($messages as $message) {
 					$message = preg_replace('/(\")|(\\\")/', '\\\"', $message);
 					$merged .= "msgid \"$message\"\n";
 					$merged .= "msgstr \"\"\n";
diff --git a/framework/db/ActiveQuery.php b/framework/db/ActiveQuery.php
index ee92f22..23e7f1f 100644
--- a/framework/db/ActiveQuery.php
+++ b/framework/db/ActiveQuery.php
@@ -120,7 +120,7 @@ class ActiveQuery extends Query implements ActiveQueryInterface
 			$this->findWith($this->with, $models);
 		}
 		if (!$this->asArray) {
-			foreach($models as $model) {
+			foreach ($models as $model) {
 				$model->afterFind();
 			}
 		}
diff --git a/framework/helpers/BaseFileHelper.php b/framework/helpers/BaseFileHelper.php
index bac3c9a..ecfa733 100644
--- a/framework/helpers/BaseFileHelper.php
+++ b/framework/helpers/BaseFileHelper.php
@@ -280,14 +280,14 @@ class BaseFileHelper
 			$options['basePath'] = realpath($dir);
 			// this should also be done only once
 			if (isset($options['except'])) {
-				foreach($options['except'] as $key=>$value) {
+				foreach ($options['except'] as $key => $value) {
 					if (is_string($value)) {
 						$options['except'][$key] = static::parseExcludePattern($value);
 					}
 				}
 			}
 			if (isset($options['only'])) {
-				foreach($options['only'] as $key=>$value) {
+				foreach ($options['only'] as $key => $value) {
 					if (is_string($value)) {
 						$options['only'][$key] = static::parseExcludePattern($value);
 					}
@@ -472,7 +472,7 @@ class BaseFileHelper
 	 */
 	private static function lastExcludeMatchingFromList($basePath, $path, $excludes)
 	{
-		foreach(array_reverse($excludes) as $exclude) {
+		foreach (array_reverse($excludes) as $exclude) {
 			if (is_string($exclude)) {
 				$exclude = self::parseExcludePattern($exclude);
 			}
diff --git a/framework/i18n/I18N.php b/framework/i18n/I18N.php
index d0bbfcc..6be3899 100644
--- a/framework/i18n/I18N.php
+++ b/framework/i18n/I18N.php
@@ -126,7 +126,7 @@ class I18N extends Component
 		}
 
 		$p = [];
-		foreach($params as $name => $value) {
+		foreach ($params as $name => $value) {
 			$p['{' . $name . '}'] = $value;
 		}
 		return strtr($message, $p);
diff --git a/framework/i18n/MessageFormatter.php b/framework/i18n/MessageFormatter.php
index f103cf5..3e775c3 100644
--- a/framework/i18n/MessageFormatter.php
+++ b/framework/i18n/MessageFormatter.php
@@ -143,7 +143,7 @@ class MessageFormatter extends Component
 			return false;
 		}
 		$map = [];
-		foreach($tokens as $i => $token) {
+		foreach ($tokens as $i => $token) {
 			if (is_array($token)) {
 				$param = trim($token[0]);
 				if (!isset($map[$param])) {
@@ -169,7 +169,7 @@ class MessageFormatter extends Component
 			return false;
 		} else {
 			$values = [];
-			foreach($result as $key => $value) {
+			foreach ($result as $key => $value) {
 				$values[$map[$key]] = $value;
 			}
 			return $values;
@@ -190,7 +190,7 @@ class MessageFormatter extends Component
 		if (($tokens = self::tokenizePattern($pattern)) === false) {
 			return false;
 		}
-		foreach($tokens as $i => $token) {
+		foreach ($tokens as $i => $token) {
 			if (!is_array($token)) {
 				continue;
 			}
@@ -244,7 +244,7 @@ class MessageFormatter extends Component
 			$this->_errorMessage = "Message pattern is invalid.";
 			return false;
 		}
-		foreach($tokens as $i => $token) {
+		foreach ($tokens as $i => $token) {
 			if (is_array($token)) {
 				if (($tokens[$i] = $this->parseToken($token, $args, $locale)) === false) {
 					$this->_errorCode = -1;
diff --git a/framework/requirements/views/web/index.php b/framework/requirements/views/web/index.php
index 287d4bb..6c7ec27 100644
--- a/framework/requirements/views/web/index.php
+++ b/framework/requirements/views/web/index.php
@@ -51,7 +51,7 @@
 
 		<table class="table table-bordered">
 			<tr><th>Name</th><th>Result</th><th>Required By</th><th>Memo</th></tr>
-			<?php foreach($requirements as $requirement): ?>
+			<?php foreach ($requirements as $requirement): ?>
 			<tr class="<?php echo $requirement['condition'] ? 'success' : ($requirement['mandatory'] ? 'error' : 'warning') ?>">
 				<td>
 				<?php echo $requirement['name'] ?>
diff --git a/framework/web/AssetConverter.php b/framework/web/AssetConverter.php
index ec2d53c..79e5e4d 100644
--- a/framework/web/AssetConverter.php
+++ b/framework/web/AssetConverter.php
@@ -82,7 +82,7 @@ class AssetConverter extends Component implements AssetConverterInterface
 		$proc = proc_open($command, $descriptor, $pipes, $basePath);
 		$stdout = stream_get_contents($pipes[1]);
 		$stderr = stream_get_contents($pipes[2]);
-		foreach($pipes as $pipe) {
+		foreach ($pipes as $pipe) {
 			fclose($pipe);
 		}
 		$status = proc_close($proc);
diff --git a/framework/widgets/LinkPager.php b/framework/widgets/LinkPager.php
index c5b1750..9f7efc0 100644
--- a/framework/widgets/LinkPager.php
+++ b/framework/widgets/LinkPager.php
@@ -128,7 +128,7 @@ class LinkPager extends Widget
 	protected function registerLinkTags()
 	{
 		$view = $this->getView();
-		foreach($this->pagination->getLinks() as $rel => $href) {
+		foreach ($this->pagination->getLinks() as $rel => $href) {
 			$view->registerLinkTag(['rel' => $rel, 'href' => $href], $rel);
 		}
 	}
diff --git a/tests/unit/extensions/sphinx/SchemaTest.php b/tests/unit/extensions/sphinx/SchemaTest.php
index b1a22ab..a6925b9 100644
--- a/tests/unit/extensions/sphinx/SchemaTest.php
+++ b/tests/unit/extensions/sphinx/SchemaTest.php
@@ -25,7 +25,7 @@ class SchemaTest extends SphinxTestCase
 
 		$indexes = $schema->getIndexSchemas();
 		$this->assertEquals(count($schema->getIndexNames()), count($indexes));
-		foreach($indexes as $index) {
+		foreach ($indexes as $index) {
 			$this->assertInstanceOf('yii\sphinx\IndexSchema', $index);
 		}
 	}
@@ -62,7 +62,7 @@ class SchemaTest extends SphinxTestCase
 
 		$schema = $this->getConnection()->schema;
 
-		foreach($values as $value) {
+		foreach ($values as $value) {
 			$this->assertEquals($value[1], $schema->getPdoType($value[0]));
 		}
 		fclose($fp);
diff --git a/tests/unit/framework/db/SchemaTest.php b/tests/unit/framework/db/SchemaTest.php
index 05a0ff2..5aeca47 100644
--- a/tests/unit/framework/db/SchemaTest.php
+++ b/tests/unit/framework/db/SchemaTest.php
@@ -32,7 +32,7 @@ class SchemaTest extends DatabaseTestCase
 
 		$tables = $schema->getTableSchemas();
 		$this->assertEquals(count($schema->getTableNames()), count($tables));
-		foreach($tables as $table) {
+		foreach ($tables as $table) {
 			$this->assertInstanceOf('yii\db\TableSchema', $table);
 		}
 	}
@@ -85,7 +85,7 @@ class SchemaTest extends DatabaseTestCase
 		/** @var Schema $schema */
 		$schema = $this->getConnection()->schema;
 
-		foreach($values as $value) {
+		foreach ($values as $value) {
 			$this->assertEquals($value[1], $schema->getPdoType($value[0]));
 		}
 		fclose($fp);
diff --git a/tests/unit/framework/db/cubrid/CubridSchemaTest.php b/tests/unit/framework/db/cubrid/CubridSchemaTest.php
index 41f4110..4cbf741 100644
--- a/tests/unit/framework/db/cubrid/CubridSchemaTest.php
+++ b/tests/unit/framework/db/cubrid/CubridSchemaTest.php
@@ -28,7 +28,7 @@ class CubridSchemaTest extends SchemaTest
 		/** @var Schema $schema */
 		$schema = $this->getConnection()->schema;
 
-		foreach($values as $value) {
+		foreach ($values as $value) {
 			$this->assertEquals($value[1], $schema->getPdoType($value[0]));
 		}
 		fclose($fp);
diff --git a/tests/unit/framework/helpers/FileHelperTest.php b/tests/unit/framework/helpers/FileHelperTest.php
index d076631..dd027b5 100644
--- a/tests/unit/framework/helpers/FileHelperTest.php
+++ b/tests/unit/framework/helpers/FileHelperTest.php
@@ -260,8 +260,8 @@ class FileHelperTest extends TestCase
 		$tree = $files;
 		$root = $files;
 		$flat = [];
-		foreach($dirs as $dir) {
-			foreach($files as $fileName=>$contents) {
+		foreach ($dirs as $dir) {
+			foreach ($files as $fileName => $contents) {
 				$flat[] = rtrim($basePath.$dir,DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$fileName;
 			}
 			if ($dir === '') continue;
diff --git a/tests/unit/framework/log/TargetTest.php b/tests/unit/framework/log/TargetTest.php
index fc7a0a2..2e1223e 100644
--- a/tests/unit/framework/log/TargetTest.php
+++ b/tests/unit/framework/log/TargetTest.php
@@ -66,7 +66,7 @@ class TargetTest extends TestCase
 
 		$this->assertEquals(count($expected), count(static::$messages));
 		$i = 0;
-		foreach($expected as $e) {
+		foreach ($expected as $e) {
 			$this->assertEquals('test' . $e, static::$messages[$i++][0]);
 		}
 	}