@alexanderschnitzler@mstdn.social avatar

alexanderschnitzler

@alexanderschnitzler@mstdn.social

#TYPO3 freelancer, #PHP developer

This profile is from a federated server and may be incomplete. Browse more on the original instance.

alexanderschnitzler, to php
@alexanderschnitzler@mstdn.social avatar

Don’t bind entities to forms. Period!

alexanderschnitzler,
@alexanderschnitzler@mstdn.social avatar

@danielsiepmann Sure. Our entities represent our business logic and to do so we often implement certain constraints. Set of constructor arguments, property types etc.

This often contradicts with forms and their data unless you treat your entities as stupid DTOs.

In all projects for the last 10 years I encountered issues with entities bound to forms. You touch the form, you also touch the entity and vice versa.

alexanderschnitzler,
@alexanderschnitzler@mstdn.social avatar

@danielsiepmann There are also some issues in our beloved framework that always causes trouble.

Take an optional number field for instance. The browser sends an empty string to the server and Extbase assumes that empty string means null. To be fair, what else should it do? But now you need to make your property is nullable just because it's bound to the form and it harms your business logic.

alexanderschnitzler,
@alexanderschnitzler@mstdn.social avatar

@kirchenstill Yes, MVC and more importantly DDD have been introduced a decade ago without too much knowledge about the topic.

Don't want to be unfair but books and documentation had been written by folks that weren't very deep into DDD. A lot of information had been left out and using the CRUD approach (with exposing entities to the view) was common back then. But it doesn't make it good. It's ok for beginners but a PITA the more logic is involved.

alexanderschnitzler,
@alexanderschnitzler@mstdn.social avatar

@kirchenstill Everything became worse with the extension builder. An excellent tool for rapid prototyping but people didn't understand they need to move on from there. Unfortunately most folks don't just need CRUD, they need more and I am dealing with its fallout for years now.

alexanderschnitzler,
@alexanderschnitzler@mstdn.social avatar

@danielsiepmann Yes. And that quickly leads to many different implementations of the same entity depending on the aggregate which is also blocked when entities are bound to forms.

alexanderschnitzler, to php
@alexanderschnitzler@mstdn.social avatar

It's quite sad but I do recommend switching from to symfony more and more. Not for Content Management but for those sites that use TYPO3 as a framework. TYPO3 does feel a lot like symfony these days but people tend to use the original because TYPO3 cannot keep up to bring the same developer experience to the table.

Don't get me wrong, symfony has week points as well but in TYPO3 a lot more feels poorly implemented.

What's your day to day experience with TYPO3 these days?

alexanderschnitzler,
@alexanderschnitzler@mstdn.social avatar

@danielsiepmann Well, the thing is that people decided to go with TYPO3 back then because it was a great choice content management and framework wise. But I do see more and more that TYPO3 is loosing market share because it neither does content management nor framework very well. And that’s because it lacks contribution and radical thinking in many areas.

alexanderschnitzler,
@alexanderschnitzler@mstdn.social avatar

@wowa_TYPO3 If TYPO3 were just about content management it would have even less market share. Its promise always was to also be a good framework for non content related solutions and it was quite ok for long but it doesn’t keep up. Still, there is a need for a strong cms on top of a strong framework.

What I am saying is that I do more and more evaluate (with clients) to break apart cms and framework logic because TYPO3 can’t keep up with demands.

danielsiepmann, to random German

