EccubeServiceProvider   C
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 376
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 103

Test Coverage

Coverage 96.83%

Importance

Changes 0
Metric Value
dl 0
loc 376
rs 5
c 0
b 0
f 0
ccs 244
cts 252
cp 0.9683
wmc 5
lcom 0
cbo 103

2 Methods

Rating   Name   Duplication   Size   Complexity  
B register() 0 354 4
A boot() 0 3 1
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 1229
    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 1229
        });
47
        $app['view'] = $app->share(function () use ($app) {
48
            return $app['twig'];
49 1229
        });
50
        $app['eccube.service.cart'] = $app->share(function () use ($app) {
51 279
            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 1229
        });
53
        $app['eccube.service.order'] = $app->share(function () use ($app) {
54 123
            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 1229
        });
56
        $app['eccube.service.tax_rule'] = $app->share(function () use ($app) {
57 57
            return new \Eccube\Service\TaxRuleService($app['eccube.repository.tax_rule']);
58 1229
        });
59
        $app['eccube.service.plugin'] = $app->share(function () use ($app) {
60 150
            return new \Eccube\Service\PluginService($app);
61 1229
        });
62
        $app['eccube.service.mail'] = $app->share(function () use ($app) {
63 51
            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 1229
        });
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 1229
        });
77
        $app['eccube.service.shopping'] = $app->share(function () use ($app) {
78 119
            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 1229
        });
80
81
        // Repository
82
        $app['eccube.repository.master.authority'] = $app->share(function () use ($app) {
83 246
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Authority');
84 1229
        });
85
        $app['eccube.repository.master.tag'] = $app->share(function () use ($app) {
86 4
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Tag');
87 1229
        });
88
        $app['eccube.repository.master.pref'] = $app->share(function () use ($app) {
89 410
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Pref');
90 1229
        });
91
        $app['eccube.repository.master.sex'] = $app->share(function () use ($app) {
92 369
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Sex');
93 1229
        });
94
        $app['eccube.repository.master.disp'] = $app->share(function () use ($app) {
95 340
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Disp');
96 1229
        });
97
        $app['eccube.repository.master.product_type'] = $app->share(function () use ($app) {
98 360
            return $app['orm.em']->getRepository('Eccube\Entity\Master\ProductType');
99 1229
        });
100
        $app['eccube.repository.master.page_max'] = $app->share(function () use ($app) {
101 25
            return $app['orm.em']->getRepository('Eccube\Entity\Master\PageMax');
102 1229
        });
103
        $app['eccube.repository.master.product_list_max'] = $app->share(function () use ($app) {
104
            return $app['orm.em']->getRepository('Eccube\Entity\Master\ProductListMax');
105 1229
        });
106
        $app['eccube.repository.master.product_list_order_by'] = $app->share(function () use ($app) {
107
            return $app['orm.em']->getRepository('Eccube\Entity\Master\ProductListOrderBy');
108 1229
        });
109
        $app['eccube.repository.master.order_status'] = $app->share(function () use ($app) {
110 1
            return $app['orm.em']->getRepository('Eccube\Entity\Master\OrderStatus');
111 1229
        });
112
        $app['eccube.repository.master.device_type'] = $app->share(function () use ($app) {
113 324
            return $app['orm.em']->getRepository('Eccube\Entity\Master\DeviceType');
114 1229
        });
115
        $app['eccube.repository.master.csv_type'] = $app->share(function () use ($app) {
116 30
            return $app['orm.em']->getRepository('Eccube\Entity\Master\CsvType');
117 1229
        });
118
119
        $app['eccube.repository.delivery'] = $app->share(function () use ($app) {
120 213
            return $app['orm.em']->getRepository('Eccube\Entity\Delivery');
121 1229
        });
122
        $app['eccube.repository.delivery_date'] = $app->share(function () use ($app) {
123 331
            return $app['orm.em']->getRepository('Eccube\Entity\DeliveryDate');
124 1229
        });
125
        $app['eccube.repository.delivery_fee'] = $app->share(function () use ($app) {
126 236
            return $app['orm.em']->getRepository('Eccube\Entity\DeliveryFee');
127 1229
        });
128
        $app['eccube.repository.delivery_time'] = $app->share(function () use ($app) {
129
            return $app['orm.em']->getRepository('Eccube\Entity\DeliveryTime');
130 1229
        });
131
        $app['eccube.repository.payment'] = $app->share(function () use ($app) {
132 251
            return $app['orm.em']->getRepository('Eccube\Entity\Payment');
133 1229
        });
134
        $app['eccube.repository.payment_option'] = $app->share(function () use ($app) {
135 2
            return $app['orm.em']->getRepository('Eccube\Entity\PaymentOption');
136 1229
        });
137
        $app['eccube.repository.category'] = $app->share(function () use ($app) {
138 428
            $CategoryRepository = $app['orm.em']->getRepository('Eccube\Entity\Category');
139 428
            $CategoryRepository->setApplication($app);
140
141 428
            return $CategoryRepository;
142 1229
        });
143
        $app['eccube.repository.customer'] = $app->share(function () use ($app) {
144 380
            return $app['orm.em']->getRepository('Eccube\Entity\Customer');
145 1229
        });
146
        $app['eccube.repository.news'] = $app->share(function () use ($app) {
147 20
            return $app['orm.em']->getRepository('Eccube\Entity\News');
148 1229
        });
149
        $app['eccube.repository.mail_history'] = $app->share(function () use ($app) {
150 10
            return $app['orm.em']->getRepository('Eccube\Entity\MailHistory');
151 1229
        });
152
        $app['eccube.repository.member'] = $app->share(function () use ($app) {
153 613
            $memberRepository = $app['orm.em']->getRepository('Eccube\Entity\Member');
154 613
            $memberRepository->setEncoderFactorty($app['security.encoder_factory']);
155 613
            return $memberRepository;
0 ignored issues
show
introduced by
Missing blank line before return statement
Loading history...
156 1229
        });
157
        $app['eccube.repository.order'] = $app->share(function () use ($app) {
158
            return $app['orm.em']->getRepository('Eccube\Entity\Order');
159 1229
        });
160
        $app['eccube.repository.product'] = $app->share(function () use ($app) {
161 106
            $productRepository = $app['orm.em']->getRepository('Eccube\Entity\Product');
162 106
            $productRepository->setApplication($app);
163
164 106
            return $productRepository;
165 1229
        });
166
        $app['eccube.repository.product_image'] = $app->share(function () use ($app) {
167
            return $app['orm.em']->getRepository('Eccube\Entity\ProductImage');
168 1229
        });
169
        $app['eccube.repository.product_class'] = $app->share(function () use ($app) {
170 38
            return $app['orm.em']->getRepository('Eccube\Entity\ProductClass');
171 1229
        });
172
        $app['eccube.repository.product_stock'] = $app->share(function () use ($app) {
173
            return $app['orm.em']->getRepository('Eccube\Entity\ProductStock');
174 1229
        });
175
        $app['eccube.repository.product_tag'] = $app->share(function () use ($app) {
176
            return $app['orm.em']->getRepository('Eccube\Entity\ProductTag');
177 1229
        });
178
        $app['eccube.repository.class_name'] = $app->share(function () use ($app) {
179 362
            return $app['orm.em']->getRepository('Eccube\Entity\ClassName');
180 1229
        });
181
        $app['eccube.repository.class_category'] = $app->share(function () use ($app) {
182 376
            return $app['orm.em']->getRepository('Eccube\Entity\ClassCategory');
183 1229
        });
184
        $app['eccube.repository.customer_favorite_product'] = $app->share(function () use ($app) {
185 700
            return $app['orm.em']->getRepository('Eccube\Entity\CustomerFavoriteProduct');
186 1229
        });
187
        $app['eccube.repository.base_info'] = $app->share(function () use ($app) {
188 817
            $BaseInfoRepository = $app['orm.em']->getRepository('Eccube\Entity\BaseInfo');
189 817
            $BaseInfoRepository->setApplication($app);
190
191 817
            return $BaseInfoRepository;
192 1229
        });
193
        $app['eccube.repository.tax_rule'] = $app->share(function () use ($app) {
194 280
            $taxRuleRepository = $app['orm.em']->getRepository('Eccube\Entity\TaxRule');
195 280
            $taxRuleRepository->setApplication($app);
196
197 280
            return $taxRuleRepository;
198 1229
        });
199
        $app['eccube.repository.page_layout'] = $app->share(function () use ($app) {
200 293
            $pageLayoutRepository = $app['orm.em']->getRepository('Eccube\Entity\PageLayout');
201 293
            $pageLayoutRepository->setApplication($app);
202
203 293
            return $pageLayoutRepository;
204 1229
        });
205
        $app['eccube.repository.block'] = $app->share(function () use ($app) {
206 14
            $blockRepository = $app['orm.em']->getRepository('Eccube\Entity\Block');
207 14
            $blockRepository->setApplication($app);
208
209 14
            return $blockRepository;
210 1229
        });
211
        $app['eccube.repository.block_position'] = $app->share(function () use ($app) {
212 6
            return $app['orm.em']->getRepository('Eccube\Entity\BlockPosition');
213 1229
        });
214
        $app['eccube.repository.order'] = $app->share(function () use ($app) {
215 200
            $orderRepository = $app['orm.em']->getRepository('Eccube\Entity\Order');
216 200
            $orderRepository->setApplication($app);
217
218 200
            return $orderRepository;
219 1229
        });
220
        $app['eccube.repository.customer_address'] = $app->share(function () use ($app) {
221 144
            return $app['orm.em']->getRepository('Eccube\Entity\CustomerAddress');
222 1229
        });
223
        $app['eccube.repository.shipping'] = $app->share(function () use ($app) {
224 34
            return $app['orm.em']->getRepository('Eccube\Entity\Shipping');
225 1229
        });
226
        $app['eccube.repository.customer_status'] = $app->share(function () use ($app) {
227 2
            return $app['orm.em']->getRepository('Eccube\Entity\Master\CustomerStatus');
228 1229
        });
229
        $app['eccube.repository.order_status'] = $app->share(function () use ($app) {
230 227
            return $app['orm.em']->getRepository('Eccube\Entity\Master\OrderStatus');
231 1229
        });
232
        $app['eccube.repository.mail_template'] = $app->share(function () use ($app) {
233 26
            return $app['orm.em']->getRepository('Eccube\Entity\MailTemplate');
234 1229
        });
235
        $app['eccube.repository.csv'] = $app->share(function () use ($app) {
236 8
            return $app['orm.em']->getRepository('Eccube\Entity\Csv');
237 1229
        });
238
        $app['eccube.repository.template'] = $app->share(function () use ($app) {
239 1
            return $app['orm.em']->getRepository('Eccube\Entity\Template');
240 1229
        });
241
        $app['eccube.repository.authority_role'] = $app->share(function () use ($app) {
242 324
            return $app['orm.em']->getRepository('Eccube\Entity\AuthorityRole');
243 1229
        });
244
245
        $app['paginator'] = $app->protect(function () {
246 44
            $paginator = new \Knp\Component\Pager\Paginator();
247 44
            $paginator->subscribe(new \Eccube\EventListener\PaginatorListener());
248
249 44
            return $paginator;
250 1229
        });
251
252
        $app['eccube.repository.help'] = $app->share(function () use ($app) {
253 10
            return $app['orm.em']->getRepository('Eccube\Entity\Help');
254 1229
        });
255
        $app['eccube.repository.plugin'] = $app->share(function () use ($app) {
256 7
            return $app['orm.em']->getRepository('Eccube\Entity\Plugin');
257 1229
        });
258
        $app['eccube.repository.plugin_event_handler'] = $app->share(function () use ($app) {
259 3
            return $app['orm.em']->getRepository('Eccube\Entity\PluginEventHandler');
260 1229
        });
261
        // em
262 1229
        if (isset($app['orm.em'])) {
263
            $app['orm.em'] = $app->share($app->extend('orm.em', function (\Doctrine\ORM\EntityManager $em, \Silex\Application $app) {
264
                // tax_rule
265 1229
                $taxRuleRepository = $em->getRepository('Eccube\Entity\TaxRule');
266 1229
                $taxRuleRepository->setApplication($app);
267 1229
                $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...
268 1229
                $em->getEventManager()->addEventSubscriber(new \Eccube\Doctrine\EventSubscriber\TaxRuleEventSubscriber($taxRuleService));
269
270
                // save
271 1229
                $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...
272 1229
                $em->getEventManager()->addEventSubscriber($saveEventSubscriber);
273
274
                // clear cache
275 1229
                $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...
276 1229
                $em->getEventManager()->addEventSubscriber($clearCacheEventSubscriber);
277
278
                // filters
279 1229
                $config = $em->getConfiguration();
280 1229
                $config->addFilter("soft_delete", '\Eccube\Doctrine\Filter\SoftDeleteFilter');
281 1229
                $config->addFilter("nostock_hidden", '\Eccube\Doctrine\Filter\NoStockHiddenFilter');
282 1229
                $config->addFilter("incomplete_order_status_hidden", '\Eccube\Doctrine\Filter\OrderStatusFilter');
283 1229
                $em->getFilters()->enable('soft_delete');
284
285 1229
                return $em;
286 1229
            }));
287
        }
