Comments (10)
I happened upon this thread while researching this same issue. After a bit more poking, I discovered that I was running PHPUnit without passing in the -c phpunit.xml
argument, which caused phpunit to try executing all tests from the root of my project, including all tests in vendor/
. Passing this argument to phpunit made this particular error go away (and on to the next one... :).
from stringy.
Thanks for pointing that out! Should be fixed in d6fa00b
from stringy.
Can you tag a minor release, e.g 1.8.1
so we can grab the fix :)
Thanks.
from stringy.
https://github.com/danielstjules/Stringy/releases/tag/1.8.1 :)
from stringy.
I just experienced a similar error when running automatic tests through Atlassian Bamboo.
Using v1.8.1 doesn't help and 1.10.* doesn't work as well. Is it possible to fix this?
Updating dependencies (including require-dev)
- Removing danielstjules/stringy (1.8.1)
- Installing danielstjules/stringy (1.10.0)
Loading from cache
Writing lock file
Generating autoload files
> php artisan optimize
PHP Fatal error: Cannot redeclare class Stringy\Stringy in /opt/atlassian/bamboo/xml-data/build-dir/MKIT-WDSA-JOB1/vendor/danielstjules/stringy/src/Stringy.php on line 5
from stringy.
Do you have a small reproduce case? Is it possible that your autoloading is indeed trying to load Stringy twice?
from stringy.
Well, initially I did not call it explicitely in my composer.json, but it is of course a dependency of Laravel Framework (v.5.1.19), so I cannot get rid of it. This exception only occurs when running the build in Atlassian Bamboo, not in my local dev environment or on any other dev environment where I have worked with Laravel previously.
Would it maybe help to check if Stringy is already initialized when trying to redeclare it? Can you implement such check?
from stringy.
It's possible to prevent it using something like if (!class_exists('String\Stringy')) { }
, but Stringy isn't at fault for this error. Something is trying to load the file a second time, be it composer, bamboo, etc.
from stringy.
Thanks for the explanation @thinkspill ! Super helpful :)
from stringy.
OMG, I assumed that running phpunit from Laravel folder would load phpunit.xml by default. I was getting crasy about this error.
Nice catch @thinkspill
from stringy.
Related Issues (20)
- Multilingual pluralize and singularize HOT 1
- Title case is currently not title case HOT 1
- Wrong greek char corresponging HOT 2
- Idea: permutate() HOT 2
- [question] Finding a block HOT 1
- Add kebabfy method
- Small feature request: Humanize dash
- [question] Is Stringy compatible with multiline content? HOT 1
- Camelize doesn't work properly HOT 2
- Add replace() method
- Something like str_split?
- No reason for ъ/Ъ/ь/Ь to be in Bulgarian-specific array
- preg_replace(): Compilation failed: invalid range in character class at offset 12 HOT 3
- preg_replace(): Unknown modifier ']'
- README image is broken
- Allow hyphenated words option in titleize method. HOT 3
- Is this repository unmaintained? HOT 13
- 牛逼
- Line break normalization
- PHP 8.1 compatibility HOT 7
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 stringy.