Top Banner
Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel
54

Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Jul 16, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Laravel, WordPress e a API REST: usando WordPress como xestor de

contidos en aplicacións Laravel

Page 2: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 3: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 4: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 5: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

● Framework PHP máis popular● Curva de aprendizaxe pequena● MVC● Template engine (Blade)● ORM (Eloquent)● Database migrations

Laravel

Page 6: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

● CLI: Artisan● Desacoplado● Tests unitarios e de integarción sinxelos● Seguridade● Comunidade: soporte e compoñentes● Libre (FLOSS)

Laravel (II)

Page 7: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

● CMS máis popular: ● 60,7 % CMS● 33,9 % web

● Simple e flexible● Comunidade● Libre (FLOSS)

WordPress

Page 8: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 9: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

1.Base de datos

Page 10: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Laravel WordPress

DB Laravel

DBWordPress

Page 11: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

2.Paquetes(Corcel)

Page 12: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

● Posts● Páxinas● ACF● CPT● Shortcodes● Taxonomías

Corcel

Page 13: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

● Formatos de post ● Adxuntos e revisión● Thumbnails● Opcións● Menú● Usuarios e autenticación

Corcel (II)

Page 14: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

$posts = Post::published()->get();

$posts = Post::status('publish')->get();

$post = Post::find(31);

echo $post->post_title;

Corcel (III)

Page 15: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

3.WP REST API

WordPress 4.7.0 – 4 de xaneiro de 2017

Page 16: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Conxunto de métodos que ofrece un software (WordPress)

para que outro software (Laravel) o use

API

Page 17: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

WordPress

API

Page 18: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

REST: REpresentational State Transfer● Protocolo cliente/servidor sen estado● HTTP(S)● Baseado en URI: identificación unívoca● JSON: interoperatividade

REST

Page 19: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

● 4 operacións principais: ● POST (create)● GET (read)● PUT (update)● DELETE (delete)

● Equivalentes a CRUD

REST (II)

Page 20: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

● Aplicacións para móbil/tablet● Aplicacións web ● Aplicacións de escritorio● Importacións complexas ● Redes sociais● IoT

Usos

Page 21: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

https://www.example.com/wp-json/wp/v2/

[endpoint]?[parameters]

https://www.example.com/wp-json/wp/v2/posts

● /wp/v2/posts● /wp/v2/revisions● /wp/v2/categories

Endpoints

Page 22: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

● /wp/v2/tags● /wp/v2/pages● /wp/v2/comments● /wp/v2/taxonomies● /wp/v2/media● /wp/v2/users● /wp/v2/types● /wp/v2/statuses● /wp/v2/settings

Endpoints (II)

Page 23: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Exemplo

Page 24: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

$ wp core download \

--locale=gl_ES

$ wp config create \

--dbname=wordpress \

--dbuser=homestead \

--dbpass=secret

$ wp db clean --yes

Instalar WordPress

Page 25: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Instalar WordPress (II)$ wp core install \

--url=wordpress.test \

--title="Sitio WordPress de test" \

--admin_user=manager \

--admin_password=password \

[email protected]

$ wp theme activate twentysixteen

Page 26: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Instalar WordPress (III)$ wp plugin install \

application-passwords --activate

$ curl http://loripsum.net/api/5 \

| wp post generate --post_content --count=10

Page 27: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 28: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 29: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 30: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

$ composer create-project \

--prefer-dist laravel/laravel stock

$ composer require guzzlehttp/guzzle

$ composer require laravelcollective/html

$ php artisan make:auth

Instalar Laravel

Page 31: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Routing

Controller

ModelView DB Laravel

Page 32: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Routing

Controller

View

WordPressAPI

DB WordPress

Page 33: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

/routes/web.php

Route::resource('posts','PostController');● GET /posts index● GET /posts/{id} show● GET /posts/create create● POST /posts store● GET /posts/{id}/edit edit● PUT /posts/{id} update● DELETE /posts/{id} destroy

Arquivo de rutas

Page 34: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

$ php artisan make:controller PostController

--resource

Controlador

Page 35: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

GET /posts

Page 36: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

GET /posts

Page 37: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 38: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

GET /posts/{id}

Page 39: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 40: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 41: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

GET /posts/create

Page 42: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 43: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 44: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

POST /posts

Page 45: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 46: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

GET /posts/{id}/edit

Page 47: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 48: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 49: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

PUT /posts/{id}

Page 50: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 51: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

DELETE /posts/{id}

Page 52: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework
Page 53: Laravel, WordPress e a API REST: usando WordPress como … · 2019-05-17 · Laravel, WordPress e a API REST: usando WordPress como xestor de contidos en aplicacións Laravel Framework

Routing

Controller

View

WordPressAPI

DB WordPress

URIMétodo Controlador

Método

URIMétodo