1 | <?php |
||
9 | class Composer extends AbstractFile |
||
10 | { |
||
11 | const JSON_FILE_EXTENSION = 'json'; |
||
12 | /** |
||
13 | * Tests purpose: do not run composer update command |
||
14 | * @var bool |
||
15 | */ |
||
16 | protected $runComposerUpdate = true; |
||
17 | /** |
||
18 | * @see \WsdlToPhp\PackageGenerator\File\AbstractFile::writeFile() |
||
19 | * @return int|bool |
||
20 | */ |
||
21 | 24 | protected function writeFile() |
|
53 | /** |
||
54 | * @return Composer |
||
55 | */ |
||
56 | 24 | protected function completeComposerJson() |
|
66 | /** |
||
67 | * @return Composer |
||
68 | */ |
||
69 | 24 | protected function addAutoloadToComposerJson(array &$content) |
|
70 | { |
||
71 | 24 | $content['autoload'] = array( |
|
72 | 24 | 'psr-4' => $this->getPsr4Autoload(), |
|
73 | 3 | ); |
|
74 | 24 | return $this; |
|
75 | } |
||
76 | /** |
||
77 | * @return Composer |
||
78 | */ |
||
79 | 24 | protected function addComposerSettings(array &$content) |
|
84 | /** |
||
85 | * @return array |
||
86 | */ |
||
87 | 24 | protected function getPsr4Autoload() |
|
88 | { |
||
89 | 24 | $namespace = new EmptyModel($this->getGenerator(), ''); |
|
90 | 24 | if ($namespace->getNamespace() !== '') { |
|
91 | 8 | $namespaceKey = sprintf('%s\\', $namespace->getNamespace()); |
|
92 | 6 | } else { |
|
93 | 16 | $namespaceKey = ''; |
|
94 | } |
||
95 | return array( |
||
96 | 24 | $namespaceKey => sprintf('./%s', AbstractModelFile::SRC_FOLDER), |
|
97 | 18 | ); |
|
98 | } |
||
99 | /** |
||
100 | * @return array |
||
101 | */ |
||
102 | 24 | protected function getComposerFileContent() |
|
111 | /** |
||
112 | * @param array $content |
||
113 | * @return Composer |
||
114 | */ |
||
115 | 24 | protected function setComposerFileContent(array $content) |
|
123 | /** |
||
124 | * @param array $content |
||
125 | * @return string |
||
126 | */ |
||
127 | 24 | protected static function encodeToJson($content) |
|
128 | { |
||
129 | 24 | if (version_compare(PHP_VERSION, '5.4.0') === -1) { |
|
130 | 6 | $json = str_replace('\/', '/', json_encode($content)); |
|
131 | 6 | } else { |
|
132 | 18 | $json = json_encode($content, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); |
|
133 | } |
||
134 | 24 | return $json; |
|
135 | } |
||
136 | /** |
||
137 | * @return string |
||
138 | */ |
||
139 | 24 | protected function getComposerFilePath() |
|
143 | /** |
||
144 | * @param bool $runComposerUpdate |
||
145 | * @return Composer |
||
146 | */ |
||
147 | 12 | public function setRunComposerUpdate($runComposerUpdate) |
|
152 | /** |
||
153 | * @return bool |
||
154 | */ |
||
155 | 28 | public function getRunComposerUpdate() |
|
159 | /** |
||
160 | * @return string |
||
161 | */ |
||
162 | 12 | public function getFileExtension() |
|
166 | } |
||
167 |