A package is a piece of reusable code that can be dropped into any application and be used without any tinkering to add functionality to that code. You don't need to know what is happening inside, only what the API for the class(es) are so that you can archive your goal. This is how most modern programming languages work, but to make a generalisation: PHP developers hate packages. Why?
Build APIs You Won't Hate
Everyone and their dog wants an API, so you should probably learn how to build them.
Tasked with building an API for your company but don't have a clue where to start? Taken over an existing API and hate it? Built your own API and still hate it? This book is for you.
Trade Twitter profiles like commodities in the awesome game twiDAQ.