What is PHP School?

Welcome to PHP School! A dedicated community based learning platform that will teach you the core skills in PHP. The concept behind PHP School is small standalone workshops, workshops are run from the command line, somewhere every developer should be familiar with.

Each workshop covers a different topic, some beginner, some advanced. You're not restricted to a schedule, you go at your own pace with no pressure.

1 Select an exercise
2 Complete the challenge
3 Get instant feedback

Getting Started

In order to get started with PHP School workshops, you first need to install the workshop manager. Before we can do this we need to check you have a few things:

  • You will need PHP with a version of at least 5.6 although we recommend using the latest available.
  • You will also need a Text Editor so you can work through the workshops. You can try Atom or Sublime if you don't already have one.

Once the above are satisfied, run the following commands in your terminal, to install the workshop manager. The final command will verify your installation and will give you tips on how to resolve any issues.

curl -O https://php-school.github.io/workshop-manager/workshop-manager.phar

mv workshop-manager.phar /usr/local/bin/workshop-manager

chmod +x /usr/local/bin/workshop-manager

workshop-manager verify

Worshop Manager usage

The workshop manager is a tool to search, install and remove PHP School workshops. See below for usage instructions. Please visit the Workshop Manager GitHub Repository for more detailed instructions.

workshop-manager list

Lists the available commands.

workshop-manager search <topic>

Search for a workshop covering a particular topic, providing no arguments will list all the available workshops.

workshop-manager install <workshopname>

Install a workshop.

workshop-manager uninstall <workshopname>

Remove a workshop.


Now we know how to use the Workshop Manager - go forth an install a workshop!

To the workshops!

Core Workshops

Workshops created by the PHP School team!

We've built an intricate framework specifically designed to make the creation of simple to advanced workshops pain free. It has a simple yet powerful verification system with code injection and language parsing to give workshop creators amazing flexibility in what they build.

Learn You PHP!

An introduction to PHP's core features: i/o, http, arrays, exceptions and so on.

workshop-manager install learnyouphp

learnyouphp

Community workshops

At the core, PHP School is a workshop framework which allows you to run a set of exercises. It has been designed in a way that you can easily build your own workshops, focusing on any subject you please.

Visit the documentation to learn how to build your own Workshop.

Check out this page to submit your workshop so it appears here and can be installable with the workshop manager!

Callable functions

Learn callable functions with arrays

workshop-manager install callablefunctions

callablefunctions

Made by: Nastasia Saby

PHP7 way

To play with PHP7

workshop-manager install php7way

php7way

Made by: Nastasia Saby

Need help?

If you need help or want to contribute to PHP School, you can chat on Slack, create issues and send PR's on GitHub. We also have a Twitter account where we will push out news and information!

If you have any issues with any of the workshops or just general getting started questions, you can create an issue here and someone will get back to you whenever it is possible. Feel free to also jump on and help other people with their issues. This type of project works best when everyone gets involved.

Our inspiration

As developers who regularly use and advocate open source software, we have always loved the spirit of giving back. We work in a truly unique industry which is held together by people providing for free.

Thank you NodeSchool for inspiring us to create PHP School, if Node & JavaScript is your thing, we recommend you check them out. When we saw what the NodeSchool community had achieved together, we knew we had to bring it over to the PHP world.

NodeSchool