You've downloaded and installed open source libraries, required them as Composer dependencies, and perused the source code of countless GitHub repositories. Now, you're ready to help others by creating your own Composer package. So, what does it take to build and publish an open source library?

In this session, we'll take a look at some of the common patterns open source PHP libraries follow. Along the way, we'll cover: evaluating libraries for quality, common directory structures, the importance of tests and how to run them on GitHub Actions, publishing to Packagist, choosing a license, interacting with a community, and more. By the end of this workshop, you will have all the tools you need to publish and distribute your own Composer package.


Comments are closed.

Really interesting, informative, and engaging workshop. Ben did excellent going through creating and managing packages. He had really good code examples, clarified and covered all the topics I was hoping to hear, and inspired me to start working on publishing my own packages. Excellent workshop!

Eric Minaker at 10:42 on 3 Nov 2023

Excellent workshop! Examples were easy to follow and there were helpful tips throughout.

Ryan Marks at 12:57 on 3 Nov 2023

The prerequisites were clearly defined making the GitHub repository useful to see how the tools can be called by make.

Mark Junghanns at 13:21 on 3 Nov 2023

This talk was great and made me understand the whole packaging thing.

Ben Batschelet at 15:03 on 3 Nov 2023

Really fantastic content. This is a topic I’ve done a lot of work on in the last year and the greater level of detail is super valuable.

Aaron Holbrook at 16:19 on 3 Nov 2023

Great talk and well put together! Really cool tooling Ben has put together as well with Ramsey tools.

Also learned about Captain Hook as well which I can't wait to try out.

Thanks for a great talk!

Nick A at 19:37 on 3 Nov 2023

For me, this talk was fantastic. Not only was it an overview of Composer, but it contained a lot of extra material and exercises that answered a lot of questions that I had related to packages and open source that I figured I would get to someday

During this presentation, we published packages onto Packagist and imported them into demo projects. Additionally, Ben covered a lot of details about different files and information that is typically published within a package on GitHub, such as the license information, contribution document, badges, and how GitHub recognizes/uses this information. I also haven't heard about CaptainHook before, but it looks like a powerful tool that I am going to start using right away

In short, this talk did a lot for me. Thank you Ben!

Larry Garfield at 09:05 on 4 Nov 2023

Lots of good material, including some GitHub and Composer features that were new to me despite already maintaining several packages. Looks like I have follow-up tasks to do.

My one constructive recommendation is that the first half of the session kinda dragged. Perhaps that's just because I'm already a maintainer, but it felt like some parts had more discussion than they warranted.