Hey! 👋

Whether you’re an experienced PHP developer, a beginner just starting your journey, or an enthusiast interested in understanding more about the world of PHP, this is the place for you. We are a community dedicated to sharing knowledge, discussing new trends, and solving problems related to PHP.

As members of this community, we expect everyone to respect each other and foster a positive environment. Please make sure your posts are relevant to PHP, and remember to be kind and considerate in your discussions. Let’s learn from each other and help each other grow.

Whether you’re here to ask questions or to share your knowledge, we’re excited to have you here. Let’s make the most of this community together!

Welcome to /c/php! 🐘

  • msage
    link
    fedilink
    arrow-up
    1
    ·
    2 years ago

    That’s more of a philosophical question.

    My only current issue with PHP is resource handling, and the lack of ability to share sockets between threads/fibers. Erlang actually does this so well, it’s a shame that language isn’t more used, and so managers are afraid of it.

    Back to the question: is the resource sharing an issue with PHP, or is it my PEBKAC that I’m trying to bend PHP to something it wasn’t designed for?

    • thgs@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      At a first level it certainly is an issue with PHP, but PHP was also designed by a human. That design comes with its own problems right? I guess what I said is just a generalisation of PEBKAC as all (mostly all) software is designed by some human. Fact that it’s a different chair may as well be considered not a PEBKAC ? Yes it’s philosophical or simply which perspective you choose to see.

      Haven’t played with amphp/parallel but maybe worth a look to see how/if sockets are shared there.

      • msage
        link
        fedilink
        arrow-up
        1
        ·
        2 years ago

        Yeah, for a PHP socket server, the best route would be going React/Amp route, as building a custom event loop is a big undertaking, and anyone will shoot themselves in the foot or worse.

        Since they are single process loops, you don’t need to ‘share’ them, as they all belong to the only process. But that does limit you to a single process.