Skip to content

Commit ea7eb5a

Browse files
author
Martin Supiot
committed
ZF3 compatibility
1 parent 904821e commit ea7eb5a

19 files changed

Lines changed: 562 additions & 124 deletions

Module.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,13 @@ public function init(ModuleManagerInterface $moduleManager)
3535
{
3636
}
3737

38-
/**
39-
* {@inheritDoc}
40-
*/
41-
public function onBootstrap(EventInterface $event)
38+
public function onBootstrap(EventInterface $e)
4239
{
43-
$this->serviceManager = $event->getTarget()->getServiceManager();
40+
$this->serviceManager = $e->getTarget()->getServiceManager();
41+
$sharedEvents = $e->getApplication()->getEventManager()->getSharedManager();
42+
$sharedEvents->attach(__NAMESPACE__, 'dispatch', function($e) {
43+
$result->setTerminal(true);
44+
});
4445
}
4546

4647
/**

bin/pomm.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
$cliConfig = require __DIR__ . '/../config/cli.config.php';
44
ini_set('display_errors', true);
55
// Setup autoloading
6-
require 'init_autoloader.php';
6+
require __DIR__ . '/../../../autoload.php';
7+
78
// Run the application!
89
Zend\Mvc\Application::init($cliConfig)->run();

config/cli.config.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@
99

1010
return array(
1111
'modules' => array(
12+
'Zend\Router',
13+
'Zend\ServiceManager\Di',
14+
'Zend\Session',
15+
'Zend\Log',
16+
'Zend\InputFilter',
17+
'Zend\Filter',
18+
'Zend\Validator',
19+
'Zend\Mvc\Console',
1220
'PommProject\PommModule',
1321
'Database',
1422
),

config/module.config.php

Lines changed: 99 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -7,123 +7,127 @@
77
* @author Martin Supiot <msupiot@jack.fr>
88
*/
99

