Comments (3)
Hi Michi,
Looks pretty nice.
Some notes:
dependsOn
: For consistencymayDependOn
- There doesn't seem to be any difference between Layer and Component and Package, you intend to add syntactic sugar for all these more or less equivalent notions?
Do you know how you will handle the errors? Since it does not make much sense to define a test for each layer restriction it would be great if all errors in one test are collected and returned in one report.
Best
Hannes
from dephpend.
Thanks for the feedback @Merenptah
I finally got around to actually implement a first draft. Super ugly, but it's a start. Test cases aren't looking too bad: https://github.com/mihaeu/dephpend-tests/blob/master/tests/integration/ArchitectureTest.php
dependsOn: For consistency mayDependOn
+1
There doesn't seem to be any difference between Layer and Component and Package, you intend to add syntactic sugar for all these more or less equivalent notions?
Good question. I was thinking syntactic sugar doesn't hurt, on the other hand people complain when you remove it later on ... hmmm.
Do you know how you will handle the errors? Since it does not make much sense to define a test for each layer restriction it would be great if all errors in one test are collected and returned in one report.
Definitely. I was thinking of:
- may depend on
- nothing else
- may not depend on
- may not depend on anything
That would be for outgoing dependencies. Not sure yet what to do about incoming dependencies.
I added a basic MVC example at https://github.com/mihaeu/dephpend-tests with one violation. Implementation is a work in progress.
Generated using dephpend uml tests/examples/mvc --output=test.png
Test output should be something like:
- Class XYZ from (layer|module|component|package) ABC should not depend on Class IOP from (...) JKL
from dephpend.
I will stop using issues for my personal feature requests because it makes the project look more broken than it is
from dephpend.
Related Issues (20)
- Release Artifact: Can't check signature: No public key HOT 16
- When reporting syntax errors, mention the file name
- Incompatible with symfony/event-dispatcher 4.3 HOT 3
- Write errors to stderr not stdout HOT 1
- Show global namespace in --no-classes HOT 1
- SSL_ERROR_BAD_CERT_DOMAIN when trying to download phar. HOT 5
- Error running text mode HOT 8
- Wrong argument on ensureDestinationIsWritable() HOT 5
- Error in text mode HOT 5
- Update to Symfony 5. HOT 2
- Website down? HOT 3
- Mihaeu\PhpDependencies\Util\DI is missing HOT 2
- Unable to execute this tool HOT 2
- It cannot parse this php 8 code. HOT 3
- broken link to animated timeline in README.md HOT 4
- Expired certificate in verification signature
- Multiple derprecations in php 8.1 HOT 1
- unexpected T_STRING error reported for php 8.1 enum
- "PlantUML installation not found" despite PlantUML being globally installed HOT 1
- Support for PHP 8+ HOT 4
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 dephpend.