|
@@ -4,35 +4,35 @@ discard block |
|
|
block discarded – undo |
4
|
4
|
define('COL_DEFAULT', 2); |
5
|
5
|
|
6
|
6
|
$fields = [ |
7
|
|
- 'author_name' => ['Your name', '', ''], |
8
|
|
- 'author_github_username' => ['Your Github username', '<username> in https://github.com/username', ''], |
9
|
|
- 'author_email' => ['Your email address', '', ''], |
10
|
|
- 'author_twitter' => ['Your twitter username', '', '@{author_github_username}'], |
11
|
|
- 'author_website' => ['Your website', '', 'https://github.com/{author_github_username}'], |
|
7
|
+ 'author_name' => ['Your name', '', ''], |
|
8
|
+ 'author_github_username' => ['Your Github username', '<username> in https://github.com/username', ''], |
|
9
|
+ 'author_email' => ['Your email address', '', ''], |
|
10
|
+ 'author_twitter' => ['Your twitter username', '', '@{author_github_username}'], |
|
11
|
+ 'author_website' => ['Your website', '', 'https://github.com/{author_github_username}'], |
12
|
12
|
|
13
|
|
- 'package_vendor' => ['Package vendor', '<vendor> in https://github.com/vendor/package', '{author_github_username}'], |
14
|
|
- 'package_name' => ['Package name', '<package> in https://github.com/vendor/package', ''], |
15
|
|
- 'package_description' => ['Package very short description', '', ''], |
|
13
|
+ 'package_vendor' => ['Package vendor', '<vendor> in https://github.com/vendor/package', '{author_github_username}'], |
|
14
|
+ 'package_name' => ['Package name', '<package> in https://github.com/vendor/package', ''], |
|
15
|
+ 'package_description' => ['Package very short description', '', ''], |
16
|
16
|
|
17
|
|
- 'psr4_namespace' => ['PSR-4 namespace', 'usually, Vendor\\Package', '{package_vendor}\\{package_name}'], |
|
17
|
+ 'psr4_namespace' => ['PSR-4 namespace', 'usually, Vendor\\Package', '{package_vendor}\\{package_name}'], |
18
|
18
|
]; |
19
|
19
|
|
20
|
20
|
$values = []; |
21
|
21
|
|
22
|
22
|
$replacements = [ |
23
|
|
- 'BrantWladichuk\\\\Sparkify\\\\' => function () use(&$values) { return str_replace('\\', '\\\\', $values['psr4_namespace']) . '\\\\'; }, |
24
|
|
- ':author_name' => function () use(&$values) { return $values['author_name']; }, |
25
|
|
- ':author_username' => function () use(&$values) { return $values['author_github_username']; }, |
26
|
|
- ':author_website' => function () use(&$values) { return $values['author_website'] ?: ('https://github.com/' . $values['author_github_username']); }, |
27
|
|
- ':author_email' => function () use(&$values) { return $values['author_email'] ?: ($values['author_github_username'] . '@example.com'); }, |
28
|
|
- 'BrantWladichuk' => function () use(&$values) { return $values['package_vendor']; }, |
29
|
|
- 'Sparkify' => function () use(&$values) { return $values['package_name']; }, |
30
|
|
- ':package_description' => function () use(&$values) { return $values['package_description']; }, |
31
|
|
- 'League\\Skeleton' => function () use(&$values) { return $values['psr4_namespace']; }, |
|
23
|
+ 'BrantWladichuk\\\\Sparkify\\\\' => function() use(&$values) { return str_replace('\\', '\\\\', $values['psr4_namespace']) . '\\\\'; }, |
|
24
|
+ ':author_name' => function() use(&$values) { return $values['author_name']; }, |
|
25
|
+ ':author_username' => function() use(&$values) { return $values['author_github_username']; }, |
|
26
|
+ ':author_website' => function() use(&$values) { return $values['author_website'] ?: ('https://github.com/' . $values['author_github_username']); }, |
|
27
|
+ ':author_email' => function() use(&$values) { return $values['author_email'] ?: ($values['author_github_username'] . '@example.com'); }, |
|
28
|
+ 'BrantWladichuk' => function() use(&$values) { return $values['package_vendor']; }, |
|
29
|
+ 'Sparkify' => function() use(&$values) { return $values['package_name']; }, |
|
30
|
+ ':package_description' => function() use(&$values) { return $values['package_description']; }, |
|
31
|
+ 'League\\Skeleton' => function() use(&$values) { return $values['psr4_namespace']; }, |
32
|
32
|
]; |
33
|
33
|
|
34
|
|
-function read_from_console ($prompt) { |
35
|
|
- if ( function_exists('readline') ) { |
|
34
|
+function read_from_console($prompt) { |
|
35
|
+ if (function_exists('readline')) { |
36
|
36
|
$line = trim(readline($prompt)); |
37
|
37
|
if (!empty($line)) { |
38
|
38
|
readline_add_history($line); |
|
@@ -68,12 +68,12 @@ discard block |
|
|
block discarded – undo |
68
|
68
|
echo "Please, provide the following information:\n"; |
69
|
69
|
echo "----------------------------------------------------------------------\n"; |
70
|
70
|
foreach ($fields as $f => $field) { |
71
|
|
- $default = isset($field[COL_DEFAULT]) ? interpolate($field[COL_DEFAULT], $values): ''; |
|
71
|
+ $default = isset($field[COL_DEFAULT]) ? interpolate($field[COL_DEFAULT], $values) : ''; |
72
|
72
|
$prompt = sprintf( |
73
|
73
|
'%s%s%s: ', |
74
|
74
|
$field[COL_DESCRIPTION], |
75
|
|
- $field[COL_HELP] ? ' (' . $field[COL_HELP] . ')': '', |
76
|
|
- $field[COL_DEFAULT] !== '' ? ' [' . $default . ']': '' |
|
75
|
+ $field[COL_HELP] ? ' (' . $field[COL_HELP] . ')' : '', |
|
76
|
+ $field[COL_DEFAULT] !== '' ? ' [' . $default . ']' : '' |
77
|
77
|
); |
78
|
78
|
$values[$f] = read_from_console($prompt); |
79
|
79
|
if (empty($values[$f])) { |