DEV Community

Cover image for The PHP open-source ebook
Roberto B.
Roberto B.

Posted on

The PHP open-source ebook

Some Drops of PHP is an open-source book dedicated to uncovering hidden gems in PHP. Within these pages, you'll find a curated collection of lesser-known yet immensely powerful PHP functions and techniques I've discovered, used, and mastered in my daily PHP endeavors.

As you navigate the world of PHP frameworks and libraries like the amazing Laravel and Symfony, it's easy to underestimate the robust functionalities at the language's core.

Instead of defaulting to framework documentation or scouring Packagist for specific packages, this book encourages you to tap into the rich arsenal of PHP's built-in capabilities.

Throughout this eBook, I'll guide you through practical examples, shedding light on the behavior of these functions. You can explore these code snippets in the examples directory of the GitHub repository.

Dive into the world of PHP with me, and let's uncover the hidden treasures that can elevate your PHP coding to new heights.

You can start reading the work-in-progress book here: https://drops-of-php.hi-folks.dev/.

Structure of the book

Some Drops of PHP is organized to provide comprehensive coverage of essential PHP functions across various domains. The book is divided into dedicated sections for managing variables, objects, strings, arrays, system functions, filesystem operations, and more. Each section offers clear explanations, practical examples, and insightful tips to empower you in harnessing the full potential of PHP.

This is for you amazing contributors! 👋

We are excited to invite you to join our repository and contribute to the open-source book project. We welcome contributors with various skills and interests, so whether you're a PHP expert, a grammar enthusiast, a design aficionado, or just someone with a passion for learning and sharing knowledge, there's a place for you in our open-source book project.

Ways to Contribute

Here are some of the ways you can get involved:

  • PHP Wizards: Write pages for PHP functions, share your expertise, and help fellow developers understand some nice PHP functions.

  • Reviewers and Editors: Help ensure the quality and accuracy of the content by reviewing and editing pages.

  • Grammar Enthusiasts: Review and improve our documentation's English grammar and readability.

  • Idea Contributors: Suggest PHP functions that should be covered in the documentation. Your insights are valuable!

  • Design Gurus: Propose design changes that can enhance the overall user experience of our book.

The GitHub repository is: https://github.com/roberto-butti/some-drops-of-php

How to Get Started

  1. Fork the repository to your GitHub account.
  2. Create a new branch for your contributions.
  3. Make your changes and commit them.
  4. Open a pull request to merge your changes into the original repository's main branch.

For more detailed instructions, please check our Contribution Guidelines.

Join the Conversation

Do you have questions or would like to discuss your contributions? Join us on the repository issue section, where you can create issues but also create suggestions and feature requests.

Say Thank You!

We deeply appreciate your willingness to contribute to the open-source book "Some Drops of PHP". Your efforts significantly impact the PHP community, and we're grateful for your support.

The book is available in HTML format here: https://drops-of-php.hi-folks.dev/

Happy Hacking! 🚀

Top comments (17)

Collapse
 
lexiebkm profile image
Alexander B.K.

I have done quick read on the outline of the book.
It seems that it doesn't cover some stuffs like magic methods (__invoke, etc), iterator, generator, class autoloading (with spl_autoload_register function) that we may find useful in some use cases.
Even Laravel uses generator in its feature named lazy collections for handling very large data.
Maybe, you don't find them useful to cover in the book, or we could just find or explore them in the PHP manual instead ?

Collapse
 
robertobutti profile image
Roberto B.

Really good point, Alexander. I appreciate the feedback. The advantage of writing an open-source ebook is that it can be evolved, revised, updated, and expanded over time.
I will add a section on these issues.
Good point 🙏

Collapse
 
justplayerde profile image
Justin K. • Edited

This doesn't contain advanced concepts or features of php (yet), but it should be a great resource for people who learn PHP :)

Maybe consider adding support for multiple languages so the content can also be translated later.

Edit: it could also make sense to also add a way to support multiple php versions so documentation is not lost after a new php version

Collapse
 
robertobutti profile image
Roberto B.

hi, thank you for your feedback. this is a lot of value!
i will add more advanced functions and topic. I'm collecting feedback and this will be the direction.
For multilang, for now i prefer to grow with one language ( focus).
For multiple ver of PHP i want to try to use the latest version. PHP sometimes is suffering because it is perceived as a legacy language, i prefer to keep this guide updated as much as possible and embrace fresh energy

Collapse
 
the_kray_twins profile image
KraysDevs

Now here is one that still coded in PHP and still does some things with it XD We should feel old man...

Collapse
 
robertobutti profile image
Roberto B.

I don't feel old, I've simply lived through many youthfulness.
PHP, Java, JavaScript, GoLang, Rust, Python, C. Do you know TurboPascal? :)

Collapse
 
lexiebkm profile image
Alexander B.K.

I only read Pascal from a book, but not ever coded in it. But then came Borland Delphi that used Pascal to create desktop GUI apps that rivaled Visual Basic (VB) in mid to late 90s.
While VB (in VB.net) is still alive, Pascal and Delphi seem to be extinct now.
The 1st language that made me earn money was FoxPro for DOS. :)
Still learning Java, Go and C#.

Thread Thread
 
the_kray_twins profile image
KraysDevs

GO is fast, Java is verbose and C# is suicide

Thread Thread
 
lexiebkm profile image
Alexander B.K.

Java, despite being verbose, is still required in quite a lot of jobs. What about Kotlin ? I see it becomes the 1st option for developing Android app, but I still want to use Java for Android development when I am ready. :)
Why is C# suicide when it is also required in a lot of jobs ?

Collapse
 
dimkiriakos profile image
dimkiriakos

5.5 Version, 6 or 7? I ve git them all

Collapse
 
the_kray_twins profile image
KraysDevs

Of course I do. Never used it though. I started with BASIC XD

Collapse
 
jordantylerburchett profile image
Jordan Tyler Burchett

PHP is my favorite language but for some reason I see a lot of people putting it down or saying it's old.. May I ask why?

Btw, I'm not a newbie I'm just generally interested in why it seems to be taboo to develop in PHP 🤔

Collapse
 
virtualmachine profile image
ByteCodeProcessor

It's not in season or it's past it's prime.

Collapse
 
raulferreirasilva profile image
Raul Ferreira

Reading the book I almost wanted to learn more PHP LOL, phenomenal and well-written content 🦤.

Collapse
 
robertobutti profile image
Roberto B.

I would recommend that you try many languages. Only in this way can you make an informed choice of the best language for you. Never choose a language to please others. Eventually, at some point, you will be sitting in front of your computer, you and your language. Better find a language you have a good feeling with because in the end, it will be your journey companion and not your enemy. ✨✨✨
For this reason, I like using PHP :)

Collapse
 
raulferreirasilva profile image
Raul Ferreira

Thank you for your words, it was very important to hear that 🦤.

Collapse
 
the_kray_twins profile image
KraysDevs

React is dying and so will PHP and all programming jobs. I made a short post about this as well yesterday. Its just the no code world that has taken over and you are ALL STILL SLEEPING