Completed
Pull Request — master (#2122)
by
unknown
55:16
created

EccubeServiceProvider   C

Complexity

Total Complexity 5

Size/Duplication

Total Lines 367
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 103

Test Coverage

Coverage 97.15%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 367
ccs 239
cts 246
cp 0.9715
rs 5
c 1
b 0
f 0
wmc 5
lcom 0
cbo 103

2 Methods

Rating   Name   Duplication   Size   Complexity  
A boot() 0 3 1
B register() 0 345 4
1
<?php
2
/*
3
 * This file is part of EC-CUBE
4
 *
5
 * Copyright(c) 2000-2015 LOCKON CO.,LTD. All Rights Reserved.
6
 *
7
 * http://www.lockon.co.jp/
8
 *
9
 * This program is free software; you can redistribute it and/or
10
 * modify it under the terms of the GNU General Public License
11
 * as published by the Free Software Foundation; either version 2
12
 * of the License, or (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License
20
 * along with this program; if not, write to the Free Software
21
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22
 */
23
24
25
namespace Eccube\ServiceProvider;
26
27
use Eccube\Application;
28
use Silex\Application as BaseApplication;
29
use Silex\ServiceProviderInterface;
30
31
class EccubeServiceProvider implements ServiceProviderInterface
0 ignored issues
show
introduced by
Missing class doc comment
Loading history...
32
{
33
    /**
34
     * Registers services on the given app.
35
     *
36
     * This method should only be used to configure services and parameters.
37
     * It should not get services.
38
     *
39
     * @param BaseApplication $app An Application instance
40
     */
41 1185
    public function register(BaseApplication $app)
42
    {
43
        // Service
44
        $app['eccube.service.system'] = $app->share(function () use ($app) {
45 2
            return new \Eccube\Service\SystemService($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
46 1185
        });
47
        $app['view'] = $app->share(function () use ($app) {
48
            return $app['twig'];
49 1185
        });
50
        $app['eccube.service.cart'] = $app->share(function () use ($app) {
51 268
            return new \Eccube\Service\CartService($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
52 1185
        });
53
        $app['eccube.service.order'] = $app->share(function () use ($app) {
54 119
            return new \Eccube\Service\OrderService($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
Deprecated Code introduced by
The class Eccube\Service\OrderService has been deprecated with message: since 3.0.0, to be removed in 3.1

This class, trait or interface has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the type will be removed from the class and what other constant to use instead.

Loading history...
55 1185
        });
56
        $app['eccube.service.tax_rule'] = $app->share(function () use ($app) {
57 47
            return new \Eccube\Service\TaxRuleService($app['eccube.repository.tax_rule']);
58 1185
        });
59
        $app['eccube.service.plugin'] = $app->share(function () use ($app) {
60 150
            return new \Eccube\Service\PluginService($app);
61 1185
        });
62
        $app['eccube.service.mail'] = $app->share(function () use ($app) {
63 47
            return new \Eccube\Service\MailService($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
64 1185
        });
65
        $app['eccube.service.csv.export'] = $app->share(function () use ($app) {
66 2
            $csvService = new \Eccube\Service\CsvExportService();
67 2
            $csvService->setEntityManager($app['orm.em']);
68 2
            $csvService->setConfig($app['config']);
69 2
            $csvService->setCsvRepository($app['eccube.repository.csv']);
70 2
            $csvService->setCsvTypeRepository($app['eccube.repository.master.csv_type']);
71 2
            $csvService->setOrderRepository($app['eccube.repository.order']);
72 2
            $csvService->setCustomerRepository($app['eccube.repository.customer']);
73 2
            $csvService->setProductRepository($app['eccube.repository.product']);
74
75 2
            return $csvService;
76 1185
        });
77
        $app['eccube.service.shopping'] = $app->share(function () use ($app) {
78 115
            return new \Eccube\Service\ShoppingService($app, $app['eccube.service.cart'], $app['eccube.service.order']);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
79 1185
        });
80
81
        // Repository
82
        $app['eccube.repository.master.authority'] = $app->share(function () use ($app) {
83 228
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Authority');
84 1185
        });
85
        $app['eccube.repository.master.tag'] = $app->share(function () use ($app) {
86 4
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Tag');
87 1185
        });
88
        $app['eccube.repository.master.pref'] = $app->share(function () use ($app) {
89 402
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Pref');
90 1185
        });
91
        $app['eccube.repository.master.sex'] = $app->share(function () use ($app) {
92 362
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Sex');
93 1185
        });
94
        $app['eccube.repository.master.disp'] = $app->share(function () use ($app) {
95 331
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Disp');
96 1185
        });
97
        $app['eccube.repository.master.product_type'] = $app->share(function () use ($app) {
98 346
            return $app['orm.em']->getRepository('Eccube\Entity\Master\ProductType');
99 1185
        });
100
        $app['eccube.repository.master.page_max'] = $app->share(function () use ($app) {
101 24
            return $app['orm.em']->getRepository('Eccube\Entity\Master\PageMax');
102 1185
        });
103
        $app['eccube.repository.master.order_status'] = $app->share(function () use ($app) {
104 3
            return $app['orm.em']->getRepository('Eccube\Entity\Master\OrderStatus');
105 1185
        });
106
        $app['eccube.repository.master.device_type'] = $app->share(function () use ($app) {
107 313
            return $app['orm.em']->getRepository('Eccube\Entity\Master\DeviceType');
108 1185
        });
109
        $app['eccube.repository.master.csv_type'] = $app->share(function () use ($app) {
110 30
            return $app['orm.em']->getRepository('Eccube\Entity\Master\CsvType');
111 1185
        });
112
113
        $app['eccube.repository.delivery'] = $app->share(function () use ($app) {
114 205
            return $app['orm.em']->getRepository('Eccube\Entity\Delivery');
115 1185
        });
116
        $app['eccube.repository.delivery_date'] = $app->share(function () use ($app) {
117 318
            return $app['orm.em']->getRepository('Eccube\Entity\DeliveryDate');
118 1185
        });
119
        $app['eccube.repository.delivery_fee'] = $app->share(function () use ($app) {
120 230
            return $app['orm.em']->getRepository('Eccube\Entity\DeliveryFee');
121 1185
        });
122
        $app['eccube.repository.delivery_time'] = $app->share(function () use ($app) {
123
            return $app['orm.em']->getRepository('Eccube\Entity\DeliveryTime');
124 1185
        });
125
        $app['eccube.repository.payment'] = $app->share(function () use ($app) {
126 245
            return $app['orm.em']->getRepository('Eccube\Entity\Payment');
127 1185
        });
128
        $app['eccube.repository.payment_option'] = $app->share(function () use ($app) {
129 2
            return $app['orm.em']->getRepository('Eccube\Entity\PaymentOption');
130 1185
        });
131
        $app['eccube.repository.category'] = $app->share(function () use ($app) {
132 416
            $CategoryRepository = $app['orm.em']->getRepository('Eccube\Entity\Category');
133 416
            $CategoryRepository->setApplication($app);
134
135 416
            return $CategoryRepository;
136 1185
        });
137
        $app['eccube.repository.customer'] = $app->share(function () use ($app) {
138 373
            return $app['orm.em']->getRepository('Eccube\Entity\Customer');
139 1185
        });
140
        $app['eccube.repository.news'] = $app->share(function () use ($app) {
141 20
            return $app['orm.em']->getRepository('Eccube\Entity\News');
142 1185
        });
143
        $app['eccube.repository.mail_history'] = $app->share(function () use ($app) {
144
            return $app['orm.em']->getRepository('Eccube\Entity\MailHistory');
145 1185
        });
146
        $app['eccube.repository.member'] = $app->share(function () use ($app) {
147 589
            $memberRepository = $app['orm.em']->getRepository('Eccube\Entity\Member');
148 589
            $memberRepository->setEncoderFactorty($app['security.encoder_factory']);
149 589
            return $memberRepository;
0 ignored issues
show
introduced by
Missing blank line before return statement
Loading history...
150 1185
        });
151
        $app['eccube.repository.order'] = $app->share(function () use ($app) {
152
            return $app['orm.em']->getRepository('Eccube\Entity\Order');
153 1185
        });
154
        $app['eccube.repository.product'] = $app->share(function () use ($app) {
155 95
            $productRepository = $app['orm.em']->getRepository('Eccube\Entity\Product');
156 95
            $productRepository->setApplication($app);
157
158 95
            return $productRepository;
159 1185
        });
160
        $app['eccube.repository.product_image'] = $app->share(function () use ($app) {
161
            return $app['orm.em']->getRepository('Eccube\Entity\ProductImage');
162 1185
        });
163
        $app['eccube.repository.product_class'] = $app->share(function () use ($app) {
164 38
            return $app['orm.em']->getRepository('Eccube\Entity\ProductClass');
165 1185
        });
166
        $app['eccube.repository.product_stock'] = $app->share(function () use ($app) {
167
            return $app['orm.em']->getRepository('Eccube\Entity\ProductStock');
168 1185
        });
169
        $app['eccube.repository.product_tag'] = $app->share(function () use ($app) {
170
            return $app['orm.em']->getRepository('Eccube\Entity\ProductTag');
171 1185
        });
172
        $app['eccube.repository.class_name'] = $app->share(function () use ($app) {
173 349
            return $app['orm.em']->getRepository('Eccube\Entity\ClassName');
174 1185
        });
175
        $app['eccube.repository.class_category'] = $app->share(function () use ($app) {
176 361
            return $app['orm.em']->getRepository('Eccube\Entity\ClassCategory');
177 1185
        });
178
        $app['eccube.repository.customer_favorite_product'] = $app->share(function () use ($app) {
179 648
            return $app['orm.em']->getRepository('Eccube\Entity\CustomerFavoriteProduct');
180 1185
        });
181
        $app['eccube.repository.base_info'] = $app->share(function () use ($app) {
182 786
            $BaseInfoRepository = $app['orm.em']->getRepository('Eccube\Entity\BaseInfo');
183 786
            $BaseInfoRepository->setApplication($app);
184
185 786
            return $BaseInfoRepository;
186 1185
        });
187
        $app['eccube.repository.tax_rule'] = $app->share(function () use ($app) {
188 274
            $taxRuleRepository = $app['orm.em']->getRepository('Eccube\Entity\TaxRule');
189 274
            $taxRuleRepository->setApplication($app);
190
191 274
            return $taxRuleRepository;
192 1185
        });
193
        $app['eccube.repository.page_layout'] = $app->share(function () use ($app) {
194 282
            $pageLayoutRepository = $app['orm.em']->getRepository('Eccube\Entity\PageLayout');
195 282
            $pageLayoutRepository->setApplication($app);
196
197 282
            return $pageLayoutRepository;
198 1185
        });
199
        $app['eccube.repository.block'] = $app->share(function () use ($app) {
200 14
            $blockRepository = $app['orm.em']->getRepository('Eccube\Entity\Block');
201 14
            $blockRepository->setApplication($app);
202
203 14
            return $blockRepository;
204 1185
        });
205
        $app['eccube.repository.order'] = $app->share(function () use ($app) {
206 184
            $orderRepository = $app['orm.em']->getRepository('Eccube\Entity\Order');
207 184
            $orderRepository->setApplication($app);
208
209 184
            return $orderRepository;
210 1185
        });
211
        $app['eccube.repository.customer_address'] = $app->share(function () use ($app) {
212 140
            return $app['orm.em']->getRepository('Eccube\Entity\CustomerAddress');
213 1185
        });
214
        $app['eccube.repository.shipping'] = $app->share(function () use ($app) {
215 34
            return $app['orm.em']->getRepository('Eccube\Entity\Shipping');
216 1185
        });
217
        $app['eccube.repository.customer_status'] = $app->share(function () use ($app) {
218 2
            return $app['orm.em']->getRepository('Eccube\Entity\Master\CustomerStatus');
219 1185
        });
220
        $app['eccube.repository.order_status'] = $app->share(function () use ($app) {
221 221
            return $app['orm.em']->getRepository('Eccube\Entity\Master\OrderStatus');
222 1185
        });
223
        $app['eccube.repository.mail_template'] = $app->share(function () use ($app) {
224 26
            return $app['orm.em']->getRepository('Eccube\Entity\MailTemplate');
225 1185
        });
226
        $app['eccube.repository.csv'] = $app->share(function () use ($app) {
227 8
            return $app['orm.em']->getRepository('Eccube\Entity\Csv');
228 1185
        });
229
        $app['eccube.repository.template'] = $app->share(function () use ($app) {
230 1
            return $app['orm.em']->getRepository('Eccube\Entity\Template');
231 1185
        });
232
        $app['eccube.repository.authority_role'] = $app->share(function () use ($app) {
233 291
            return $app['orm.em']->getRepository('Eccube\Entity\AuthorityRole');
234 1185
        });
235
236
        $app['paginator'] = $app->protect(function () {
237 41
            $paginator = new \Knp\Component\Pager\Paginator();
238 41
            $paginator->subscribe(new \Eccube\EventListener\PaginatorListener());
239
240 41
            return $paginator;
241 1185
        });
242
243
        $app['eccube.repository.help'] = $app->share(function () use ($app) {
244 10
            return $app['orm.em']->getRepository('Eccube\Entity\Help');
245 1185
        });
246
        $app['eccube.repository.plugin'] = $app->share(function () use ($app) {
247 8
            return $app['orm.em']->getRepository('Eccube\Entity\Plugin');
248 1185
        });
249
        $app['eccube.repository.plugin_event_handler'] = $app->share(function () use ($app) {
250 3
            return $app['orm.em']->getRepository('Eccube\Entity\PluginEventHandler');
251 1185
        });
252
        // em
253 1185
        if (isset($app['orm.em'])) {
254
            $app['orm.em'] = $app->share($app->extend('orm.em', function (\Doctrine\ORM\EntityManager $em, \Silex\Application $app) {
255
                // tax_rule
256 1185
                $taxRuleRepository = $em->getRepository('Eccube\Entity\TaxRule');
257 1185
                $taxRuleRepository->setApplication($app);
258 1185
                $taxRuleService = new \Eccube\Service\TaxRuleService($taxRuleRepository);
0 ignored issues
show
Compatibility introduced by
$taxRuleRepository of type object<Doctrine\ORM\EntityRepository> is not a sub-type of object<Eccube\Repository\TaxRuleRepository>. It seems like you assume a child class of the class Doctrine\ORM\EntityRepository to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
259 1185
                $em->getEventManager()->addEventSubscriber(new \Eccube\Doctrine\EventSubscriber\TaxRuleEventSubscriber($taxRuleService));
260
261
                // save
262 1185
                $saveEventSubscriber = new \Eccube\Doctrine\EventSubscriber\SaveEventSubscriber($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
263 1185
                $em->getEventManager()->addEventSubscriber($saveEventSubscriber);
264
265
                // clear cache
266 1185
                $clearCacheEventSubscriber = new \Eccube\Doctrine\EventSubscriber\ClearCacheEventSubscriber($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
267 1185
                $em->getEventManager()->addEventSubscriber($clearCacheEventSubscriber);
268
269
                // filters
270 1185
                $config = $em->getConfiguration();
271 1185
                $config->addFilter("soft_delete", '\Eccube\Doctrine\Filter\SoftDeleteFilter');
272 1185
                $config->addFilter("nostock_hidden", '\Eccube\Doctrine\Filter\NoStockHiddenFilter');
273 1185
                $config->addFilter("incomplete_order_status_hidden", '\Eccube\Doctrine\Filter\OrderStatusFilter');
274 1185
                $em->getFilters()->enable('soft_delete');
275
276 1185
                return $em;
277 1185
            }));
278
        }
279
280
        // Form\Type
281
        $app['form.type.extensions'] = $app->share($app->extend('form.type.extensions', function ($extensions) use ($app) {
282 647
            $extensions[] = new \Eccube\Form\Extension\HelpTypeExtension();
283 647
            $extensions[] = new \Eccube\Form\Extension\FreezeTypeExtension();
284
285 647
            return $extensions;
286 1185
        }));
287 1185
        $app['form.types'] = $app->share($app->extend('form.types', function ($types) use ($app) {
288 647
            $types[] = new \Eccube\Form\Type\NameType($app['config']);
289 647
            $types[] = new \Eccube\Form\Type\KanaType($app['config']);
290 647
            $types[] = new \Eccube\Form\Type\TelType($app['config']);
291 647
            $types[] = new \Eccube\Form\Type\FaxType(); // 削除予定
292 647
            $types[] = new \Eccube\Form\Type\ZipType($app['config']);
293 647
            $types[] = new \Eccube\Form\Type\AddressType($app['config']);
294 647
            $types[] = new \Eccube\Form\Type\RepeatedEmailType();
295 647
            $types[] = new \Eccube\Form\Type\RepeatedPasswordType($app['config']);
296 647
            $types[] = new \Eccube\Form\Type\PriceType($app['config']);
297
298 647
            $types[] = new \Eccube\Form\Type\MasterType();
299 647
            $types[] = new \Eccube\Form\Type\Master\JobType();
300 647
            $types[] = new \Eccube\Form\Type\Master\CustomerStatusType();
301 647
            $types[] = new \Eccube\Form\Type\Master\OrderStatusType();
302 647
            $types[] = new \Eccube\Form\Type\Master\CalcRuleType();
303 647
            $types[] = new \Eccube\Form\Type\Master\SexType();
304 647
            $types[] = new \Eccube\Form\Type\Master\DispType();
305 647
            $types[] = new \Eccube\Form\Type\Master\PrefType();
306 647
            $types[] = new \Eccube\Form\Type\Master\ProductTypeType();
307 647
            $types[] = new \Eccube\Form\Type\Master\ProductListMaxType();
308 647
            $types[] = new \Eccube\Form\Type\Master\ProductListOrderByType();
309 647
            $types[] = new \Eccube\Form\Type\Master\PageMaxType();
310 647
            $types[] = new \Eccube\Form\Type\Master\CsvType();
311 647
            $types[] = new \Eccube\Form\Type\Master\DeliveryDateType();
312 647
            $types[] = new \Eccube\Form\Type\Master\PaymentType();
313 647
            $types[] = new \Eccube\Form\Type\Master\MailTemplateType();
314 647
            $types[] = new \Eccube\Form\Type\Master\CategoryType();
315 647
            $types[] = new \Eccube\Form\Type\Master\TagType();
316
317 647
            $types[] = new \Eccube\Form\Type\CustomerType($app); // 削除予定
318
319 647
            if (isset($app['security']) && isset($app['eccube.repository.customer_favorite_product'])) {
320 647
                $types[] = new \Eccube\Form\Type\AddCartType($app['config'], $app['security'], $app['eccube.repository.customer_favorite_product']);
321
            }
322 647
            $types[] = new \Eccube\Form\Type\SearchProductType($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
323 647
            $types[] = new \Eccube\Form\Type\SearchProductBlockType($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
324 647
            $types[] = new \Eccube\Form\Type\OrderSearchType($app);
325 647
            $types[] = new \Eccube\Form\Type\ShippingItemType($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
326 647
            $types[] = new \Eccube\Form\Type\ShippingMultipleType($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
327 647
            $types[] = new \Eccube\Form\Type\ShippingMultipleItemType($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
328 647
            $types[] = new \Eccube\Form\Type\ShoppingType();
329
330
            // front
331 647
            $types[] = new \Eccube\Form\Type\Front\EntryType($app['config']);
332 647
            $types[] = new \Eccube\Form\Type\Front\ContactType($app['config']);
333 647
            $types[] = new \Eccube\Form\Type\Front\NonMemberType($app['config']);
334 647
            $types[] = new \Eccube\Form\Type\Front\ShoppingShippingType();
335 647
            $types[] = new \Eccube\Form\Type\Front\CustomerAddressType($app['config']);
336 647
            $types[] = new \Eccube\Form\Type\Front\ForgotType();
337 647
            $types[] = new \Eccube\Form\Type\Front\CustomerLoginType($app['session']);
338
339
            // admin
340 647
            $types[] = new \Eccube\Form\Type\Admin\LoginType($app['session']);
341 647
            $types[] = new \Eccube\Form\Type\Admin\ChangePasswordType($app);
342 647
            $types[] = new \Eccube\Form\Type\Admin\ProductType($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
343 647
            $types[] = new \Eccube\Form\Type\Admin\ProductClassType($app);
344 647
            $types[] = new \Eccube\Form\Type\Admin\SearchProductType($app);
345 647
            $types[] = new \Eccube\Form\Type\Admin\SearchCustomerType($app['config']);
346 647
            $types[] = new \Eccube\Form\Type\Admin\SearchOrderType($app['config']);
347 647
            $types[] = new \Eccube\Form\Type\Admin\CustomerType($app['config']);
348 647
            $types[] = new \Eccube\Form\Type\Admin\ClassNameType($app['config']);
349 647
            $types[] = new \Eccube\Form\Type\Admin\ClassCategoryType($app['config']);
350 647
            $types[] = new \Eccube\Form\Type\Admin\CategoryType($app['config']);
351 647
            $types[] = new \Eccube\Form\Type\Admin\MemberType($app['config']);
352 647
            $types[] = new \Eccube\Form\Type\Admin\AuthorityRoleType($app['config']);
353 647
            $types[] = new \Eccube\Form\Type\Admin\PageLayoutType();
354 647
            $types[] = new \Eccube\Form\Type\Admin\NewsType($app['config']);
355 647
            $types[] = new \Eccube\Form\Type\Admin\TemplateType($app['config']);
356 647
            $types[] = new \Eccube\Form\Type\Admin\SecurityType($app);
357 647
            $types[] = new \Eccube\Form\Type\Admin\CsvImportType($app);
358 647
            $types[] = new \Eccube\Form\Type\Admin\ShopMasterType($app['config']);
359 647
            $types[] = new \Eccube\Form\Type\Admin\TradelawType($app['config']);
360 647
            $types[] = new \Eccube\Form\Type\Admin\OrderType($app);
361 647
            $types[] = new \Eccube\Form\Type\Admin\OrderDetailType($app);
362 647
            $types[] = new \Eccube\Form\Type\Admin\ShippingType($app);
0 ignored issues
show
Compatibility introduced by
$app of type object<Silex\Application> is not a sub-type of object<Eccube\Application>. It seems like you assume a child class of the class Silex\Application to be always present.

This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.

Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.

Loading history...
363 647
            $types[] = new \Eccube\Form\Type\Admin\ShipmentItemType($app);
364 647
            $types[] = new \Eccube\Form\Type\Admin\PaymentRegisterType($app);
365 647
            $types[] = new \Eccube\Form\Type\Admin\TaxRuleType();
366 647
            $types[] = new \Eccube\Form\Type\Admin\MainEditType($app);
367 647
            $types[] = new \Eccube\Form\Type\Admin\MailType();
368 647
            $types[] = new \Eccube\Form\Type\Admin\CustomerAgreementType($app);
369 647
            $types[] = new \Eccube\Form\Type\Admin\BlockType($app);
370 647
            $types[] = new \Eccube\Form\Type\Admin\DeliveryType();
371 647
            $types[] = new \Eccube\Form\Type\Admin\DeliveryFeeType();
372 647
            $types[] = new \Eccube\Form\Type\Admin\DeliveryTimeType($app['config']);
373 647
            $types[] = new \Eccube\Form\Type\Admin\LogType($app['config']);
374 647
            $types[] = new \Eccube\Form\Type\Admin\CacheType($app['config']);
375
376 647
            $types[] = new \Eccube\Form\Type\Admin\MasterdataType($app);
377 647
            $types[] = new \Eccube\Form\Type\Admin\MasterdataDataType($app);
378 647
            $types[] = new \Eccube\Form\Type\Admin\MasterdataEditType($app);
379
380 647
            $types[] = new \Eccube\Form\Type\Admin\PluginLocalInstallType();
381 647
            $types[] = new \Eccube\Form\Type\Admin\PluginManagementType();
382
383 647
            return $types;
384 1185
        }));
385
    }
386
387
    /**
0 ignored issues
show
introduced by
Doc comment for parameter "$app" missing
Loading history...
388
     * Bootstraps the application.
389
     *
390
     * This method is called after all services are registered
391
     * and should be used for "dynamic" configuration (whenever
392
     * a service must be requested).
393
     */
394
    public function boot(BaseApplication $app)
395
    {
396
    }
397
}
398