SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
O esquecido do PHP
https://www.flickr.com/photos/gato-gato-gato/8804356967/
“O PHP nasceu pra web”
CLI
• Ncurses
• Readline
Zend Engine
• 59 extensões built-in disponíveis no PHP 7.0
• 63 extenções built-in disponíveis no PHP 5.6
• 351 extenções PECL
• 94 extenções PECL desde o começo de 2015
• 39 extenções PECL desde o começo de 2016
Program execution
• exec(), passthru(), shell_exec(), system()
• proc_open() e auxiliares
Forks & IPC
• PCNTL (process, forks, signals, sessions)
• sysvsem (Semaphore, Shared Memory e Message Queue)
• sysvshm (Shared Memory)
• APC
• Servidores externos (Redis, Memcache, etc…)
Threads
• Pthreads (POSIXThreads)
POSIX
• Portable Operating System Interface
• Unix API
COM
• Component Object Model
• Windows
• OLE Automation
• .Net Support
Streams
• stream_*
• Suporta file://, http://, ftp://, php://, zlib://, data://, glob://, phar://, ssh2://,
rar://, ogg:// e expect:// pelo PHP e PECL
• streamWrapper (s3://, git://, phpx://, xuplau://)
Sockets
• socket_*
• React
• Ratchet
Reflection & Behaviour
• Reflection
• APD
• Runkit
• UOPZ
Connection handling
• connection_aborted()
• ignore_user_abort()
• connection_status()
• set_time_limit()
• register_shutdown_function()
Ticks
• declare(ticks = N)
• register_tick_function()
• unregister_tick_function()
__halt_compiler()
<?php
// Abre o arquivo
$file = fopen(__FILE__, 'r');
// ponteiro onde o __halt_compiler() foi executado
fseek($file, __COMPILER_HALT_OFFSET__);
// Conteúdo depois do __halt_compiler()
$content = stream_get_contents($file);
// Faça alguma coisa!
// the end of the script execution
__halt_compiler(); binário (ZIP, TAR, PHAR) até mesmo criptografado
Arbitrary Precision
• BCMath
• GMP
Functions
• levenshtein(), metaphone(), soundex(), similar_text()
• strcasecmp(), strcmp(), substr_compare()
• sscanf()
• array_reduce()
• nl_langinfo()
SPL
• Exceptions
• Data structures
• Iterators
• File Handling
• Interfaces
Debugging & Profiling
• XDebug
• XHProf
• uprofiler
“O PHP nasceu pra ser útil”
Permita-se e divirta-se!

Mais conteúdo relacionado

Mais procurados

Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPAndréia Santos
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
Monitoramento funcional e não funcional em containers
Monitoramento funcional e não funcional em containersMonitoramento funcional e não funcional em containers
Monitoramento funcional e não funcional em containersRenan Petronilho Sant Anna
 
Seguindo padrões: Codificando profissionalmente com PHP Sniffer
Seguindo padrões: Codificando profissionalmente com PHP SnifferSeguindo padrões: Codificando profissionalmente com PHP Sniffer
Seguindo padrões: Codificando profissionalmente com PHP SnifferVinicius Warto Campos
 
Programando php com mais segurança
Programando php com mais segurançaProgramando php com mais segurança
Programando php com mais segurançaMichael Douglas
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010Rafael Dohms
 
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
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvPedro Fernandes Vieira
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1Norivan Oliveira
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Evitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadEvitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadDanilo Esser
 

Mais procurados (20)

Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
 
Kernel cooperativo
Kernel cooperativoKernel cooperativo
Kernel cooperativo
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Zephir
ZephirZephir
Zephir
 
Monitoramento funcional e não funcional em containers
Monitoramento funcional e não funcional em containersMonitoramento funcional e não funcional em containers
Monitoramento funcional e não funcional em containers
 
Seguindo padrões: Codificando profissionalmente com PHP Sniffer
Seguindo padrões: Codificando profissionalmente com PHP SnifferSeguindo padrões: Codificando profissionalmente com PHP Sniffer
Seguindo padrões: Codificando profissionalmente com PHP Sniffer
 
Primeira Aula PHP
Primeira Aula PHPPrimeira Aula PHP
Primeira Aula PHP
 
Igor Oliveira - Puppet
Igor Oliveira - PuppetIgor Oliveira - Puppet
Igor Oliveira - Puppet
 
Programando php com mais segurança
Programando php com mais segurançaProgramando php com mais segurança
Programando php com mais segurança
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
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
 
PHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHPPHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHP
 
Drupal + Rex
Drupal + RexDrupal + Rex
Drupal + Rex
 
Fundamentos de Sockets
Fundamentos de SocketsFundamentos de Sockets
Fundamentos de Sockets
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
UTools Unite Brasil
UTools Unite BrasilUTools Unite Brasil
UTools Unite Brasil
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Evitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadEvitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel Homestead
 

Destaque

Introdução ao Respect\Validation (1.0)
Introdução ao Respect\Validation (1.0)Introdução ao Respect\Validation (1.0)
Introdução ao Respect\Validation (1.0)Henrique Moody
 
TestFest - Respect\Validation 1.0
TestFest - Respect\Validation 1.0TestFest - Respect\Validation 1.0
TestFest - Respect\Validation 1.0Henrique Moody
 
Conhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronetConhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronetCode Experts Learning
 
Domine Validação de Dados em 45min
Domine Validação de Dados em 45minDomine Validação de Dados em 45min
Domine Validação de Dados em 45minAlexandre Gaigalas
 
Object Calisthenics Applied to PHP
Object Calisthenics Applied to PHPObject Calisthenics Applied to PHP
Object Calisthenics Applied to PHPGuilherme Blanco
 
NoSQL in MySQL
NoSQL in MySQLNoSQL in MySQL
NoSQL in MySQLUlf Wendel
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsGuilherme Blanco
 
Regular Expressions 101
Regular Expressions 101Regular Expressions 101
Regular Expressions 101Raj Rajandran
 
Building the Ultimate Human Organisation (ArabNet, Beirut, 2016)
Building the Ultimate Human Organisation (ArabNet, Beirut, 2016)Building the Ultimate Human Organisation (ArabNet, Beirut, 2016)
Building the Ultimate Human Organisation (ArabNet, Beirut, 2016)John Peebles
 
Wilco Schuttelaar, Arjan in 't Veld, We Helpen
Wilco Schuttelaar, Arjan in 't Veld, We HelpenWilco Schuttelaar, Arjan in 't Veld, We Helpen
Wilco Schuttelaar, Arjan in 't Veld, We HelpenKennisKring Amsterdam
 
Alliance Bernstein
Alliance BernsteinAlliance Bernstein
Alliance Bernsteinshaunbarnes
 
Product portfolio 2013
Product portfolio 2013Product portfolio 2013
Product portfolio 2013Zain Master
 
Document Capture Technologies, Inc. ($DCMT), Third Quarter 2011 Update
Document Capture Technologies, Inc. ($DCMT), Third Quarter 2011 UpdateDocument Capture Technologies, Inc. ($DCMT), Third Quarter 2011 Update
Document Capture Technologies, Inc. ($DCMT), Third Quarter 2011 UpdateProActive Capital Resources Group
 
Programari lliure una experiencia personal
Programari lliure una experiencia personalProgramari lliure una experiencia personal
Programari lliure una experiencia personalSantiago Benejam Torres
 
Training objective - Present By Ngụy Tôn Ngọc (Mr.)
Training objective - Present By Ngụy Tôn Ngọc (Mr.)Training objective - Present By Ngụy Tôn Ngọc (Mr.)
Training objective - Present By Ngụy Tôn Ngọc (Mr.)Tôn Ngọc Ngụy
 
Product portfolio 2012
Product portfolio 2012Product portfolio 2012
Product portfolio 2012Zain Master
 
Innovatie in de Sierteelt & het Businessmodel, door Marcel Goossens, 16 nov 2011
Innovatie in de Sierteelt & het Businessmodel, door Marcel Goossens, 16 nov 2011Innovatie in de Sierteelt & het Businessmodel, door Marcel Goossens, 16 nov 2011
Innovatie in de Sierteelt & het Businessmodel, door Marcel Goossens, 16 nov 2011KennisKring Amsterdam
 
Root words
Root wordsRoot words
Root words1005414
 

Destaque (20)

Introdução ao Respect\Validation (1.0)
Introdução ao Respect\Validation (1.0)Introdução ao Respect\Validation (1.0)
Introdução ao Respect\Validation (1.0)
 
TestFest - Respect\Validation 1.0
TestFest - Respect\Validation 1.0TestFest - Respect\Validation 1.0
TestFest - Respect\Validation 1.0
 
Conhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronetConhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronet
 
Domine Validação de Dados em 45min
Domine Validação de Dados em 45minDomine Validação de Dados em 45min
Domine Validação de Dados em 45min
 
Object Calisthenics Applied to PHP
Object Calisthenics Applied to PHPObject Calisthenics Applied to PHP
Object Calisthenics Applied to PHP
 
NoSQL in MySQL
NoSQL in MySQLNoSQL in MySQL
NoSQL in MySQL
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object Calisthenics
 
Javascript para adultos
Javascript para adultosJavascript para adultos
Javascript para adultos
 
Regular Expressions 101
Regular Expressions 101Regular Expressions 101
Regular Expressions 101
 
Building the Ultimate Human Organisation (ArabNet, Beirut, 2016)
Building the Ultimate Human Organisation (ArabNet, Beirut, 2016)Building the Ultimate Human Organisation (ArabNet, Beirut, 2016)
Building the Ultimate Human Organisation (ArabNet, Beirut, 2016)
 
Semantic Web'e Giriş
Semantic Web'e GirişSemantic Web'e Giriş
Semantic Web'e Giriş
 
Wilco Schuttelaar, Arjan in 't Veld, We Helpen
Wilco Schuttelaar, Arjan in 't Veld, We HelpenWilco Schuttelaar, Arjan in 't Veld, We Helpen
Wilco Schuttelaar, Arjan in 't Veld, We Helpen
 
Alliance Bernstein
Alliance BernsteinAlliance Bernstein
Alliance Bernstein
 
Product portfolio 2013
Product portfolio 2013Product portfolio 2013
Product portfolio 2013
 
Document Capture Technologies, Inc. ($DCMT), Third Quarter 2011 Update
Document Capture Technologies, Inc. ($DCMT), Third Quarter 2011 UpdateDocument Capture Technologies, Inc. ($DCMT), Third Quarter 2011 Update
Document Capture Technologies, Inc. ($DCMT), Third Quarter 2011 Update
 
Programari lliure una experiencia personal
Programari lliure una experiencia personalProgramari lliure una experiencia personal
Programari lliure una experiencia personal
 
Training objective - Present By Ngụy Tôn Ngọc (Mr.)
Training objective - Present By Ngụy Tôn Ngọc (Mr.)Training objective - Present By Ngụy Tôn Ngọc (Mr.)
Training objective - Present By Ngụy Tôn Ngọc (Mr.)
 
Product portfolio 2012
Product portfolio 2012Product portfolio 2012
Product portfolio 2012
 
Innovatie in de Sierteelt & het Businessmodel, door Marcel Goossens, 16 nov 2011
Innovatie in de Sierteelt & het Businessmodel, door Marcel Goossens, 16 nov 2011Innovatie in de Sierteelt & het Businessmodel, door Marcel Goossens, 16 nov 2011
Innovatie in de Sierteelt & het Businessmodel, door Marcel Goossens, 16 nov 2011
 
Root words
Root wordsRoot words
Root words
 

Semelhante a O esquecido do PHP: CLI, Zend Engine, Streams e mais

Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux DayFábio Albuquerque
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoFrederico Madeira
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriquesmarleigrolli
 
Prog shell
Prog shellProg shell
Prog shellTiago
 
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...Tchelinux
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
Aula 4 Mini Curso de Linux
Aula 4 Mini Curso de LinuxAula 4 Mini Curso de Linux
Aula 4 Mini Curso de LinuxRogério Cardoso
 
Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos...
Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos...Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos...
Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos...Magic Software Brasil
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisHelder Lopes
 
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters) iG - Internet Group do Brasil S/A
 
Análise estática de código Python
Análise estática de código PythonAnálise estática de código Python
Análise estática de código PythonGuilherme Vierno
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 

Semelhante a O esquecido do PHP: CLI, Zend Engine, Streams e mais (20)

Automatizando Nmap com NSE
Automatizando Nmap com NSEAutomatizando Nmap com NSE
Automatizando Nmap com NSE
 
Aula01
Aula01Aula01
Aula01
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux Day
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriques
 
Processos (Linux)
Processos (Linux)Processos (Linux)
Processos (Linux)
 
Prog shell
Prog shellProg shell
Prog shell
 
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
SO2 - Windows 7
SO2 - Windows 7SO2 - Windows 7
SO2 - Windows 7
 
Utilizando o open ssh
Utilizando o open   sshUtilizando o open   ssh
Utilizando o open ssh
 
Aula 4 Mini Curso de Linux
Aula 4 Mini Curso de LinuxAula 4 Mini Curso de Linux
Aula 4 Mini Curso de Linux
 
Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos...
Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos...Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos...
Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos...
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
 
CentOS
CentOSCentOS
CentOS
 
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
 
intro.pdf
intro.pdfintro.pdf
intro.pdf
 
Análise estática de código Python
Análise estática de código PythonAnálise estática de código Python
Análise estática de código Python
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 

O esquecido do PHP: CLI, Zend Engine, Streams e mais