SlideShare ist ein Scribd-Unternehmen logo
1 von 62
PHP Full story João Machado
PHP ,[object Object]
Veio substituir um conjunto de scripts em perl ,[object Object]
Engines  ,[object Object]
Roadsend - native machine code
Phalanger - .net
Quercus - Java
PHP no SAPO Servers  : ,[object Object]
Fama - 1
Cinema - 2
Mobile + meo - 4
Spot - 2
Videos - 4
Homepage - 3
Mail - 13
Mensageiro - 2
Wiki - 2
Farm PHP 4+5 - 7 (215 Vhosts)
PHP no mundo tiobe.com
Porquê PHP? ,[object Object]
Fácil de aprender e desenvolver
Bem documentado
Multi-plataforma
Mod PHP Apache - FCGI
Extensões em C e C++ via módulos, .NET, JAVA
Embutido / Templating
Amplamente utilizado
Grande comunidade de programadores
Contexto ,[object Object],[object Object],[object Object]
Arquitectura ideal
Internacionalização ,[object Object]
Utiliza o GNU gettext ,[object Object],setlocale(LC_ALL, 'pt_PT'); bindtextdomain("myPHPApp", "/var/www/languageFiles"); echo _("Welcome to My PHP Application");
Escalabilidade ,[object Object]
Shared data  apenas ao nível da  data-store layer
Sem ”front controllers” - Centralização de pedidos ,[object Object]
Invisibilidade de erros entre  datacenters
Modularização
Simplicidade de desenvolvimento
Facilita debug / tracing / profiling
Atenção ,[object Object]
Deve ser visto com uma  framework  rica para a  web
É bastante eficiente, utilizando funções nativas
Demasiado código em  PHP  é contraproducente
Código crítico deve passar a  módulo em C
Código específico deve ser um   serviço independente
Dicas
Dicas - performance ,[object Object]
Performance bottlenecks,  raramente estão onde imaginamos
Evitar funções com peso extra desnecessário ,[object Object]
explode vs preg_split ,[object Object]
Reduzir ciclos, queries, stats, remote requests
Evitar HTMLWriters, HTML deve ser HTML!
Dicas - performance ,[object Object]
Utilizar sistemas de  cache  (Memória local, memcached)
Evitar mensagens de erro, mesmo  warnings, notices , deprecated
URI's  de ficheiros sempre absolutos!
Evitar  comandos de alto nível $a(); $$b; $c->{$k}
Dicas -  Apache ,[object Object],stat64(&quot;/var/www/index.html&quot;, 0xbfd279ac) = -1 ENOENT (No such file or directory) stat64(&quot;/var/www/index.cgi&quot;, 0xbfd27afc) = -1 ENOENT (No such file or directory) stat64(&quot;/var/www/index.pl&quot;, 0xbfd27afc) = -1 ENOENT (No such file or directory) stat64(&quot;/var/www/index.php&quot;, {st_mode=S_IFREG|0664, st_size=7198, ...}) = 0 Fix DirectoryIndex <Directory /var/www> #DirectoryIndex index.html index.cgi index.pl index.php DirectoryIndex index.php </Directory>
Dicas -Apache ,[object Object],<Directory> AllowOverride none</Directory> ,[object Object]
Novidades
Objectos ,[object Object]
Em PHP5 os objects são passados por referência, para efectuar uma cópia temos de pedir explicitamente $copy = clone $object;

Weitere ähnliche Inhalte

Was ist angesagt?

PHP Experience 2016 - [Palestra] Rumo à Certificação PHP
PHP Experience 2016 - [Palestra] Rumo à Certificação PHPPHP Experience 2016 - [Palestra] Rumo à Certificação PHP
PHP Experience 2016 - [Palestra] Rumo à Certificação PHPiMasters
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLErick Belluci Tedeschi
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxMarcelo Sabadini
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]João Augusto
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...iMasters
 
PHP, mas o que é isso ?
PHP, mas o que é isso ?PHP, mas o que é isso ?
PHP, mas o que é isso ?phpal
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxThiago Paes
 
Fundamentos Replicação MySQL
Fundamentos Replicação MySQLFundamentos Replicação MySQL
Fundamentos Replicação MySQLAlexandre Almeida
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteMichael Cardoso
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell ScriptHugo Maia Vieira
 

Was ist angesagt? (20)

Roteadores
RoteadoresRoteadores
Roteadores
 
PHP Experience 2016 - [Palestra] Rumo à Certificação PHP
PHP Experience 2016 - [Palestra] Rumo à Certificação PHPPHP Experience 2016 - [Palestra] Rumo à Certificação PHP
PHP Experience 2016 - [Palestra] Rumo à Certificação PHP
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
 
Proftpd
ProftpdProftpd
Proftpd
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]
 
Hello SAFE World!!!
Hello SAFE World!!!Hello SAFE World!!!
Hello SAFE World!!!
 
Cabra Macho
Cabra MachoCabra Macho
Cabra Macho
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensão
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
 
01 notações iniciais
01   notações iniciais01   notações iniciais
01 notações iniciais
 
PHP, mas o que é isso ?
PHP, mas o que é isso ?PHP, mas o que é isso ?
PHP, mas o que é isso ?
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com Nginx
 
Fundamentos Replicação MySQL
Fundamentos Replicação MySQLFundamentos Replicação MySQL
Fundamentos Replicação MySQL
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
Ruby
RubyRuby
Ruby
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil Competente
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell Script
 

Andere mochten auch

Labdoo Refurbish
Labdoo RefurbishLabdoo Refurbish
Labdoo Refurbishjrosgiralt
 
Manual de instrucciones
Manual de instruccionesManual de instrucciones
Manual de instruccionesMariví Torres
 
E Presentation
E PresentationE Presentation
E Presentationerinhague
 
Presentasjon Matematikk Og Ikt Powerpoint
Presentasjon Matematikk Og Ikt PowerpointPresentasjon Matematikk Og Ikt Powerpoint
Presentasjon Matematikk Og Ikt Powerpointenvergas
 
Guida Base utilizzo Floobs
Guida Base utilizzo FloobsGuida Base utilizzo Floobs
Guida Base utilizzo FloobsFloobs
 
Vidal_ Perez_ Fabiola_ Sintesis
Vidal_ Perez_ Fabiola_ SintesisVidal_ Perez_ Fabiola_ Sintesis
Vidal_ Perez_ Fabiola_ SintesisFabiola Vidal
 
Bedrijfsprofiel Solid Professionals
Bedrijfsprofiel Solid ProfessionalsBedrijfsprofiel Solid Professionals
Bedrijfsprofiel Solid Professionalslucettepeereboom
 
Polux Dj Producer
Polux Dj ProducerPolux Dj Producer
Polux Dj Producergermanzaina
 
Teach Meet Ksli2
Teach Meet Ksli2Teach Meet Ksli2
Teach Meet Ksli2ksli
 
Shambhvi A Bestseller Marathi Novel Dr. Shriniwas Kashalikar
Shambhvi  A Bestseller Marathi Novel Dr. Shriniwas KashalikarShambhvi  A Bestseller Marathi Novel Dr. Shriniwas Kashalikar
Shambhvi A Bestseller Marathi Novel Dr. Shriniwas KashalikarMonika Gavali
 
Eskolaren Funtzio Sozialak
Eskolaren Funtzio SozialakEskolaren Funtzio Sozialak
Eskolaren Funtzio Sozialakcyberkaneda
 

Andere mochten auch (20)

Labdoo Refurbish
Labdoo RefurbishLabdoo Refurbish
Labdoo Refurbish
 
Manual de instrucciones
Manual de instruccionesManual de instrucciones
Manual de instrucciones
 
E Presentation
E PresentationE Presentation
E Presentation
 
Sbi Top Up
Sbi Top UpSbi Top Up
Sbi Top Up
 
Presentasjon Matematikk Og Ikt Powerpoint
Presentasjon Matematikk Og Ikt PowerpointPresentasjon Matematikk Og Ikt Powerpoint
Presentasjon Matematikk Og Ikt Powerpoint
 
Pycs
PycsPycs
Pycs
 
Amigodeverdad
AmigodeverdadAmigodeverdad
Amigodeverdad
 
Marca
MarcaMarca
Marca
 
Guida Base utilizzo Floobs
Guida Base utilizzo FloobsGuida Base utilizzo Floobs
Guida Base utilizzo Floobs
 
Vidal_ Perez_ Fabiola_ Sintesis
Vidal_ Perez_ Fabiola_ SintesisVidal_ Perez_ Fabiola_ Sintesis
Vidal_ Perez_ Fabiola_ Sintesis
 
Bedrijfsprofiel Solid Professionals
Bedrijfsprofiel Solid ProfessionalsBedrijfsprofiel Solid Professionals
Bedrijfsprofiel Solid Professionals
 
Polux Dj Producer
Polux Dj ProducerPolux Dj Producer
Polux Dj Producer
 
3 Crear Un Blog
3 Crear Un Blog3 Crear Un Blog
3 Crear Un Blog
 
Teach Meet Ksli2
Teach Meet Ksli2Teach Meet Ksli2
Teach Meet Ksli2
 
Fresh HTML
Fresh HTMLFresh HTML
Fresh HTML
 
Infor
InforInfor
Infor
 
2013 resolución n° 009 brigadas pgr
2013 resolución n° 009 brigadas pgr2013 resolución n° 009 brigadas pgr
2013 resolución n° 009 brigadas pgr
 
Presentation1
Presentation1Presentation1
Presentation1
 
Shambhvi A Bestseller Marathi Novel Dr. Shriniwas Kashalikar
Shambhvi  A Bestseller Marathi Novel Dr. Shriniwas KashalikarShambhvi  A Bestseller Marathi Novel Dr. Shriniwas Kashalikar
Shambhvi A Bestseller Marathi Novel Dr. Shriniwas Kashalikar
 
Eskolaren Funtzio Sozialak
Eskolaren Funtzio SozialakEskolaren Funtzio Sozialak
Eskolaren Funtzio Sozialak
 

Ähnlich wie Sapo Sessions PHP

Ähnlich wie Sapo Sessions PHP (20)

Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
Modern PHP
Modern PHPModern PHP
Modern PHP
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?
 
Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6
 
PHP(I-Bim).ppt
PHP(I-Bim).pptPHP(I-Bim).ppt
PHP(I-Bim).ppt
 
PHP 5.3 - Introdução
PHP 5.3 - IntroduçãoPHP 5.3 - Introdução
PHP 5.3 - Introdução
 
Zephir
ZephirZephir
Zephir
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
 
Painel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGPainel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNG
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta Performance
 
PHP Presente e Futuro
PHP Presente e FuturoPHP Presente e Futuro
PHP Presente e Futuro
 
PHPSP TestFest 2009
PHPSP TestFest 2009PHPSP TestFest 2009
PHPSP TestFest 2009
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Doctrine for dummies
Doctrine for dummiesDoctrine for dummies
Doctrine for dummies
 
Project HA
Project HAProject HA
Project HA
 
Memcached, Gearman e Sphinx
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e Sphinx
 
Programando php com excelência
Programando php com excelênciaProgramando php com excelência
Programando php com excelência
 

Sapo Sessions PHP