288
289
        // Form\Type
290
        $app['form.type.extensions'] = $app->share($app->extend('form.type.extensions', function ($extensions) use ($app) {
291 699
            $extensions[] = new \Eccube\Form\Extension\HelpTypeExtension();
292 699
            $extensions[] = new \Eccube\Form\Extension\FreezeTypeExtension();
293
294 699
            return $extensions;
295 1229
        }));
296 1229
        $app['form.types'] = $app->share($app->extend('form.types', function ($types) use ($app) {
297 699
            $types[] = new \Eccube\Form\Type\NameType($app['config']);
298 699
            $types[] = new \Eccube\Form\Type\KanaType($app['config']);
299 699
            $types[] = new \Eccube\Form\Type\TelType($app['config']);
300 699
            $types[] = new \Eccube\Form\Type\FaxType(); // 削除予定
301 699
            $types[] = new \Eccube\Form\Type\ZipType($app['config']);
302 699
            $types[] = new \Eccube\Form\Type\AddressType($app['config']);
303 699
            $types[] = new \Eccube\Form\Type\RepeatedEmailType();
304 699
            $types[] = new \Eccube\Form\Type\RepeatedPasswordType($app['config']);
305 699
            $types[] = new \Eccube\Form\Type\PriceType($app['config']);
306
307 699
            $types[] = new \Eccube\Form\Type\MasterType();
308 699
            $types[] = new \Eccube\Form\Type\Master\JobType();
309 699
            $types[] = new \Eccube\Form\Type\Master\CustomerStatusType();
310 699
            $types[] = new \Eccube\Form\Type\Master\OrderStatusType();
311 699
            $types[] = new \Eccube\Form\Type\Master\CalcRuleType();
312 699
            $types[] = new \Eccube\Form\Type\Master\SexType();
313 699
            $types[] = new \Eccube\Form\Type\Master\DispType();
314 699
            $types[] = new \Eccube\Form\Type\Master\PrefType();
315 699
            $types[] = new \Eccube\Form\Type\Master\ProductTypeType();
316 699
            $types[] = new \Eccube\Form\Type\Master\ProductListMaxType();
317 699
            $types[] = new \Eccube\Form\Type\Master\ProductListOrderByType();
318 699
            $types[] = new \Eccube\Form\Type\Master\PageMaxType();
319 699
            $types[] = new \Eccube\Form\Type\Master\CsvType();
320 699
            $types[] = new \Eccube\Form\Type\Master\DeliveryDateType();
321 699
            $types[] = new \Eccube\Form\Type\Master\PaymentType();
322 699
            $types[] = new \Eccube\Form\Type\Master\MailTemplateType();
323 699
            $types[] = new \Eccube\Form\Type\Master\CategoryType();
324 699
            $types[] = new \Eccube\Form\Type\Master\TagType();
325
326 699
            $types[] = new \Eccube\Form\Type\CustomerType($app); // 削除予定
327
328 699
            if (isset($app['security']) && isset($app['eccube.repository.customer_favorite_product'])) {
329 699
                $types[] = new \Eccube\Form\Type\AddCartType($app['config'], $app['security'], $app['eccube.repository.customer_favorite_product']);
330
            }
331 699
            $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...
332 699
            $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...
333 699
            $types[] = new \Eccube\Form\Type\OrderSearchType($app);
334 699
            $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...
335 699
            $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...
336 699
            $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...
337 699
            $types[] = new \Eccube\Form\Type\ShoppingType();
338
339
            // front
340 699
            $types[] = new \Eccube\Form\Type\Front\EntryType($app['config']);
341 699
            $types[] = new \Eccube\Form\Type\Front\ContactType($app['config']);
342 699
            $types[] = new \Eccube\Form\Type\Front\NonMemberType($app['config']);
343 699
            $types[] = new \Eccube\Form\Type\Front\ShoppingShippingType();
344 699
            $types[] = new \Eccube\Form\Type\Front\CustomerAddressType($app['config']);
345 699
            $types[] = new \Eccube\Form\Type\Front\ForgotType();
346 699
            $types[] = new \Eccube\Form\Type\Front\CustomerLoginType($app['session']);
347
348
            // admin
349 699
            $types[] = new \Eccube\Form\Type\Admin\LoginType($app['session']);
350 699
            $types[] = new \Eccube\Form\Type\Admin\ChangePasswordType($app);
351 699
            $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...
352 699
            $types[] = new \Eccube\Form\Type\Admin\ProductClassType($app);
353 699
            $types[] = new \Eccube\Form\Type\Admin\SearchProductType($app);
354 699
            $types[] = new \Eccube\Form\Type\Admin\SearchCustomerType($app['config']);
355 699
            $types[] = new \Eccube\Form\Type\Admin\SearchOrderType($app['config']);
356 699
            $types[] = new \Eccube\Form\Type\Admin\CustomerType($app['config']);
357 699
            $types[] = new \Eccube\Form\Type\Admin\ClassNameType($app['config']);
358 699
            $types[] = new \Eccube\Form\Type\Admin\ClassCategoryType($app['config']);
359 699
            $types[] = new \Eccube\Form\Type\Admin\CategoryType($app['config']);
360 699
            $types[] = new \Eccube\Form\Type\Admin\MemberType($app['config']);
361 699
            $types[] = new \Eccube\Form\Type\Admin\AuthorityRoleType($app['config']);
362 699
            $types[] = new \Eccube\Form\Type\Admin\PageLayoutType();
363 699
            $types[] = new \Eccube\Form\Type\Admin\NewsType($app['config']);
364 699
            $types[] = new \Eccube\Form\Type\Admin\TemplateType($app['config']);
365 699
            $types[] = new \Eccube\Form\Type\Admin\SecurityType($app);
366 699
            $types[] = new \Eccube\Form\Type\Admin\CsvImportType($app);
367 699
            $types[] = new \Eccube\Form\Type\Admin\ShopMasterType($app['config']);
368 699
            $types[] = new \Eccube\Form\Type\Admin\TradelawType($app['config']);
369 699
            $types[] = new \Eccube\Form\Type\Admin\OrderType($app);
370 699
            $types[] = new \Eccube\Form\Type\Admin\OrderDetailType($app);
371 699
            $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...
372 699
            $types[] = new \Eccube\Form\Type\Admin\ShipmentItemType($app);
373 699
            $types[] = new \Eccube\Form\Type\Admin\PaymentRegisterType($app);
374 699
            $types[] = new \Eccube\Form\Type\Admin\TaxRuleType();
375 699
            $types[] = new \Eccube\Form\Type\Admin\MainEditType($app);
376 699
            $types[] = new \Eccube\Form\Type\Admin\MailType();
377 699
            $types[] = new \Eccube\Form\Type\Admin\CustomerAgreementType($app);
378 699
            $types[] = new \Eccube\Form\Type\Admin\BlockType($app);
379 699
            $types[] = new \Eccube\Form\Type\Admin\DeliveryType();
380 699
            $types[] = new \Eccube\Form\Type\Admin\DeliveryFeeType();
381 699
            $types[] = new \Eccube\Form\Type\Admin\DeliveryTimeType($app['config']);
382 699
            $types[] = new \Eccube\Form\Type\Admin\LogType($app['config']);
383 699
            $types[] = new \Eccube\Form\Type\Admin\CacheType($app['config']);
384
385 699
            $types[] = new \Eccube\Form\Type\Admin\MasterdataType($app);
386 699
            $types[] = new \Eccube\Form\Type\Admin\MasterdataDataType($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...
387 699
            $types[] = new \Eccube\Form\Type\Admin\MasterdataEditType($app);
388
389 699
            $types[] = new \Eccube\Form\Type\Admin\PluginLocalInstallType();
390 699
            $types[] = new \Eccube\Form\Type\Admin\PluginManagementType();
391
392 699
            return $types;
393 1229
        }));
394
    }
395
396
    /**
0 ignored issues
show
introduced by
Doc comment for parameter "$app" missing
Loading history...
397
     * Bootstraps the application.
398
     *
399
     * This method is called after all services are registered
400
     * and should be used for "dynamic" configuration (whenever
401
     * a service must be requested).
402
     */
403
    public function boot(BaseApplication $app)
404
    {
405
    }
406
}
407