Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP]: Initial effort to replace Cilex with Symfony4 #1940

Closed
wants to merge 6 commits into from

Conversation

mvriel
Copy link
Member

@mvriel mvriel commented Jan 7, 2018

In this change I have replaced Cilex with Symfony 4. The basic idea behind this change is that it would be easier to build the application on a complete framework, and the bundles could work as a plugin system instead of our hand-rolled one.

As it stands, Symfony 4 is light weight enough to work as a microframework for all intents and purposes.

This change is not complete and merge-able, the following things need to be done:

  • Move the CompatibilityLayer class into a Bundle and split it into the right classes
  • See if the ServiceProvider can use the ContainerBuilder instead of the Container
  • Undo the changes in the ServiceProvider classes to ensure that BC is completely kept
  • Add E_USER_DEPRECATED messages when people use stuff from the Compatibility Layer so that we can remove it in phpDocumentor 4

When this is done we can subsequently begin migrating the services from our own Service Providers

@mvriel mvriel self-assigned this Jan 7, 2018
@mvriel mvriel requested review from jaapio and mbed67 January 7, 2018 08:27
@mvriel mvriel changed the title [WIP[: Initial effort to replace Cilex with Symfony4 [WIP]: Initial effort to replace Cilex with Symfony4 Jan 7, 2018
@mvriel mvriel mentioned this pull request Jan 7, 2018
@mvriel mvriel force-pushed the replace-cilex-with-sf4 branch 3 times, most recently from ff0695d to af08976 Compare January 7, 2018 10:22
Copy link
Member

@jaapio jaapio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some things to remember, but nothing to be changed right now. Of course this pr is still work in progress.

In my pr where I introduce the v3 config I also started to remove the calls to $output and replace them by events. One of the issues I still have to face is how the logger should be configured. I see that you are also replacing that. So it might be wise to have a chat about that.

Main reason for me to remove the calls to $output is that I'm moving the logic in commands to pipeline stages that are reused in the commands. E.g. Run command uses the pipeline of parse and transform commands.

@@ -0,0 +1,42 @@
#!/usr/bin/env php
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think this file should be named phpdoc?

@@ -0,0 +1 @@
../vendor/nikic/php-parser/bin/php-parse
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think all other files in bin should be ignored.

In this change I have replaced Cilex with Symfony 4. In this change I have
introduced a compatibility layer so that third-party's can integrate with
minimal effort.

An important thing to note is that this layer should be temporary and there
is not a 100% guarantue. For one; order now matters and this may cause errors
for some third-parties.
@jaapio jaapio mentioned this pull request Apr 26, 2018
@jaapio
Copy link
Member

jaapio commented Apr 29, 2018

closed by #1932

@jaapio jaapio closed this Apr 29, 2018
@jaapio jaapio deleted the replace-cilex-with-sf4 branch April 29, 2018 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants