mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-14 09:02:12 +00:00
77 lines
3.6 KiB
ReStructuredText
77 lines
3.6 KiB
ReStructuredText
Naming changes
|
|
--------------
|
|
|
|
``PluginSkeleton`` provides some default classes and configurations. However, they must have some default values and names that should be changed
|
|
to reflect your plugin functionality. Basing on the vendor and plugin names established above, these are the changes that should be made:
|
|
|
|
* In ``composer.json``:
|
|
|
|
* ``sylius/plugin-skeleton`` -> ``iron-man/sylius-product-on-demand-plugin``
|
|
|
|
* ``Acme example plugin for Sylius.`` -> ``Plugin allowing to mark product variants as available on demand in Sylius.`` (or sth similar)
|
|
|
|
* ``Acme\\SyliusExamplePlugin\\`` -> ``IronMan\\SyliusProductOnDemandPlugin\\`` (the same changes should be done in namespaces in ``src/`` directory
|
|
|
|
* ``Tests\\Acme\\SyliusExamplePlugin\\`` -> ``Tests\\IronMan\\SyliusProductOnDemandPlugin\\`` (the same changes should be done in namespaces in ``tests/`` directory
|
|
|
|
* ``AcmeSyliusExamplePlugin`` should be renamed to ``IronManSyliusProductOnDemandPlugin``
|
|
|
|
* ``AcmeSyliusExampleExtension`` should be renamed to ``IronManSyliusProductOnDemandExtension``
|
|
|
|
* In ``src/DependencyInjection/Configuration.php``:
|
|
|
|
* ``acme_sylius_example_plugin`` -> ``iron_man_sylius_product_on_demand_plugin``
|
|
|
|
* In ``tests/Application/config/bundles.php``:
|
|
|
|
* ``Acme\SyliusExamplePlugin\AcmeSyliusExamplePlugin::class`` -> ``IronMan\SyliusProductOnDemandPlugin\IronManSyliusProductOnDemandPlugin::class``
|
|
|
|
* In ``tests/Application/Kernel.php`` and ``tests/Application/bin/console``:
|
|
|
|
* ``Tests\Acme\SyliusExamplePlugin\Application`` -> ``Tests\IronMan\SyliusProductOnDemandPlugin\Application``
|
|
|
|
* In ``phpspec.yml.dist`` (if you want to use PHPSpec in your plugin):
|
|
|
|
* ``Acme\SyliusExamplePlugin`` -> ``IronMan\SyliusProductOnDemandPlugin``
|
|
|
|
* Don't forget to re-build up the list of files to autoload with ``composer dump-autoload``
|
|
|
|
That's it! All other files are just a boilerplate to show you what can be done in the Sylius plugin. They can be deleted with no harm:
|
|
|
|
* All files from ``features/`` directory
|
|
|
|
* ``src/Controller/GreetingController.php``
|
|
|
|
* ``config/admin_routing.yml``
|
|
|
|
* ``config/shop_routing.yml``
|
|
|
|
* ``public/greeting.js``
|
|
|
|
* ``templates/dynamic_greeting.html.twig``
|
|
|
|
* ``templates/static_greeting.html.twig``
|
|
|
|
* All files from ``tests/Behat/Page/Shop/`` (with corresponding services)
|
|
|
|
* ``tests/Behat/Context/Ui/Shop/WelcomeContext.php`` (with corresponding service)
|
|
|
|
You should also delete Behat suite named ``greeting_customer`` from ``tests/Behat/Resources/suites.yml``.
|
|
|
|
.. important::
|
|
|
|
You **don't have to** remove all these files mentioned above. They can be adapted to suit your plugin functionality. However, as
|
|
they provide default, dummy features only for the presentation reasons, it's just easier to delete them and implement new ones on
|
|
your own.
|
|
|
|
.. important::
|
|
After you have change name of plugin, please run in your main directory of plugin (cd MyPlugin/ && composer install).
|
|
If you don't rerun this command you may have this error :
|
|
```bash
|
|
$ (cd tests/Application && bin/console assets:install public -e test)
|
|
PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "Kernel" from namespace "Tests\FMDD\SyliusEmailOrderAdminPlugin\Application".
|
|
Did you forget a "use" statement for e.g. "Symfony\Component\HttpKernel\Kernel" or "Sylius\Bundle\CoreBundle\Application\Kernel"? in C:\Users\FMDD\Plugins\SyliusEmailOrderAdminPlugin\tests\Application\bin\console:36
|
|
Stack trace:
|
|
#0 {main}
|
|
thrown in C:\Users\FMDD\Plugins\SyliusEmailOrderAdminPlugin\tests\Application\bin\console on line 36
|
|
```
|