deleted_by_author

  • Loading...
  • alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @danielsiepmann All statements are true. Performance per watt is usually better on AMD. Single Thread Performance matters most for gaming, that’s why Intel takes the gaming crown most of the time. And Nvidia drivers on linux suck!

    pixel, to php
    @pixel@desu.social avatar

    something I didn't expect from attending this Code Sprint

    getting domain knowledge about GIFBUILDER, an ancient part of TYPO3 that I never even used productively at work.

    in short: GIFBUILDER allows to create (masked) images with text/graphics just using configuration, backed by ImageMagick and GDlib in the background.

    The code is cursed (and for the most part wasn't touched for 10+ years)

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @pixel Oh, I do remember using that excessively when web fonts weren't a thing yet and the designers desperately needed Futura for all navigation and headers. Those were the glorious 1024px times.

    maddy2101, to php
    @maddy2101@fosstodon.org avatar

    Today I will draft out a concept for a login process with third party authentication for a multi site setup. It will work with a middleware to centrally controll the access to pages all over all sites. Some gimmicks and exceptions are to be expected. That will be fun, and I already pity the poor soul that has to implement my suggestion later on :D

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @maddy2101 So, authentication via AuthenticationService and Authorization via Middlewares? Sounds like a good plan to me.

    alexanderschnitzler, (edited ) to random German
    @alexanderschnitzler@mstdn.social avatar

    Neues Förderprogramm für Hausbesitzer mit E-Auto (Hybrid zählt vermutlich auch) ohne PV: 10.000€ geschenkt. 🤦‍♂️

    Verdammt, was muss man denn wählen, damit in diesem Land vernünftige Politik gemacht wird?

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @thewhite969 Oh, ja. 100.000 wäre dann doch wirklich unglaublich. Danke, hab es korrigiert.

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @koehnlein Auch hier: FDP. E-Auto-Prämien gibt es meines Wissens noch und sollen angeblich verängert werden.

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @thewhite969 @koehnlein Unterbindet vermutlich Gewinne durch Reimport, von daher ja ganz gut aber besser als eine Förderung wären preiswerte, funktionale und effiziente Kleinwagen. Das Angebot der deutschen Autobauer ist ein Trauerspiel.

    alexanderschnitzler, to random German
    @alexanderschnitzler@mstdn.social avatar

    Warum wird der mit Maske beim Arzt gefragt ob er krank sei und nicht alle anderen? Mich stört nicht wenn andere sich nicht schützen aber mich stört, dass die mit Maske schon wieder als die unnormalen gesehen werden. Beim Arzt, mit 20 Leuten im Wartezimmer, 5 hustend. Und nein, ich trage nicht überall und immer Maske aber da wo sich potentielle Überträger von Atemwegserkrankungen aufhalten auf jeden Fall.

    stbc, to random German
    @stbc@nrw.social avatar
    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @stbc Er macht die Bayernwahl richtig spannend.

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @stbc Bin mit nicht so sicher, dass Merz da so sicher im Sattel sitzt, dass er sich sowas erlauben kann nachdem er letztens noch so zurückrudern musste. Könnte schon noch spannend werden in CxU die kommenden Tage, vor allem nachdem man sich so klar gegen Grün gestellt hat. Das könnte Söder sogar noch die Wiederwahl kosten.

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @stbc 😪
    Gut, ich hoffe, die Wähler Bayerns springen über ihren Schatten und wählen aus Protest mal Links der schwarz-braunen Suppe.

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @stbc 🤮

    josefglatz, to random
    @josefglatz@fnordon.de avatar

    Today I learned:

    A redis socket connection is faster than a connection with HOST:PORT

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @danielsiepmann @josefglatz Indeed. TCP is a protocol to transport data reliably over a network. As there is no network involved, the protocol is just overhead for two processes on the same machine.

    alexanderschnitzler, to random German
    @alexanderschnitzler@mstdn.social avatar

    Verletzt die nachteilige Behandlung Selbstständiger in diesem Land nicht eigentlich das Gleichstellungsprinzip?

    Selbstständige haben keine Anspruch auf Krankentage, bekommen deutlich schlechter Baufinanzierungen.

    10 Monate Festanstellung sind mehr wert als 10 Jahre selbstständig. Seltsam alles.

    smic, to php
    @smic@mastodon.online avatar

    Lazy feature request: Bring data processors to extbase plugins.

    I think putting a data processor layer between the extbase controller and the fluid rendering would be a small step, but huge for flexibility.

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @smic Data processors are regular classes, aren’t they? Can’t you just manually call them in your actions and achieve the same result?

    alexanderschnitzler,
    @alexanderschnitzler@mstdn.social avatar

    @smic Ok, this is a completely different case to me. Since code is fragmented in this case anyway, I think the best approach would be to implement events and use data processors in event listeners.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • tester
  • osvaldo12
  • magazineikmin
  • cubers
  • thenastyranch
  • normalnudes
  • Youngstown
  • ngwrru68w68
  • slotface
  • mdbf
  • rosin
  • InstantRegret
  • kavyap
  • DreamBathrooms
  • JUstTest
  • khanakhh
  • anitta
  • modclub
  • Leos
  • everett
  • ethstaker
  • Durango
  • GTA5RPClips
  • provamag3
  • megavids
  • tacticalgear
  • cisconetworking
  • lostlight
  • All magazines