PHP and node.js Together

Preview:

DESCRIPTION

This goes over a bit of what node.js is, why you might want to use it, and how to use it with your PHP projects.

Citation preview

PHP and node.js Together

5/15/2013 php|tek 2013

E-mail: chris@ctankersley.comTwitter: @dragonmantank

App.net: @ctankersley

Who Are You and Why Are You In My House At My Conference

Chris Tankersley Doing PHP for 9 Years Lots of projects no one uses, and a

few that some do TL;DR https://github.com/

dragonmantank

March 3rd, 2013 MidwestPHP 2

What We’re Gonna Do

Go over what node.js is What good is node.js? Different ways to use it with PHP

5/15/2013 php|tek 2013

What Is node.js?

5/15/2013 php|tek 2013

The Abstract

node.js is a server-side implementation of the Google V8

JavaScript engine

In broad terms, it does the same job as PHP but with JavaScript

5/15/2013 php|tek 2013

5/15/2013 php|tek 2013

Advantages for node.js

It’s JavaScript npm is pretty awesome It’s fast There’s a huge community

5/15/2013 php|tek 2013

Sample node.js app

It’s just JavaScript, nothing fancy

5/15/2013 php|tek 2013

Little less trivial example

5/15/2013 php|tek 2013

Lies Benchmarks

node.js

Silex

5/15/2013 php|tek 2013

What can you use node.js for?

Background tasks Server-side scripts API endpoints Websites

5/15/2013 php|tek 2013

Working with PHP

5/15/2013 php|tek 2013

Call it through exec()

Call node.js just like any other program

5/15/2013 php|tek 2013

Connect it to your database

5/15/2013 php|tek 2013

Out of band work

Push something into a redis via PHP, and have node.js listen and react

5/15/2013 php|tek 2013

Pubsub

PHP and node.js connect to a redis channel

PHP publish something to the channel

node.js gets the message and reacts Really good for reacting to events,

but requires node.js to be listening

5/15/2013 php|tek 2013

Work Queues

Same idea, but the work sits there until someone deals with it

5/15/2013 php|tek 2013

Websockets

Allows two-way communication from the browser to the server

Most browsers should support it Use socket.io to handle old browsers

5/15/2013 php|tek 2013

Putting it all together

5/15/2013 php|tek 2013

Questions?

5/15/2013 php|tek 2013

Rate this talk!

5/15/2013 php|tek 2013

chris@ctankersley.com@dragonmantank

https://joind.in/8165

Recommended