word camp kansai 2014 - mvc framework

31
WordPress MVC ををををををを ををををををを

Upload: codebyjeff

Post on 27-Jan-2015

105 views

Category:

Technology


1 download

DESCRIPTION

Notes from my presentation at Word Camp Kansai 2014. Be sure to visit http://codebyjeff.com/blog/2014/03/make-your-own-wordpress-mvc-plugin as well for a tutorial on creating this yourself

TRANSCRIPT

Page 1: Word Camp Kansai 2014 - MVC Framework

WordPressを

MVC フレームワークとして使用する

Page 2: Word Camp Kansai 2014 - MVC Framework

Who?What?Why?

Where?How?

Page 3: Word Camp Kansai 2014 - MVC Framework

Who?What?Why?

Where?How?

Page 4: Word Camp Kansai 2014 - MVC Framework

Jeff Madsen@codebyjeff

Lead Developer,Alyte Creative (Australia)

Page 5: Word Camp Kansai 2014 - MVC Framework

YOU!中級レベルな

プログラムマー

Page 6: Word Camp Kansai 2014 - MVC Framework

Who?What?Why?

Where?How?

Page 7: Word Camp Kansai 2014 - MVC Framework

http://localhost/usertut/test

Page 8: Word Camp Kansai 2014 - MVC Framework

No pages found!

Page 9: Word Camp Kansai 2014 - MVC Framework

MVCフレームワーク

プラグイン

Page 10: Word Camp Kansai 2014 - MVC Framework

M - ModelV - ViewC - Controller

ex: Codeigniter, CakePhp, Rails, Django

Page 11: Word Camp Kansai 2014 - MVC Framework

コード の編成Code Organization

Page 12: Word Camp Kansai 2014 - MVC Framework

これもう一回見たことがあるか?

Page 13: Word Camp Kansai 2014 - MVC Framework

もう アカン!

Page 14: Word Camp Kansai 2014 - MVC Framework

Who?What?Why?

Where?How?

Page 15: Word Camp Kansai 2014 - MVC Framework

build pages with git/deployment tools

Page 16: Word Camp Kansai 2014 - MVC Framework

use Composer.org libraries

Page 17: Word Camp Kansai 2014 - MVC Framework

TESTABLE!!

Page 18: Word Camp Kansai 2014 - MVC Framework

Who?What?Why?

Where?How?

Page 19: Word Camp Kansai 2014 - MVC Framework

MU-PLUGINS #1最初 loading

(plugins もう大丈夫 )

Page 20: Word Camp Kansai 2014 - MVC Framework

Who?What?Why?

Where?How?

Page 21: Word Camp Kansai 2014 - MVC Framework

What do we need?Router  ( ディスパッ

チ )Custom post types classViewsLibraries

Page 22: Word Camp Kansai 2014 - MVC Framework

WP-Router (https://wordpress.org/plugins/

wp-router/)

Page 23: Word Camp Kansai 2014 - MVC Framework

Custom Post Type Class

http://github.com/jjgrainger/wp-custom-post-type-class/

Page 24: Word Camp Kansai 2014 - MVC Framework

PlatesPHP(http://platesphp.com/)

-similar to Twig-framework agnostic

Plates

Page 25: Word Camp Kansai 2014 - MVC Framework

Composer (http://getcomposer.org)

Page 26: Word Camp Kansai 2014 - MVC Framework

Structure

Similar to CodeIgniterCakePHPRails

Page 27: Word Camp Kansai 2014 - MVC Framework

loader.php

require_once( 'alyte-core/system/plugin.php' );require_once('alyte-core/vendor/autoload.php');

...system/plugin.php

//load the core classes, scriptsadd_action( 'plugins_loaded', 'alyte_plugins_loaded' );add_action( 'wp_enqueue_styles', 'alyte_load_styles' );add_action( 'wp_enqueue_scripts', 'alyte_load_scripts' );

... call the bootstrap.php ...

Page 28: Word Camp Kansai 2014 - MVC Framework

static function show_student_profile( $router ) {

$args = array( 'path' => '^profile/(.*?)$', 'query_vars' => array( 'user_id' => 1, ), 'page_callback' => array( 'Alyte_Students','get' ), 'page_arguments' => array('user_id'), 'access_callback' => true, 'title' => 'Your Student Profile', 'template' => array('page.php', dirname(__FILE__).DIRECTORY_SEPARATOR.'page.php') );

$router->add_route( 'show-student-profile-route', $args );}

MAGIC HAPPENS HEREclass-routes.php

Page 29: Word Camp Kansai 2014 - MVC Framework

Student Class static function get($id) { $user = new User($id); $data = array( 'id' =>$id, 'user' => $user, );

// Plates PHP $template = self::make_template(); $template->data($data); return $template->render('students/profile_view'); }

Page 30: Word Camp Kansai 2014 - MVC Framework

View

Page 31: Word Camp Kansai 2014 - MVC Framework

Page