際際滷

際際滷Share a Scribd company logo
PHP Slim Framework &
AngularJS Framework
蟷 覲願鍵
2015.10.07
@XeHub
讌, wePlanet
ModernPHP User Group 10 蠍磯
覿:  螳襯 企至 伎 螳?
Webframeworks.kr  覲
2015 wePlanet 2
WHY  企 襦?
2015 wePlanet 3
(企襷)(碁襷)
覈覦
危襴貅伎
覯
蟯襴
轟
 覯2襦 蟲燕伎殊語
1. Mobile Application Server - 碁襷
2. Web Console Server + Database  企襷
 螳覦 語企 PHP  ASP襦 伎殊語.
 php襦 api襷, angular襦 襦碁 蟲
 KISA SEED 誤  (PHP, JSP, ASP 讌)
WHY   危襯?
2015 wePlanet 4
 螳覦 一   襦 螳 .
 by Google.
  螳覦螳 郁矩一!
 螻螳 覦 磯Μ  旧 語 => PHP .
 覈覦 危襴貅伎 讌蠍  REST API 螳覦 讌襷,
覲伎蟯 襯朱 螳覲企 螳覦 覯螳 譬蠍一 Micro framework朱 蟆一
=> Slim.
 覈   語 .
 企 蟯襴 轟願鍵 覓語, 貊ろ語  蟲 .
 by Twitter.
Slim Framework : micro framework for PHP
2015 wePlanet 5
Angular JS Framework : HTML Enhanced for web apps!
 襴
 覦 一危 覦碁
 MVC 蟲譟
 讌 Directive襯 伎 HTML 
 譟願螻 譯殊 Dependency Injection
  伎  危襴貅伎(SPA)  Router
 $q襯 伎 覦ろ襴渚 觜蠍 襦蠏碁覦 讌
 覦ろ襴渚 ろ 讌
 CSS3 Animation 豌襴 讌
 覈覦 一 企欧 讌
2015 wePlanet 6
豢豌 http://webframeworks.kr/getstarted/angularjs/
れ 覦 蟲 - れ
 Slim れ - composer 伎
 $composer require slim/slim 轟 composer.json  slim 豢螳
 $ php composer.phar install
 index.php  語
<?php
require vendoer/autoload.php;
 Angular れ
 npm 伎
 $ npm install angular
 index.html <script> 豢螳
<script src=/slideshow/php-slim-framework-with-angular/54096305//node_modules/angular/angular.js></script>
 bower 伎
 $ bower install angular
 index.html <script> 豢螳
<script src=/bower_components/angular/angular.js></script>
2015 wePlanet 7
れ 覦 蟲 - 蟲
+ app
+ backend // php朱 豺
+ images
+ scripts // angular 朱 豺
+ assets
+ controllers
+ directives
+ filters
+ services
- app.js
+ styles
+ vendor // composer襯 牛 れ
- autoload.php
+ views // html 
- composer.json
- index.html
- index.php
- .htaccess
+ bower_components
+ node_modules
+ test
+ dist
- bower.json
- package.json
2015 wePlanet 8
れ 覦 蟲  index.php
 <?php
require 'vendor/autoload.php';
session_cache_limiter(false);
session_cache_expire(15);
session_start();
$app = new SlimSlim();
/**
* API routing
*/
$app->group('/api', function() use ($app) {
$app->response->headers->set('Content-Type', 'application/json');
$app->response->headers->set('Access-Control-Allow-Origin', '*');
/**
* REST /api/user
*/
$app->group(/user', function() use ($app) {
$app->get('/xxxx', function () use ($app) {
include './backend/xxxx.php';
});
});
});
/**
* Rendering page
*/
$app->get('/', function () use ($app) {
$app->response->headers->set('Content-Type', 'text/html');
readfile('index.html');
});
$app->notFound(function () use ($app) {
$app->response->headers->set('Content-Type', 'text/html');
readfile('404.html');
});
$app->run();
2015 wePlanet 9
れ 覦 蟲  index.html
 <body ng-app=angularApp>
<script src=/slideshow/php-slim-framework-with-angular/54096305/"scripts/app.js"></script>
2015 wePlanet 10
れ 覦 蟲  app.js
 'use strict';
angular
.module(angularApp', [
'ngResource',
'ngRoute',
...
'angular-loading-bar'
])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/login', {
templateUrl: 'views/login.html',
controller: 'LoginCtrl',
access: {
isFree: true
}
})
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl',
resolve: ensureAuth()
})
.when('/users', {
templateUrl: 'views/users.html',
controller: 'UsersCtrl',
resolve: ensureAuth()
})
.otherwise({
redirectTo: '/'
});
//$locationProvider.html5Mode(false);
function ensureAuth() {
return {
isAuth: ['$http', '$location', SampleAuth ', function ($http, $location, SampleAuth) {
return SampleAuth.get().then(function() {
// success
}, function() {
$location.path('/login');
});
}]
};
}
}]);
2015 wePlanet 11
れ 覦 蟲  Angular
+ scripts // angular 朱 豺
+ assets // 糾靴  螻牛旧朱 る  (殊企襴 )
+ controllers // Controller 朱 豺
+ directives // Extended HTML. view 蠏語 螳 
+ filters // Controller 一危 螳 覲蠍  
+ services // api 語  襦讌 企(DAO )
- app.js
2015 wePlanet 12
蠍
 覦襭襯 襷り鍵  Slim  伎 れ 蟆 譴 企
蠍 覦蟆
襴殊 PHP: The Right Way朱 蠍襦 覈 譟一 襦(Josh Lockhart)螳 螳覦
襷危襦 . 譟一 襦瑚 朱朱襖(Laravel) 覲願 襴 螳覦 譴 蟾
螻覩狩讌襷 ろ企 螻 蟆 螳覦 企讌螻 . 伎伎襷 蠏碁 朱朱襖
 . 襭觜 襭觜  殊(Ruby on Rails), 伎 リ(Django)螳
る PHP 朱朱襖 り   . 
 豢豌 http://bookworm.pe.kr/wordpress/2014/02/06/2873
 れ 覯 覦 朱朱襖襦 !
2015 wePlanet 13

More Related Content

