From 98c1952938d7c5ba71dcc79d347394314e9066f9 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Tue, 7 Jul 2015 13:01:17 +0200 Subject: [PATCH] Init of the app --- .gitignore | 4 +++ LICENSE | 0 bin/console | 13 +++++++ composer.json | 12 +++++++ src/Deblan/.Application.php.swp | Bin 0 -> 12288 bytes src/Deblan/Application.php | 58 ++++++++++++++++++++++++++++++++ 6 files changed, 87 insertions(+) create mode 100644 .gitignore mode change 100755 => 100644 LICENSE create mode 100755 bin/console create mode 100644 composer.json create mode 100644 src/Deblan/.Application.php.swp create mode 100644 src/Deblan/Application.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6df3d04 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +tags +vendor +composer.lock +*.swp diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/bin/console b/bin/console new file mode 100755 index 0000000..40342d2 --- /dev/null +++ b/bin/console @@ -0,0 +1,13 @@ +#!/usr/bin/env php +chdir(__DIR__.'/../'); +$app->addCommandsPath('src/Deblan/Command/', 'Deblan\\Command'); +$app->loadCommands(); +$app->run(); diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..6970a3d --- /dev/null +++ b/composer.json @@ -0,0 +1,12 @@ +{ + "autoload": { + "psr-0": { + "": "src/" + } + }, + "require": { + "symfony/filesystem": "^2.7", + "symfony/finder": "^2.7", + "symfony/console": "^2.7" + } +} diff --git a/src/Deblan/.Application.php.swp b/src/Deblan/.Application.php.swp new file mode 100644 index 0000000000000000000000000000000000000000..481386dad8e6ebeb69f5d831733122183f13c9fc GIT binary patch literal 12288 zcmeI&Jxjwt7zgmDZXJ9uz!SA4xPpU%Dp>ySbEV$FRc=f2_o@$U+qcCy-gE2eHqzw ze!#H$Li=FAB0hc7FDT=rZgf~{`b#6*?Y3;GIFd$RsW572dtMA9>msA1YlU)O)lFdK zZXEMp097?2MS2tY%l>Hv}L60SG_<0uX=z z1R(Iw1$>;NTYkoo@8{%C0R55swf{cE4gwH>00bZa0SG_<0uX=z1Rwx`AruH2M6Y8+ z<#E1we)<1-|Nr3Qcg_pvne)WyaUM8#9Lq7B15Smr!CB+1aQd}|&;qv%0SG_<0uX=z z1Rwwb2tWV=5XcBzQ=YfHl!6=973I5>|7vL$XNe8d9(7TxrA_RR~oVMbN6Ror{Dm}6HyAsJlfhci`*BaG1 R%@h;CpZc3bTiacommandsPaths[$path] = trim($namespace, '\\'); + + return $this; + } + + public function chdir($directory) + { + chdir($directory); + + return $this; + } + + public function loadCommands() + { + foreach ($this->commandsPaths as $path => $namespace) { + $finder = new Finder(); + $finder->name('*Command.php')->in($path); + + foreach ($finder as $file) { + $className = $namespace.'\\'.str_replace('.php', '', $file->getFilename()); + + try { + $reflexion = new ReflectionClass($className); + + if ($reflexion->isInstantiable()) { + $command = new $className(); + + $this->addCommands(array( + $command, + )); + } + } catch (ReflectionException $e) { + + } + } + } + + return $this; + } +} +