Comments (2)
Problem here is: If we create the cache in production code (aka the Syllable class) we have a problem if used with Composer, because if you would not change the Cache-Dir outside of the preconfigured __DIR__
you would have cache files created within the vendor directory. (where it strictly does not belong)
This may or may not be a "problem" if you have shared vendors across same-plattform multiple-instances Projects which would use syllable w/o manually configuring the cache dir per instance.
Tests on master already will create a cache, but I would vote not to automatically create directories within the class and thus in productive code itself. We could however throw a RuntimeException to notify the User to create or configure a cache directory.
I guess the real alternative would be not to auto-wire dependencies itself within its own constructor.
This would lead to a decrease in Developer Experience as there would be more to configure initially, but then we could have the Cacheing Component have a auto-create-if-not-exists logic as there would be no DIR default anymore that would point into the vendor dir.
Though the cache adapter used by Syllable could just adhere to PSR-6 (https://www.php-fig.org/psr/psr-6/) whereas we could just use already existing cache providers, even those not living in the Filesystem but inside Cloud or Memory Adapters, which in return will already create the necessary structure if not already existent.
Both last paragraphs would however lead into a big BC because of changes how the initialisation of the whole library would have to work.
from phpsyllable.
I like the idea of supporting a standard caching mechanism, but it would have significant impact on existing users. Perhaps if we can find a way to make this work transparently by default.
from phpsyllable.
Related Issues (20)
- Not working with : abeyant , abraxas , abraxas , pipeline etc HOT 4
- Error when trying to use the functions HOT 2
- Split sentence into array of arrays of syllables of each word HOT 19
- hyphenateHtml messes up certain symbols HOT 1
- Showing the stress on syllables HOT 3
- no autoloader for PHP 7+ HOT 1
- Min word count after hyphenation
- Array and string offset access syntax with curly braces is deprecated HOT 2
- Results differ from syllable.toyls.com HOT 1
- Word does not syllablise correctly HOT 1
- Update language files HOT 4
- Replace / remove outdated German language file hyph-de.tex HOT 5
- Replace test execution by Travis CI with GitHub Action HOT 2
- Allow auto merge for this repository HOT 1
- Request for feedback; deprecated splitWord HOT 3
- Post-processing of first run of language update and tests workflow
- Need absolute path to cache language files HOT 24
- Cache version in JSON cache file can be infinite decimal HOT 1
- lowercase vs uppercase hyphenation word list HOT 2
- Cleanup HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phpsyllable.