PHP Slim Framework with Angular

  • 1. PHP Slim Framework & AngularJS Framework 蟷 覲願鍵 2015.10.07 @XeHub 讌, wePlanet ModernPHP User Group 10 蠍磯 覿: 螳襯 企至 伎 螳?
  • 3. WHY 企 襦? 2015 wePlanet 3 (企襷)(碁襷) 覈覦 危襴貅伎 覯 蟯襴 轟 覯2襦 蟲燕伎殊語 1. Mobile Application Server - 碁襷 2. Web Console Server + Database 企襷 螳覦 語企 PHP ASP襦 伎殊語. php襦 api襷, angular襦 襦碁 蟲 KISA SEED 誤 (PHP, JSP, ASP 讌)
  • 4. WHY 危襯? 2015 wePlanet 4 螳覦 一 襦 螳 . by Google. 螳覦螳 郁矩一! 螻螳 覦 磯Μ 旧 語 => PHP . 覈覦 危襴貅伎 讌蠍 REST API 螳覦 讌襷, 覲伎蟯 襯朱 螳覲企 螳覦 覯螳 譬蠍一 Micro framework朱 蟆一 => Slim. 覈 語 . 企 蟯襴 轟願鍵 覓語, 貊ろ語 蟲 . by Twitter.
  • 5. Slim Framework : micro framework for PHP 2015 wePlanet 5
  • 6. Angular JS Framework : HTML Enhanced for web apps! 襴 覦 一危 覦碁 MVC 蟲譟 讌 Directive襯 伎 HTML 譟願螻 譯殊 Dependency Injection 伎 危襴貅伎(SPA) Router $q襯 伎 覦ろ襴渚 觜蠍 襦蠏碁覦 讌 覦ろ襴渚 ろ 讌 CSS3 Animation 豌襴 讌 覈覦 一 企欧 讌 2015 wePlanet 6 豢豌 http://webframeworks.kr/getstarted/angularjs/
  • 7. れ 覦 蟲 - れ Slim れ - composer 伎 $composer require slim/slim 轟 composer.json slim 豢螳 $ php composer.phar install index.php 語 <?php require vendoer/autoload.php; Angular れ npm 伎 $ npm install angular index.html <script> 豢螳 <script src=/slideshow/php-slim-framework-with-angular/54096305//node_modules/angular/angular.js></script> bower 伎 $ bower install angular index.html <script> 豢螳 <script src=/bower_components/angular/angular.js></script> 2015 wePlanet 7
  • 8. れ 覦 蟲 - 蟲 + app + backend // php朱 豺 + images + scripts // angular 朱 豺 + assets + controllers + directives + filters + services - app.js + styles + vendor // composer襯 牛 れ - autoload.php + views // html - composer.json - index.html - index.php - .htaccess + bower_components + node_modules + test + dist - bower.json - package.json 2015 wePlanet 8
  • 9. れ 覦 蟲 index.php <?php require 'vendor/autoload.php'; session_cache_limiter(false); session_cache_expire(15); session_start(); $app = new SlimSlim(); /** * API routing */ $app->group('/api', function() use ($app) { $app->response->headers->set('Content-Type', 'application/json'); $app->response->headers->set('Access-Control-Allow-Origin', '*'); /** * REST /api/user */ $app->group(/user', function() use ($app) { $app->get('/xxxx', function () use ($app) { include './backend/xxxx.php'; }); }); }); /** * Rendering page */ $app->get('/', function () use ($app) { $app->response->headers->set('Content-Type', 'text/html'); readfile('index.html'); }); $app->notFound(function () use ($app) { $app->response->headers->set('Content-Type', 'text/html'); readfile('404.html'); }); $app->run(); 2015 wePlanet 9
  • 10. れ 覦 蟲 index.html <body ng-app=angularApp> <script src=/slideshow/php-slim-framework-with-angular/54096305/"scripts/app.js"></script> 2015 wePlanet 10
  • 11. れ 覦 蟲 app.js 'use strict'; angular .module(angularApp', [ 'ngResource', 'ngRoute', ... 'angular-loading-bar' ]) .config(['$routeProvider', function ($routeProvider) { $routeProvider .when('/login', { templateUrl: 'views/login.html', controller: 'LoginCtrl', access: { isFree: true } }) .when('/', { templateUrl: 'views/main.html', controller: 'MainCtrl', resolve: ensureAuth() }) .when('/users', { templateUrl: 'views/users.html', controller: 'UsersCtrl', resolve: ensureAuth() }) .otherwise({ redirectTo: '/' }); //$locationProvider.html5Mode(false); function ensureAuth() { return { isAuth: ['$http', '$location', SampleAuth ', function ($http, $location, SampleAuth) { return SampleAuth.get().then(function() { // success }, function() { $location.path('/login'); }); }] }; } }]); 2015 wePlanet 11
  • 12. れ 覦 蟲 Angular + scripts // angular 朱 豺 + assets // 糾靴 螻牛旧朱 る (殊企襴 ) + controllers // Controller 朱 豺 + directives // Extended HTML. view 蠏語 螳 + filters // Controller 一危 螳 覲蠍 + services // api 語 襦讌 企(DAO ) - app.js 2015 wePlanet 12
  • 13. 蠍 覦襭襯 襷り鍵 Slim 伎 れ 蟆 譴 企 蠍 覦蟆 襴殊 PHP: The Right Way朱 蠍襦 覈 譟一 襦(Josh Lockhart)螳 螳覦 襷危襦 . 譟一 襦瑚 朱朱襖(Laravel) 覲願 襴 螳覦 譴 蟾 螻覩狩讌襷 ろ企 螻 蟆 螳覦 企讌螻 . 伎伎襷 蠏碁 朱朱襖 . 襭觜 襭觜 殊(Ruby on Rails), 伎 リ(Django)螳 る PHP 朱朱襖 り . 豢豌 http://bookworm.pe.kr/wordpress/2014/02/06/2873 れ 覯 覦 朱朱襖襦 ! 2015 wePlanet 13

Editor's Notes

  • #7: AngularJS 襴酔 牛 一危磯ゼ 企至 讌 蠍一. 襴酔 螻 ANgularJS螳 螻牛 覲 轟 蠏碁る 企伎, HTML覓語襯 燕 蟆 襴酔 燕 蟆螻 螳. 一危磯碁企 一危 轟 覲伎 るゼ 覈 殊る 蠍磯朱, 覃伎 覲伎企 一危一 觚殊一 覃覈襴 一危磯ゼ 殊る 蠍磯. 覿覿 覦ろ襴渚 觚殊一 覃覈襴 一危郁 覃伎 豢襦 覦 一危 覦碁 螻牛, AngularJS 覦ル一危磯碁 螻牛朱, 覃伎 豢 一危郁 覲蟆渚覃 朱 覃覈襴 一危郁讌 覲蟆暑蟆 . MVC蟲譟磯ゼ 觜讌る讌 蟲 貉碁,-> ng-Controller. 襷殊 讌 螻, , 危襴貅伎 襦讌 企麹, 企 覈語 襯 覲蟆渚 殊企.
  • #9: scripts れ れ