Comments (4)
Why would having PHPUnit be a deal breaker for you? To be honest, this feels like a very strange thing to be against. This doesn't get in the way of you creating software, and Composer is the PHP standard. Also, what do you mean too many dependencies? Here's the framework's composer.json require
:
"require": {
"php": "^7.1",
"ext-openssl": "*",
"ext-mbstring": "*",
"jeremeamia/superclosure": "~2.2",
"psr/log": "~1.0"
}
Here is the skeleton project's require
:
"require": {
"php": "^7.1",
"monolog/monolog": "1.23.0",
"opulence/opulence": "1.1.*"
}
If you're looking for a full-stack framework that requires less than this, I don't think you'll find it. Frameworks are about making your life easier and preventing you from having to reinvent the wheel. If you're bothered by using Composer or by the fact that it requires (literally) several dependencies, I think you're getting way too caught up in the wrong things.
from opulence.
Also, just for comparison, here's Laravel's composer.json require
:
"require": {
"php": ">=7.0",
"ext-mbstring": "*",
"ext-openssl": "*",
"doctrine/inflector": "~1.1",
"erusev/parsedown": "~1.6",
"league/flysystem": "~1.0",
"monolog/monolog": "~1.12",
"mtdowling/cron-expression": "~1.0",
"nesbot/carbon": "~1.20",
"psr/container": "~1.0",
"psr/simple-cache": "^1.0",
"ramsey/uuid": "~3.0",
"swiftmailer/swiftmailer": "~6.0",
"symfony/console": "~3.3",
"symfony/debug": "~3.3",
"symfony/finder": "~3.3",
"symfony/http-foundation": "~3.3",
"symfony/http-kernel": "~3.3",
"symfony/process": "~3.3",
"symfony/routing": "~3.3",
"symfony/var-dumper": "~3.3",
"tijsverkoyen/css-to-inline-styles": "~2.2",
"vlucas/phpdotenv": "~2.2"
}
And here's Laravel's skeleton project's require
:
"require": {
"php": ">=7.0.0",
"fideloper/proxy": "~3.3",
"laravel/framework": "5.5.*",
"laravel/tinker": "~1.0"
}
from opulence.
Excuse me, I did not want to accuse you. It is I who can not stand addictions in general. This is the reason why I am still looking for a framework that can go well and at this point I think I will never find it.
It is not so much a numerical question. I know perfectly well that there are frameworks that use many and many more dependencies on Opulence than the very fact that this dependency manager exists. It would have been better if they had not invented it.
I do not like for many reason. Eg:
-
I do not like that composer it was developed by Sympony developers not to provide a service to users but the maximum diffusion for sympony package.
-
I do not like how dependencies are managed by developers. (for example, the Superclosure that you only use in the RouterCollection file for the __sleep () and __wakeup () methods requires four different packages to work. More dependencies means more developers to rely on, hoping they will not be foolish and mentally impaired to develop acceptable versions of compatibility.
-
I do not like using a dependency manager to try to force developers to use standards (see all the psr block) that SHOULD BE PROVIDED BY THE LANGUAGE and not implemented with external package. Note please che PHP is a lunguage completely without standards. I find it nonsense to try to standarize it leave it to the sensitivity of the individual developer whether to implement this standard or not. If they are such important standards and if the interchangeability (whatever it means) is so important it should be provided by the same php engine along with many other things that are missing and will always be missing.
-
I do not like autoloading
And in general I do not like that to write code you have to resort to something done by others ... indeed you have to submit to a kind of imposition otherwise, automatically, a framework that does not use composer is considered not modern, not suitable , unprofessional ...
As if it were a dependency manager making the difference.
from opulence.
Again, I'm not meaning to be rude, but again your arguments are very strange to me. It sounds like you're paranoid of breaking changes, and therefore don't want to use other people's code. If that's the case why are you seeking out a framework at all? To address your bullet points:
- Who cares if Composer was built on top of Symfony? Symfony itself is abstracted from you when using Composer, and it drastically simplifies how you pull in dependencies. The days of PHP before Composer sucked. Pretty much every language out there uses dependency managers nowadays.
- I'm using packages that rely on semantic versioning. Yes, they could break semantic versioning, and that's a (very slight) risk you take with OSS. However, I argue that this is certainly not keeping you from being able to create successful products.
- I also agree that most PSRs are unnecessary and overarching. There is some utility in standardizing autoloading and code styles (even though I personally do not like PSR-2) simply because it simplifies contributing to OSS PHP projects.
- How could you be against autoloading? You'd honestly prefer a bunch of
require_once ...
calls at the top of each file instead of a single line in a composer.json config mapping namespaces to directories? How does this make your life any simpler?
I strongly urge you to reconsider your feelings on these topics. Ask yourself why pretty much every other developer out there (not just PHP) is using OSS with dependency managers. The answer is that it simplifies your life. The number of times you'll be burned by OSS is drastically outweighed by the amount of time it saves you from having to reinvent the wheel.
from opulence.
Related Issues (20)
- Interface is used, but argument isn't type declared HOT 3
- Update components, tag version HOT 3
- unambiguous migration ordering during running migrations:down HOT 7
- Fixing phan issues HOT 4
- PSR-7 support HOT 4
- T_CLASS case in FileMigrationFinder.php appears to be broken HOT 1
- Deprecated annotations HOT 4
- Add support for using expressions in query builders HOT 1
- Package jeremeamia/superclosure is abandoned, you should avoid using it. Use opis/closure instead. HOT 1
- Remove deprecated method(s) for forward compatibiltiy HOT 3
- Improve `make:entity` and `make:datamapper` by inferring the database schema (tables/columns/relationships) automatically. HOT 4
- Migration HOT 3
- Not proper use of prepare statements in the sql repository example on documtentation page HOT 4
- Database relation support HOT 5
- Rewriting own SqlDataMapper classes HOT 4
- Fix bug that prevent non-HTTP_ and CONTENT_ headers from being sent in response
- Running `php apex app:runlocally` in Ubuntu does not work
- phpDocumentor problem HOT 12
- Spaces in Path cause passthru to fail for runlocally (possibly others) HOT 1
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 opulence.