10-
return array(
11-
'service_manager' => array(
12-
'factories' => array(
13-
'PommProject\PommModule\Service\PommServiceFactory' => 'PommProject\PommModule\Service\PommServiceFactory',
14-
),
15-
),
10+
return [
11+
'service_manager' => [
12+
'factories' => [
13+
'pomm_service' => PommProject\PommModule\Service\PommServiceFactory::class,
14+
],
15+
],
1616
'controllers' => [
17-
'invokables' => [
18-
'PommProject\PommModule\Controller\GenerateDatabaseAllController' => 'PommProject\PommModule\Controller\GenerateDatabaseAllController',
19-
'PommProject\PommModule\Controller\GenerateEntityController' => 'PommProject\PommModule\Controller\GenerateEntityController',
20-
'PommProject\PommModule\Controller\GenerateRelationAllController' => 'PommProject\PommModule\Controller\GenerateRelationAllController',
21-
'PommProject\PommModule\Controller\GenerateRelationModelController' => 'PommProject\PommModule\Controller\GenerateRelationModelController',
22-
'PommProject\PommModule\Controller\GenerateRelationStructureController' => 'PommProject\PommModule\Controller\GenerateRelationStructureController',
23-
'PommProject\PommModule\Controller\GenerateSchemaAllController' => 'PommProject\PommModule\Controller\GenerateSchemaAllController',
24-
'PommProject\PommModule\Controller\InspectConfigController' => 'PommProject\PommModule\Controller\InspectConfigController',
25-
'PommProject\PommModule\Controller\InspectDatabaseController' => 'PommProject\PommModule\Controller\InspectDatabaseController',
26-
'PommProject\PommModule\Controller\InspectRelationController' => 'PommProject\PommModule\Controller\InspectRelationController',
27-
'PommProject\PommModule\Controller\InspectSchemaController' => 'PommProject\PommModule\Controller\InspectSchemaController',
17+
'factories' => [
18+
Controller\IndexController::class => InvokableFactory::class,
19+
PommProject\PommModule\Controller\GenerateDatabaseAllController::class => PommProject\PommModule\Controller\GenerateDatabaseAllControllerFactory::class,
20+
PommProject\PommModule\Controller\GenerateEntityController::class => PommProject\PommModule\Controller\GenerateEntityControllerFactory::class,
21+
PommProject\PommModule\Controller\GenerateRelationAllController::class => PommProject\PommModule\Controller\GenerateRelationAllControllerFactory::class,
22+
PommProject\PommModule\Controller\GenerateRelationModelController::class => PommProject\PommModule\Controller\GenerateRelationModelControllerFactory::class,
23+
PommProject\PommModule\Controller\GenerateRelationStructureController::class => PommProject\PommModule\Controller\GenerateRelationStructureControllerFactory::class,
24+
PommProject\PommModule\Controller\GenerateSchemaAllController::class => PommProject\PommModule\Controller\GenerateSchemaAllControllerFactory::class,
25+
PommProject\PommModule\Controller\InspectConfigController::class => PommProject\PommModule\Controller\InspectConfigControllerFactory::class,
26+
PommProject\PommModule\Controller\InspectDatabaseController::class => PommProject\PommModule\Controller\InspectDatabaseControllerFactory::class,
27+
PommProject\PommModule\Controller\InspectRelationController::class => PommProject\PommModule\Controller\InspectRelationControllerFactory::class,
28+
PommProject\PommModule\Controller\InspectSchemaController::class => PommProject\PommModule\Controller\InspectSchemaControllerFactory::class,
2829
],
2930
],
30-
'console' => array(
31-
'router' => array(
32-
'routes' => array(
31+
'console' => [
32+
'view_manager' => [
33+
'display_exceptions' => true,
34+
],
35+
'router' => [
36+
'routes' => [
3337
// Inspectors
34-
'inspect-config' => array(
35-
'options' => array(
38+
'inspect-config' => [
39+
'options' => [
3640
'route' => 'inspect-config',
37-
'defaults' => array(
38-
'controller' => 'PommProject\PommModule\Controller\InspectConfigController',
41+
'defaults' => [
42+
'controller' => PommProject\PommModule\Controller\InspectConfigController::class,
3943
'action' => 'inspect'
40-
)
41-
)
42-
),
43-
'inspect-database' => array(
44-
'options' => array(
44+
]
45+
]
46+
],
47+
'inspect-database' => [
48+
'options' => [
4549
'route' => 'inspect-database <config-name>',
46-
'defaults' => array(
47-
'controller' => 'PommProject\PommModule\Controller\InspectDatabaseController',
50+
'defaults' => [
51+
'controller' => PommProject\PommModule\Controller\InspectDatabaseController::class,
4852
'action' => 'inspect'
49-
)
50-
)
51-
),
52-
'inspect-schema' => array(
53-
'options' => array(
53+
]
54+
]
55+
],
56+
'inspect-schema' => [
57+
'options' => [
5458
'route' => 'inspect-schema <config-name> <schema>',
55-
'defaults' => array(
56-
'controller' => 'PommProject\PommModule\Controller\InspectSchemaController',
59+
'defaults' => [
60+
'controller' => PommProject\PommModule\Controller\InspectSchemaController::class,
5761
'action' => 'inspect'
58-
)
59-
)
60-
),
61-
'inspect-relation' => array(
62-
'options' => array(
62+
]
63+
]
64+
],
65+
'inspect-relation' => [
66+
'options' => [
6367
'route' => 'inspect-relation <config-name> <schema> <relation>',
64-
'defaults' => array(
65-
'controller' => 'PommProject\PommModule\Controller\InspectRelationController',
68+
'defaults' => [
69+
'controller' => PommProject\PommModule\Controller\InspectRelationController::class,
6670
'action' => 'inspect'
67-
)
68-
)
69-
),
71+
]
72+
]
73+
],
7074
// Generators
71-
'generate-entity' => array(
72-
'options' => array(
73-
'route' => 'generate-entity <config-name> <entity-name> <relation> [--force] [--prefix-dir=] [--prefix-ns=] [--flexible-container=]',
74-
'defaults' => array(
75-
'controller' => 'PommProject\PommModule\Controller\GenerateEntityController',
75+
'generate-entity' => [
76+
'options' => [
77+
'route' => 'generate-entity <config-name> <schema> <relation> [--force] [--prefix-dir=] [--prefix-ns=] [--flexible-container=]',
78+
'defaults' => [
79+
'controller' => PommProject\PommModule\Controller\GenerateEntityController::class,
7680
'action' => 'generate'
77-
)
78-
)
79-
),
80-
'generate-model' => array(
81-
'options' => array(
81+
]
82+
]
83+
],
84+
'generate-model' => [
85+
'options' => [
8286
'route' => 'generate-model <config-name> <schema> <relation> [--force] [--prefix-dir=] [--prefix-ns=] [--flexible-container=]',
83-
'defaults' => array(
84-
'controller' => 'PommProject\PommModule\Controller\GenerateRelationModelController',
87+
'defaults' => [
88+
'controller' => PommProject\PommModule\Controller\GenerateRelationModelController::class,
8589
'action' => 'generate'
86-
)
87-
)
88-
),
89-
'generate-structure' => array(
90-
'options' => array(
90+
]
91+
]
92+
],
93+
'generate-structure' => [
94+
'options' => [
9195
'route' => 'generate-structure <config-name> <schema> <relation> [--prefix-dir=] [--prefix-ns=] [--flexible-container=]',
92-
'defaults' => array(
93-
'controller' => 'PommProject\PommModule\Controller\GenerateRelationStructureController',
96+
'defaults' => [
97+
'controller' => PommProject\PommModule\Controller\GenerateRelationStructureController::class,
9498
'action' => 'generate'
95-
)
96-
)
97-
),
99+
]
100+
]
101+
],
98102
// Meta generators
99-
'generate-relation-all' => array(
100-
'options' => array(
103+
'generate-relation-all' => [
104+
'options' => [
101105
'route' => 'generate-relation-all <config-name> <schema> <relation> [--force] [--prefix-dir=] [--prefix-ns=] [--flexible-container=] [--verbose]',
102-
'defaults' => array(
103-
'controller' => 'PommProject\PommModule\Controller\GenerateRelationAllController',
106+
'defaults' => [
107+
'controller' => PommProject\PommModule\Controller\GenerateRelationAllController::class,
104108
'action' => 'generate'
105-
)
106-
)
107-
),
108-
'generate-schema-all' => array(
109-
'options' => array(
109+
]
110+
]
111+
],
112+
'generate-schema-all' => [
113+
'options' => [
110114
'route' => 'generate-schema-all <config-name> <schema> [--force] [--prefix-dir=] [--prefix-ns=] [--flexible-container=] [--verbose]',
111-
'defaults' => array(
112-
'controller' => 'PommProject\PommModule\Controller\GenerateSchemaAllController',
115+
'defaults' => [
116+
'controller' => PommProject\PommModule\Controller\GenerateSchemaAllController::class,
113117
'action' => 'generate'
114-
)
115-
)
116-
),
117-
'generate-database-all' => array(
118-
'options' => array(
118+
]
119+
]
120+
],
121+
'generate-database-all' => [
122+
'options' => [
119123
'route' => 'generate-database-all <config-name> [--force] [--prefix-dir=] [--prefix-ns=] [--flexible-container=] [--verbose]',
120-
'defaults' => array(
121-
'controller' => 'PommProject\PommModule\Controller\GenerateDatabaseAllController',
124+
'defaults' => [
125+
'controller' => PommProject\PommModule\Controller\GenerateDatabaseAllController::class,
122126
'action' => 'generate'
123-
)
124-
)
125-
),
126-
)
127-
)
128-
),
129-
);
127+
]
128+
]
129+
],
130+
]
131+
]
132+
],
133+
];

src/Controller/AbstractCliPommController.php

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,38 +12,32 @@
1212
use Zend\ModuleManager\Feature\ConsoleBannerProviderInterface;
1313
use Zend\Console\Adapter\AdapterInterface as Console;
1414
use Zend\Console\Request as ConsoleRequest;
15-
use Zend\Mvc\Controller\AbstractActionController;
1615

1716
use PommProject\Foundation\Pomm;
1817
use PommProject\Foundation\Session\Session;
1918
use PommProject\Foundation\Inspector\InspectorPooler;
2019
use PommProject\Foundation\Inflector;
20+
use PommProject\Foundation\Pomm as PommService;
2121

2222
/**
2323
* Console controller
2424
* Generate Pomm base class
2525
*/
26-
abstract class AbstractCliPommController extends AbstractActionController implements ConsoleBannerProviderInterface
26+
abstract class AbstractCliPommController extends AbstractConsoleController implements ConsoleBannerProviderInterface
2727
{
28+
protected $console;
29+
private $pommService;
30+
2831
private $pomm;
2932
private $session;
3033
private $configName;
3134
private $schema;
3235
private $relation;
3336

34-
/**
35-
* Check if we're in console mode
36-
*
37-
* @return void
38-
*/
39-
protected function checkConsole()
37+
public function __construct(Console $console, PommService $pommService)
4038
{
41-
// Make sure that we are running in a console and the user has not tricked our
42-
// application into running this action from a public web server.
43-
$console = $this->getServiceLocator()->get('console');
44-
if (!$console instanceof Console) {
45-
throw new RuntimeException('Cannot obtain console adapter. Are we running in a console?');
46-
}
39+
$this->console = $console;
40+
$this->pommService = $pommService;
4741
}
4842

4943
/**
@@ -62,8 +56,7 @@ public function getConsoleBanner(Console $console)
6256
*/
6357
protected function getToolOptions(ConsoleRequest $request)
6458
{
65-
$pommService = $this->getServiceLocator()->get('PommProject\PommModule\Service\PommServiceFactory');
66-
$this->setPomm($pommService);
59+
$this->setPomm($this->pommService);
6760

6861
$this->options = array();
6962

0 commit comments

Comments
 (0)