Git Product home page Git Product logo

redisbundle's People

Contributors

agallou avatar coil avatar docroms avatar fabdsp avatar hdetang avatar kronostof avatar lnahiro avatar mikaelrandy avatar mojolyon avatar oliboy50 avatar omansour avatar qdurillon-dev avatar stax avatar valentin-claras avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

redisbundle's Issues

Symfony Framework compliance

The last PR merged on this project break the Symfony Framework compliance.

      -  "symfony/symfony": "~2.3||~3.0||~4.0",
      + "symfony/symfony": "~4.2",

This breaking change happens because of SF4 framework who has changed its dependencyInjection.

I saw a solution on another library:
https://github.com/schmittjoh/JMSSerializerBundle/pull/705/files#diff-850942b3ba24ab03a40aaa81b6152852

By checking if the getRootNode method exists or not we can provide a SF3/SF4/SF5 compatibility (I didn't check for SF2)

        if (method_exists($tb, 'getRootNode')) {
            $root = $tb->getRootNode()->children();
        } else {
            $root = $tb->root('jms_serializer')->children();
        }

I propose to do the Pull Request. We have SF3/SF4 project using your bundle and we need this change.

"Fun" fact, the last PR has been made by Stéphane for our project 😕

Faciliter le travail d'extension de la classe Redis/Redis

La classe Redis/Redis utilise la méthode __call() pour transmettre les appels au client, et ne surcharge que les méthodes pour lesquels un traitement complémentaire est apporté.

Or, lorsque l'on implémente des handler pour d'autres système (cf. M6WebWsClient/Redis et M6WebWsClient/Redis), les interfaces qu'il faut implémenter demandent toujours au minimum une méthode set et une méthode ttl.

Du coup, je pense qu'il faudrait l'implémenter dans la classe Redis/Redis pour ne pas avoir à le faire dans tout les handlers

Compatibility with Symfony 6 & PHP 8

I'm preparing the work to migrate some projects using this bundle to Symfony 6 & PHP 8.

Here are my notes to enable compatibility.

  • allow php ^8.0
    • this package itself should be fine, a quick inspection didn't show me much problems
    • b1rdex/predis-compressible is not yet compatible on a stable tag 1.0 has been released ! But it now requires ext-zlib, maybe it can break some back-compatibility...

Additionally the package requirements do not seem to be well defined: it lacks a lot of used dependencies.
Maybe there's some reason, like optional loading ? It should at least appear in suggest then.

  • add m6web/guzzle-http-bundle
  • add psr/cache
  • add symfony/cache
  • add symfony/config
  • add symfony/dependency-injection
  • add symfony/event-dispatcher-contracts
  • add symfony/http-foundation
  • add symfony/http-kernel

Allow to disable for an env

Once RedisBundle is used in a project, the m6_redis is mandatory in the project.
But this entry make the sub entry servers mandatory.

In case i want to disable Redis cache on a specific env, i could not due to previous point.

I think it's important to disable RedisBundle for a specific env

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.