Conditions | 3 |
Paths | 3 |
Total Lines | 86 |
Code Lines | 68 |
Lines | 0 |
Ratio | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php declare(strict_types=1); |
||
207 | function main() |
||
208 | { |
||
209 | @mkdir(__DIR__ . '/../docs/'); |
||
210 | @mkdir(__DIR__ . '/../docs/kitchensink/'); |
||
211 | $path = __DIR__ . '/../Formularium/Frontend/'; |
||
212 | $dir = scandir($path); |
||
213 | if ($dir === false) { |
||
214 | echo 'Cannot find frontend'; |
||
215 | return 1; |
||
216 | } |
||
217 | $frameworks = array_diff($dir, array('.', '..')); |
||
218 | $index = <<<EOF |
||
219 | <!DOCTYPE html> |
||
220 | <html> |
||
221 | <head> |
||
222 | <head> |
||
223 | <meta charset="UTF-8"> |
||
224 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||
225 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
||
226 | |||
227 | <title>Formularium Kitchen Sink</title> |
||
228 | <meta property="og:title" content="Formularium"> |
||
229 | <meta property="og:locale" content="en_US"> |
||
230 | <meta name="description" content="Form validation and generation for PHP with custom frontend generators"> |
||
231 | <meta property="og:description" content="Form validation and generation for PHP with custom frontend generators"> |
||
232 | <link rel="canonical" href="https://corollarium.github.io/Formularium/"> |
||
233 | <meta property="og:url" content="https://corollarium.github.io/Formularium/"> |
||
234 | <meta property="og:site_name" content="Formularium"> |
||
235 | <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> |
||
236 | </head> |
||
237 | <body> |
||
238 | <div class="container"> |
||
239 | <h1>Formularium Examples</h1> |
||
240 | <p>These files are all automatically generated from the same data models, using different frameworks.</p> |
||
241 | |||
242 | <div> |
||
243 | EOF; |
||
244 | $frameworks = [ |
||
245 | ['framework' => ['HTML', 'HTMLValidation', 'Quill'], 'template' => 'base'], |
||
246 | ['framework' => ['HTML', 'HTMLValidation', 'Bulma', 'Quill'], 'template' => 'bulma'], |
||
247 | ['framework' => ['HTML', 'HTMLValidation', 'Bootstrap', 'Quill'], 'template' => 'base'], |
||
248 | ['framework' => ['HTML', 'HTMLValidation', 'Bootstrap', 'Quill', 'Parsley'], 'template' => 'base'], |
||
249 | ['framework' => ['HTML', 'HTMLValidation', 'Bootstrap', 'Vue', 'Vuelidate'], 'template' => 'base'], |
||
250 | ['framework' => ['HTML', 'HTMLValidation', 'Bootstrapvue', 'Vue'], 'template' => 'base'], |
||
251 | ['framework' => ['HTML', 'HTMLValidation', 'Materialize'], 'template' => 'base'], |
||
252 | ['framework' => ['HTML', 'HTMLValidation', 'Bulma', 'Quill', 'Vue'], 'template' => 'bulma'], |
||
253 | ['framework' => ['HTML', 'HTMLValidation', 'Bootstrap', 'Vue'], 'template' => 'base'], |
||
254 | ['framework' => ['HTML', 'HTMLValidation', 'Buefy', 'Vue'], 'template' => 'bulma'], |
||
255 | ['framework' => ['HTML', 'HTMLValidation', 'React'], 'template' => 'base'], |
||
256 | ['framework' => ['HTML', 'HTMLValidation', 'Bootstrap', 'React'], 'template' => 'base'], |
||
257 | ['framework' => ['HTML', 'HTMLValidation', 'Vuetify', 'Vue'], 'template' => 'base'], |
||
258 | ]; |
||
259 | foreach ($frameworks as $f) { |
||
260 | $name = join('', $f['framework']); |
||
261 | $prettyName = join(' + ', array_slice($f['framework'], 2)); |
||
262 | echo "Building $name...\n"; |
||
263 | |||
264 | $index .= "<h2>$prettyName</h2><ul>"; |
||
265 | |||
266 | $html = generateBase($f['framework'], $f['template'] . '_demo.html'); |
||
267 | $filename = __DIR__ . '/../docs/kitchensink/demo_' . $name . '.html'; |
||
268 | file_put_contents($filename, $html); |
||
269 | $index .= "<li><a href='{$filename}'>Basic example</a></li>"; |
||
270 | |||
271 | $html = generateElements($f['framework'], $f['template'] . '_demo.html'); |
||
272 | $filename = __DIR__ . '/../docs/kitchensink/elements_' . $name . '.html'; |
||
273 | file_put_contents($filename, $html); |
||
274 | $index .= "<li><a href='{$filename}'>Elements</a></li>"; |
||
275 | |||
276 | $html = kitchenSink($f['framework'], $f['template'] . '_demo.html'); |
||
277 | $filename = __DIR__ . '/../docs/kitchensink/editable_' . $name . '.html'; |
||
278 | file_put_contents($filename, $html); |
||
279 | $index .= "<li><a href='{$filename}'>Editable (all types)</a></li>"; |
||
280 | |||
281 | // $html = kitchenSink($f['framework'], $f['template']); |
||
282 | // file_put_contents(__DIR__ . '/../docs/kitchensink/' . $name . '.html', $html); |
||
283 | |||
284 | $index .= "</ul>"; |
||
285 | } |
||
286 | $index .= "</div> |
||
287 | <footer> |
||
288 | <a href='https://github.com/Corollarium/Formularium/'>Source code</a> and <a href='https://corollarium.github.io/Formularium/'>Documentation</a> |
||
289 | </footer> |
||
290 | </div> |
||
291 | </body></html>"; |
||
292 | file_put_contents(__DIR__ . '/../docs/kitchensink/index.html', $index); |
||
293 | } |
||
296 |