+ All Categories
Home > Technology > Frameworks da nova Era PHP FuelPHP

Frameworks da nova Era PHP FuelPHP

Date post: 10-May-2015
Category:
Upload: dan-jesus
View: 2,612 times
Download: 0 times
Share this document with a friend
Popular Tags:
55
FRAMEWORKS DA NOVA ERA PHP DAN JESUS
Transcript
Page 1: Frameworks da nova Era PHP FuelPHP

FRAMEWORKS DA NOVA ERA PHP

DAN JESUS

Page 2: Frameworks da nova Era PHP FuelPHP

SOBRE MIM

$danjesus = [ “developer” => [“php”, js”, “ruby”, “java”, “objective-c”], “where” => [“LQDI Digital”, “Co-founder Solhys Tecnologia”], “blog” => [“danjesus.github.io”] ]; !return $danjesus;

Page 3: Frameworks da nova Era PHP FuelPHP

FUELPHP

FuelPHP is a simple, flexible, community driven

PHP 5.3+ framework, based on the best ideas of

other frameworks, with a fresh start!

Page 4: Frameworks da nova Era PHP FuelPHP
Page 5: Frameworks da nova Era PHP FuelPHP

FUELPHP

MODULAR

BOOTSTRAP SIMPLES

EXTENSÍVEL

Page 6: Frameworks da nova Era PHP FuelPHP

H-MVC

Page 7: Frameworks da nova Era PHP FuelPHP

INSTALAÇÃO

Page 8: Frameworks da nova Era PHP FuelPHP

curl get.fuelphp.com/oil | shvia curl

Page 9: Frameworks da nova Era PHP FuelPHP

git clone git://github.com/fuel/fuel.gitvia git

Page 10: Frameworks da nova Era PHP FuelPHP

OIL COMMAND LINE

Page 11: Frameworks da nova Era PHP FuelPHP

oil create cell console generate package refine help server test

Page 12: Frameworks da nova Era PHP FuelPHP

oil create {app name}criando o app usando oil

Instala as dependências com composer

Clona o repositório git

Executa os submódulos

Page 13: Frameworks da nova Era PHP FuelPHP

criando um controller

oil generate controller {actions}oil generate controller Posts index view add

criando um model

oil generatemodeloil generate controller Post index view add

Page 14: Frameworks da nova Era PHP FuelPHP

scaffolding criando automaticamente

oil generate scaffoldoil generate scaffold Post title:varchar[200] content:text

migrations

oil generatemigration {name}oil generate migration add_image_to_post image:varchar[200]

Page 15: Frameworks da nova Era PHP FuelPHP

ESTRUTURA FUEL

Composer

Documentação

Sua appFuel Core

Assets css/js/img

Pacotes do Fuel Auth | Orm *

Page 16: Frameworks da nova Era PHP FuelPHP

ESTRUTURA APPArquivo de inicialização da appCache

ControllersModelsModel ViewConfiguraçõesI18n internacionalizaçãoArquivos de logMigrationsMódulosTarefasTestesArquivos temporáriosLibs de terceirosViews html, mustache, twig

Page 17: Frameworks da nova Era PHP FuelPHP

CONTROLLER

Page 18: Frameworks da nova Era PHP FuelPHP

CONTROLLER BASE

REST HYBRID

TEMPLATE

Page 19: Frameworks da nova Era PHP FuelPHP

class Controller_Posts extends Controller {}

class Controller_Posts extends Controller_Template {}

class Controller_Posts extends Controller_Rest {}

class Controller_Posts extends Controller_Hybrid {}

BASE

TEMPLATE

REST

HYBRID

Page 20: Frameworks da nova Era PHP FuelPHP

ESTRUTURA CONTROLLER

class Controller_Posts extends Controller { ! public function action_index() { return Response::forge(View::forge('posts/index')); } !}

Page 21: Frameworks da nova Era PHP FuelPHP

ESTRUTURA CONTROLLER

class Controller_Posts extends Controller { ! public function action_index() { return Response::forge(View::forge('posts/index')); } !}

Prefixo Controller_ pode ser alterado nas configurações para usar um namespace

Page 22: Frameworks da nova Era PHP FuelPHP

ESTRUTURA CONTROLLER

class Controller_Posts extends Controller { ! public function action_index() { return Response::forge(View::forge('posts/index')); } !}

Tipo do controller

Page 23: Frameworks da nova Era PHP FuelPHP

ESTRUTURA CONTROLLER

class Controller_Posts extends Controller { ! public function action_index() { return Response::forge(View::forge('posts/index')); } !}

action poder um verbo http como get, post, put, delete

Page 24: Frameworks da nova Era PHP FuelPHP

CONTROLLER TEMPLATE

class Controller_Posts extends Controller_Template { //default template.php $this->template = 'template-name'; ! public function action_index() { $this->template->title = 'Template Controller'; $this->template->content = View::forge('posts/index'); } }

Page 25: Frameworks da nova Era PHP FuelPHP

CONTROLLER TEMPLATE

class Controller_Posts extends Controller_Template { //default template.php $this->template = 'template-name'; ! public function action_index() { $this->template->title = 'Template Controller'; $this->template->content = View::forge('posts/index'); } }

Permite a passagem de variáveis e views para o template.

Page 26: Frameworks da nova Era PHP FuelPHP

CONTROLLER TEMPLATE

class Controller_Posts extends Controller_Template { //default template.php $this->template = 'template-name'; ! public function action_index() { $this->template->title = 'Template Controller'; $this->template->content = View::forge('posts/index'); } } View que será renderizada dentro desta

área no template

Page 27: Frameworks da nova Era PHP FuelPHP

CONTROLLER TEMPLATE

class Controller_Posts extends Controller_Template { //default template.php $this->template = 'template-name'; ! public function action_index() { $this->template->title = 'Template Controller'; $this->template->content = View::forge('posts/index'); } } View que será renderizada dentro desta

área no template

Page 28: Frameworks da nova Era PHP FuelPHP

CONTROLLER REST

class Controller_Test extends Controller_Rest { protected $format = 'json'; ! public function get_list() { return $this->response(array( 'foo' => Input::get('foo'), 'baz' => array( 1, 50, 219 ), 'empty' => null )); } }

Page 29: Frameworks da nova Era PHP FuelPHP

CONTROLLER REST

class Controller_Test extends Controller_Rest { protected $format = 'json'; ! public function get_list() { return $this->response(array( 'foo' => Input::get('foo'), 'baz' => array( 1, 50, 219 ), 'empty' => null )); } }

Formato pode ser json, xml, csv, html, php ou serialize

Page 30: Frameworks da nova Era PHP FuelPHP

CONTROLLER REST

class Controller_Test extends Controller_Rest { protected $format = 'json'; ! public function get_list() { return $this->response(array( 'foo' => Input::get('foo'), 'baz' => array( 1, 50, 219 ), 'empty' => null )); } }

action pode ser get, post, put, delete ou patch

Page 31: Frameworks da nova Era PHP FuelPHP

CONTROLLER HYBRIDclass Controller_Post extends Controller_Hybrid { protected $format = 'json'; ! public function action_index() { $this->template->content = View::forge('posts/index'); } ! public function get_list() { return $this->response(array( 'foo' => Input::get('foo'), 'baz' => array( 1, 50, 219 ), 'empty' => null )); } }

Page 32: Frameworks da nova Era PHP FuelPHP

MODEL

Page 33: Frameworks da nova Era PHP FuelPHP

namespace Model; !class Welcome extends \Model { ! public static function get_results() { // Interações com o banco de dados } !}

Page 34: Frameworks da nova Era PHP FuelPHP

ORMMODEL CRUD

DB QUERY

Page 35: Frameworks da nova Era PHP FuelPHP

namespace Model; !class User extends \Model_Crud { protected static $_properties = array( 'id', 'name', 'age', 'birth_date', 'gender', ); ! protected static $_table_name = 'users'; }

MODEL CRUD

Page 36: Frameworks da nova Era PHP FuelPHP

User::find_all(); !User::find(); !User::forge(array( 'name' => 'teste', 'age' => 'teste' ... ));

MODEL CRUD

Page 37: Frameworks da nova Era PHP FuelPHP

namespace Model; !use Orm\Model; !class User extends Model { protected static $_properties = array( 'id', 'name', ); ! protected static $_table_name = 'users'; ! protected $_observers; protected $_belongs_to; protected $_has_many; protected $_has_one; protected $_many_many; }

ORM

Page 38: Frameworks da nova Era PHP FuelPHP

ORM

$user = new User(); $user->name = 'Dan Jesus'; $user->save(); !$users = User::find('all');

Page 39: Frameworks da nova Era PHP FuelPHP

VIEW

Page 40: Frameworks da nova Era PHP FuelPHP

MUSTACHETWIGJADEHAML

SMARTY

PARSER

Page 41: Frameworks da nova Era PHP FuelPHP

'always_load' => array( 'packages' => array( 'parser', ), )

arquivo config.php

Habilitando package parser

Page 42: Frameworks da nova Era PHP FuelPHP

$view = View::forge('path/to/view', array( 'menu' => $menu, 'articles' => $articles, 'footer_links' => $footer_links, ))->auto_filter(); !return $view;

Page 43: Frameworks da nova Era PHP FuelPHP

PARTIALS

echo render('path/to/view', array( 'menu' => $menu, 'articles' => $articles, 'footer_links' => $footer_links, ));

Page 44: Frameworks da nova Era PHP FuelPHP

CONFIGURAÇÕES

Page 45: Frameworks da nova Era PHP FuelPHP

DEVELOPMENTPRODUCTION

STAGINGTEST

Page 46: Frameworks da nova Era PHP FuelPHP

'profiling' => true

arquivo config.php

Habilitar php quick profiller

Page 47: Frameworks da nova Era PHP FuelPHP

arquivo config.php

'controller_prefix' => 'Controller\\' Usar namespace nos controllers

Page 48: Frameworks da nova Era PHP FuelPHP

arquivo developement/db.php

return array( 'default' => array( 'connection' => array( 'dsn' => 'mysql:host=localhost;dbname=fuel_dev', 'username' => 'root', 'password' => 'root', ), ! 'profilling' => true ), );

Configuração do banco de dados

Page 49: Frameworks da nova Era PHP FuelPHP

arquivo config.php

Habilitando Packages'always_load' => array( 'packages' => array( 'orm', ), )

Page 50: Frameworks da nova Era PHP FuelPHP

arquivo routes.php

return array( '_root_' => 'welcome/index', // The default route '_404_' => 'welcome/404', // The main 404 route 'hello(/:name)?' => array('welcome/hello', 'name' => 'hello'), );

Page 51: Frameworks da nova Era PHP FuelPHP

public static function validate($factory) { $val = Validation::forge($factory); $val->add_field('title', 'Title', 'required|max_length[50]'); $val->add_field('content', 'Content', 'required'); ! return $val; }

Validações no model

Page 52: Frameworks da nova Era PHP FuelPHP

FUEL CORE

Page 53: Frameworks da nova Era PHP FuelPHP

Projeto no Github https://github.com/fuelphp

Contribuindo com FuelPHP https://github.com/fuel/fuel/wiki/Contributing

FuelPHP issue tracker http://fuelphp.com/contribute/issue-tracker

FuelPHP 2.0 http://fuelphp.com/blogs/2013/08/2-0-an-update

REFERÊNCIAS

Page 54: Frameworks da nova Era PHP FuelPHP

PERGUNTAS?

Page 55: Frameworks da nova Era PHP FuelPHP

OBRIGADO!


Recommended