Skip to content

Commit 213d4ea

Browse files
authored
Merge pull request #57 from phpdocker-io/php-7.1
Add Php 7.1 beta support
2 parents 7835472 + 1944528 commit 213d4ea

File tree

12 files changed

+243
-74
lines changed

12 files changed

+243
-74
lines changed

composer.lock

Lines changed: 57 additions & 54 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/AppBundle/Controller/GeneratorController.php

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,34 @@ public function createAction(Request $request)
7878
* @param Project $project
7979
*
8080
* @return Project
81+
* @throws \InvalidArgumentException
8182
*/
8283
private function fixPhpExtensionGeneratorExpectation(Project $project) : Project
8384
{
84-
if ($project->getPhpOptions()->getVersion() === PhpOptions::PHP_VERSION_56) {
85-
$project->getPhpOptions()->setPhpExtensions($project->getPhpOptions()->getPhpExtensions56());
86-
} else {
87-
$project->getPhpOptions()->setPhpExtensions($project->getPhpOptions()->getPhpExtensions70());
85+
/** @var PhpOptions $phpOptions */
86+
$phpOptions = $project->getPhpOptions();
87+
$phpVersion = $phpOptions->getVersion();
88+
89+
switch ($phpVersion) {
90+
case PhpOptions::PHP_VERSION_56:
91+
$extensions = $phpOptions->getPhpExtensions56();
92+
break;
93+
94+
case PhpOptions::PHP_VERSION_70:
95+
$extensions = $phpOptions->getPhpExtensions70();
96+
break;
97+
98+
case PhpOptions::PHP_VERSION_71:
99+
$extensions = $phpOptions->getPhpExtensions71();
100+
break;
101+
102+
default:
103+
throw new \InvalidArgumentException(sprintf('Eek! Unsupported php version %s', $phpVersion));
104+
88105
}
89106

107+
$project->getPhpOptions()->setPhpExtensions($extensions);
108+
90109
return $project;
91110
}
92111
}

src/AppBundle/Entity/Generator/PhpOptions.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,19 @@ class PhpOptions extends \PHPDocker\Project\ServiceOptions\Php
5151
*/
5252
protected $phpExtensions70 = [];
5353

54+
55+
/**
56+
* This does not exist on parent project. Needs to be redirected to $phpExtensions
57+
* based on version.
58+
*
59+
* @var array
60+
*
61+
* @Assert\All({
62+
* @Assert\NotBlank
63+
* })
64+
*/
65+
protected $phpExtensions71 = [];
66+
5467
/**
5568
* @return array
5669
*/
@@ -67,6 +80,22 @@ public function setPhpExtensions70(array $phpExtensions70 = [])
6780
$this->phpExtensions70 = $phpExtensions70;
6881
}
6982

83+
/**
84+
* @return array
85+
*/
86+
public function getPhpExtensions71()
87+
{
88+
return $this->phpExtensions71;
89+
}
90+
91+
/**
92+
* @param array $phpExtensions71
93+
*/
94+
public function setPhpExtensions71(array $phpExtensions71 = [])
95+
{
96+
$this->phpExtensions71 = $phpExtensions71;
97+
}
98+
7099
/**
71100
* @return array
72101
*/

0 commit comments

Comments
 (0)