Lean JS Deeply, but don't forget about PHP!

Preview:

Citation preview

@royboy789

Learn JS Deeply, but Don't Forget About PHP!

Roy Sivan | RoySivan.com | CalderaLearn.org

@royboy789

CalderaLearn.com

Hi I'm Roy@royboy789

Senior Software Engineer | The Walt Disney CompanyI teach about WordPress @calderalearn & @lyndaI am a member of The WP Crowd! @thewpcrowdI blog @roysivan.com too!

@royboy789

What We're Covering Today

Intro to the WordPress REST APIWhy JavaScriptCake (not PHP)Why PHPPHP Business logicWordPress PHP

@royboy789

What We're Covering Today

Josh Pollock and I have already covered it.

TheWPCrowd - Episode 43.

@royboy789

CalderaLearn.com

Quick Intro To The WordPress REST API

What Is It? Why Is It Exciting? How Does It Work?

@royboy789

CalderaLabs.org

What Is TheWordPress REST API??

@royboy789

CRUD Routes For WordPress Content

PostsUsersCommentsTaxonomiesSites

@royboy789

Post Routes

/wp/v2/postsFirst page of posts

/wp/v2/posts/42Post 42

/wp/v2/commentsFirst page of comments

@royboy789

This Is The WordPress REST API

@royboy789

@royboy789

CalderaLearn.com

Why JavaScript GoodIts yummy and nutritious!

@royboy789

CalderaLabs.org

“Learn JavaScript, Deeply”- Matt M.

@royboy789

Why I JavaScript

AngularAngularAngularAngularAngularReact

@royboy789

Why I JavaScript… for reals

Headless WordPress, yas!

Create really custom UI

It is a great time to be a JS developer!

https://github.com/royboy789/Angular-Wordpress-Theme

https://github.com/WordPress-Admin-JavaScript-Boilerplate/ReactJS-Boilerplate

@royboy789

CalderaLearn.com

Time for Cake!

@royboy789

JK!!!!!!!!!!!!!! It is a pie.

The cake is a lie.

@royboy789

CalderaLearn.com

Why PHP?

@royboy789

Why PHP?

PHP isn’t going anywherePHP is stableIf you level up as a developer, there are just as many PHP frameworks as good JS frameworks

@royboy789

WordPress is PHP

@royboy789

So much PHP!

Ever notice those sneaky <?php tags?The REST API is also built in PHP

The P in LAMP, LEMP, LNMP, LAPP, WAMP, MAMP, XAMP(<- this one)P(<- sometimes this one)

@royboy789

CalderaLabs.org

“WordPress will be rebuilt in Node”- Chief Editor of FakeWPNews.com

@royboy789

FALSE

“FALSE”- Matt Cromwell

FALSE

FALSEFALSE

@royboy789

WordPress & Node

For the foreseeable future, there is no reason that WordPress will be magically rebuilt on node.

If it is going to be rebuilt, it will stay PHP, probably be PHP7 amazing.

@royboy789

API can be used without JS

@royboy789

API your stuff with PHP

You can use the REST API’s PHP classes to run the functions a route does, except it is all done server side without

wp_safe_remote_get/post

$request = new WP_REST_Request( 'GET', '/wp/v2/posts' );

@royboy789

PHP Frameworks

Just like there are JS frameworks to learn as you become more advanced, there are PHP frameworks. You can build advanced functionality with one of these, still communicating to your WordPress data

Laravel, Symfony - popular, good

Phalcon, CakePHP - not as popular, still good

@royboy789

CalderaLearn.com

Ok, but seriouslyI mean, you’re wearing an Angular hat.

@royboy789

Use JS for what it is good for

JavaScript is good for

Client Side Render of UInothing more

@royboy789

CalderaLearn.com

PHP Means BusinessDon’t mess with it.

@royboy789

Business Logic Code

Business logic is the code that is, functionality wise, the meat of your business.

Ex: If you run a Woocommerce store, the creation of the order, payment processing, and anything else check out related that happens before the “thank you” page- Business Logic

@royboy789

Business Logic in API

JavaScript is best used for UI

leave it that way!

JavaScript can hit the APIAPI will do all the logicSend back appropriate data to modify UI

@royboy789

Business Logic in API - Example

1. Your JS checkout app sends call with data to API

2. API handles all Woo code to create order

3. API handles all Woo code to create payment

4. API handles all Woo code to finalize order

5. Data sent back is just the final success / failure, and

order ID (and associated meta)

@royboy789

Extend the API for Business Logic

As you need more business logic code, extending the API

is the way to go… and that is done (should be done) in

PHP

Create custom routes & endpoints for your business

logic

Use the REST API to create your own REST API

@royboy789

Extend the API for Business Logic

@royboy789

CalderaLearn.com

WordPress PHPThe WP Way

@royboy789

WordPress PHP

Want to learn something deeply?

Learn the WordPress way of doing things!

@royboy789

WordPress PHP

Actions & Filters

wp_enqueue_ & wp_localize_object

Create Plugins -

Stop using functions.php as a catch-all for your advanced functionality

Create Custom Themes -

Go ahead, try it

@royboy789

Questions?

@royboy789

Places To Learn More PHP

Caldera Learn.comWordPress TV - WordPress.tv/?s=rest+apiLynda.com

CalderaLearn.com

Caldera Learn teaches through 4-week live classroom style webinars.

Teachers are Josh Pollock and Roy Sivan

@royboy789

CalderaLearn.com

Thank You@royboy789

RoySivan.comTheWPCrowd.comCalderaLearn.comLynda.com/Roy-Sivan/5111285-1.htmlYou’re Welcome Matt

Recommended