bedrockstreaming / redisbundle Goto Github PK
View Code? Open in Web Editor NEWSymfony2 Bundle over predis
License: MIT License
Symfony2 Bundle over predis
License: MIT License
à mon avis à cette ligne https://github.com/M6Web/RedisBundle/blob/8f738f082df79b262eada92bb3847b9917212864/src/M6Web/Bundle/RedisBundle/DependencyInjection/M6WebRedisExtension.php#L83 on va à chaque fois écraser le service
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 😕
I'm trying to use this bundle in a php54 environment but this project require at least php 5.5. Is there any reasons for this requirement? I think php >= 5.3.3 is enough.
Maybe in the redis component?
Tests passed with php5.4.
Symfony raises an error 500:
An exception has been thrown during the rendering of a template ("Warning: session_start(): Failed to read session data: user (path: /var/lib/php/sessions)").
When reloading the page it will work. It's just at the 1st session init.
The load session mustn't return null but an empty string.
https://stackoverflow.com/questions/48245296/php-custom-session-handler-problems-php-7-1?rq=1
as it's available in the component
instead of an array
see https://github.com/M6Web/ElasticsearchBundle/pull/1/files
and remove the option to manually disable it
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
as it's provide the same (or more) features compare to the redis component
I'm preparing the work to migrate some projects using this bundle to Symfony 6 & PHP 8.
Here are my notes to enable compatibility.
php
^8.0
b1rdex/predis-compressible
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.
m6web/guzzle-http-bundle
psr/cache
symfony/cache
symfony/config
symfony/dependency-injection
symfony/event-dispatcher-contracts
symfony/http-foundation
symfony/http-kernel
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.