Skip to content

Conversation

@julian-farbcode
Copy link
Contributor

No description provided.

RaphaelStoerk and others added 2 commits July 30, 2025 10:20
… use general purpose methods, add helper method for different coding styles
Copy link
Member

@RaphaelStoerk RaphaelStoerk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich finds mega cool, find auch dass die Facade/Singleton besser zu verwenden ist als mit dem Context, sehr verständlich. Ich hab noch ein/zwei Methoden zum Active State hinzugefügt, die ich ganz sinnvoll fand, und eine kleine Helferfunktion, falls man das lieber verwendet als Facaden, kannst aber gern auch raus lassen 😄
Ein Issue was mir noch gekommen ist, vielleicht mach ich das aber auch als Issue auf:
Evtl. kann es ohne Shared State zu ungewollten Seiteneffekten kommen. Wenn ich ein Builder frühzeitig definiere

$builder = ExampleResource::table()

um diese vielleicht mehrmals oder in unterschiedlichen Conditions zu verwenden und danach andere Dinge tu wie etwa eine Resource verwenden um Daten in ein JSON File zu schreiben

ExampleResource::file()->make($example)->resolve()

dann habe ich den State bereits überschrieben was dann später zu Problemen führt

$builder->make($otherExample)

Der Builder sollte wahrscheinlich erst beim Aufruf der make und collection Funktionen den State setzen, um das zu vermeiden, was meinst du?

@julian-farbcode
Copy link
Contributor Author

Ich finds mega cool, find auch dass die Facade/Singleton besser zu verwenden ist als mit dem Context, sehr verständlich. Ich hab noch ein/zwei Methoden zum Active State hinzugefügt, die ich ganz sinnvoll fand, und eine kleine Helferfunktion, falls man das lieber verwendet als Facaden, kannst aber gern auch raus lassen 😄

@RaphaelStoerk Finde ich cool die Helper-Methode, habe sie noch zu activeResourceState für bessere Stringenz umbenannt.

Ein Issue was mir noch gekommen ist, vielleicht mach ich das aber auch als Issue auf: Evtl. kann es ohne Shared State zu ungewollten Seiteneffekten kommen. Wenn ich ein Builder frühzeitig definiere

$builder = ExampleResource::table()

um diese vielleicht mehrmals oder in unterschiedlichen Conditions zu verwenden und danach andere Dinge tu wie etwa eine Resource verwenden um Daten in ein JSON File zu schreiben

ExampleResource::file()->make($example)->resolve()

dann habe ich den State bereits überschrieben was dann später zu Problemen führt

$builder->make($otherExample)

Der Builder sollte wahrscheinlich erst beim Aufruf der make und collection Funktionen den State setzen, um das zu vermeiden, was meinst du?

Das Shared State Konzept hat schon aus Prinzip Seiteneffekte die man bedenken muss, aber ja ich denke das könnte intuitiver sein, dass der sharedState erst bei der Anwendung auf die Resource-Instanz gesetzt wird.
Ist entsprechend abgeändert und getestet :)

Auch ein paar kleinere Details hab ich noch angepasst.

@julian-farbcode julian-farbcode merged commit 63b9b27 into main Jul 31, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants