Comments (8)
IMHO the $routeName
, $routeParameters
and $routeAbsolute
parameters should be preferred over having a duplicate $route
array with identical functionality.
Can you share and update the Rector script accordingly?
from apybreadcrumbtrailbundle.
No, the rector script is standardised, and just converts what is already used in the annotation.
Since the annotation allows "route": {"name": "xyz", "parameters": "abc"}
, the atrtribute must allow it to, or the conversion will fail.
I recommend we deprecate the route param, and remove it in a future v. 2 instead
EDIT: Using the route
param is also the only documented example: https://github.com/APY/APYBreadcrumbTrailBundle/blob/master/src/Resources/doc/annotation_configuration.md#route
from apybreadcrumbtrailbundle.
This is the recor script:
return static function (ContainerConfigurator $containerConfigurator): void {
// get parameters
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::PATHS, [__DIR__ . '/src']);
$parameters->set(Option::SYMFONY_CONTAINER_XML_PATH_PARAMETER, __DIR__ . '/var/cache/dev/App_KernelDevDebugContainer.xml');
$parameters->set(Option::AUTO_IMPORT_NAMES, true);
$parameters->set(Option::IMPORT_SHORT_CLASSES, false);
$services = $containerConfigurator->services();
$services->set(AnnotationToAttributeRector::class)->call('configure', [
[
AnnotationToAttributeRector::ANNOTATION_TO_ATTRIBUTE => ValueObjectInliner::inline([
new AnnotationToAttribute(\APY\BreadcrumbTrailBundle\Annotation\Breadcrumb::class),
]),
],
]);
};
Basically just tels the rector script AnnotationToAttributeRector
to convert Breadcrumb
annotation
from apybreadcrumbtrailbundle.
Is there a way to hook into the configuration and alter the data before the attribute gets constructed?
For clarity, as your comment refers to a Rector upgrade script which is not part of this bundle (yet), this issue is not an issue with this bundle's code.
from apybreadcrumbtrailbundle.
Not that i have found... I think doctrine have made their own script (pr into rector), but without that, and if we want to use rector, we need the route parameter...
from apybreadcrumbtrailbundle.
Also, the rector script is not ment to be included in the bundle, its just a one-og script designed to tell rector how to transforme the code, and then to be deleted again (it might be relevant for documentation tho to explain how to simply use attributes).
from apybreadcrumbtrailbundle.
Not including it with the bundle is ok with me, feel free to close this issue in that case. Thanks
from apybreadcrumbtrailbundle.
Yes, the problem is that the tool will fail if the attributes desnt have the argument $route.
And its a very handy tool 😁
from apybreadcrumbtrailbundle.
Related Issues (20)
- % sig in deprecation message breaks synfony on php8 HOT 2
- Deprecation notices (symfony 5.2.6 / deprecation-contracts 2.4.0) HOT 2
- Found unknown escape character "\B" HOT 1
- Page freeze HOT 2
- Overriding template in Symfony 5 HOT 3
- Trigger deprecations when using annotations
- Update documentation to use PHP attributes instead of annotations
- Run Rector upgrade script as Composer plugin HOT 1
- Bug 1.7 #[Breadcrumb("{book.title}")] HOT 9
- Introduce annotation to reset breadcrumb trail HOT 4
- PHP 8.1 deprecation warnings HOT 2
- Tag symfony 6.1 HOT 2
- Update symfony/deprecation-contracts? HOT 3
- Symfony 6.3 deprecation warnings HOT 1
- Working without sensio extra framework HOT 3
- Continue trail of another Route
- It is not compatible with Symfony 7.0 HOT 1
- Conversion from parameter to object not working as intended in Symfony 6.3
- Conversion from parameter to object not working as intended in Symfony 6.3 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 apybreadcrumbtrailbundle.