• Oth@lemmy.zip
    link
    fedilink
    English
    arrow-up
    97
    arrow-down
    2
    ·
    edit-2
    9 months ago

    Tell me you’ve never used PHP without telling me you’ve never used PHP.

    It’s known for giving a complete stack trace, it’s nearest neighbours and their god damn grandkids the moment it so much as coughs up a warning. For the longest time it was notorious for doing this as the default error logging level.

    I’m aware it’s cool to hate on PHP, but it has plenty of things to dislike without straight-up inventing nonsense.

    • Max-P@lemmy.max-p.me
      link
      fedilink
      arrow-up
      22
      ·
      9 months ago

      Also that table would be generated by Xdebug, not PHP itself. PHP’s traces are plain text by default. That said Xdebug is pretty good in itself, I’ve used it for a decade.

      The stack traces are fine. You can even define a global handler for unhandled exceptions to log them, and it gives you an opportunity to also inspect every value of every function argument and whatnot. It’s not lacking in debugging abilities that way.

      If you’re gonna make fun of PHP errors, at least make fun of “PHP Error: Unexpected T_PAAMAYIM_NEKUDOTAYIM on line 69”.

      • hakunawazo@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        edit-2
        9 months ago

        For those not in the know, the T_PAAMAYIM_NEKUDOTAYIM is just a double colon like this ::
        It’s a scope resolution operator for example to directly access a class constant or method without an instance.

        • Tja
          link
          fedilink
          arrow-up
          1
          ·
          9 months ago

          And it means double colon in Hebrew, because the devs were from Israel.

    • folkrav@lemmy.ca
      link
      fedilink
      arrow-up
      5
      ·
      9 months ago

      This. I haven’t touched PHP since 7.1 dropped, but error messages and stack traces were pretty far down my list of complaints about the language.

    • pixelscript@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      PHP stack traces are effectively identical to Java’s in every metric I’m concerned about.

      If you get them sensibly in a log file, anyway. If you allow PHP to render this god awful fugly table inline with your page? Well, have fun. Yes, all the same info is there, and on paper it’s organized in an easier to read format. But oftentimes the table will collide with and mangle with other elements and styling on your page, making the trace irritating or impossible to read.

      This isn’t much of a problem of course, because aforementioned log file is absolutely the way to do it in the first place, and PHP lets you. And hey, absolutely obliterating your page DOM in strange and exciting ways on error sounds like a fantastic way to ensure errors get caught and addressed in testing, so even the unpredictable mangled DOM bullshit is useful in its own way.

      But if someone wants to dunk on PHP for at least outwardly appearing to promote trying to debug it with these awful stack trace tables, I think that’s a well-earned roasting.

    • devfuuu@lemmy.world
      link
      fedilink
      arrow-up
      1
      arrow-down
      2
      ·
      9 months ago

      I liked when it screamed at me some german error message out of nowehere or some other weird language. Totally sane language.